Skip to content

Compute API Endpoints

Complete API reference for the Sartiq Compute API, organized by resource group.


Endpoint Groups

Group Description Endpoints
Tasks Generation and processing tasks 7
Training Model training jobs 3
Workflows Multi-step pipelines 5
Monitoring Queue and worker status 10
Storage Asset storage 2
Admin LoRA management and evaluation 5

Quick Reference

Base URL

https://compute-api.sartiq.com/api/v1

Authentication

All endpoints require API key authentication:

Authorization: Bearer <api_key>

Full Reference

For a complete, unsplit API reference:

Custom API 1.0.0

This is a very custom OpenAPI schema


Tasks


POST /api/v1/tasks/

Create Task

Description

Create and start a new task.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token

Request body

Schema of the request body
{
    "anyOf": [
        {
            "$ref": "#/components/schemas/CreateGenerationTask"
        },
        {
            "$ref": "#/components/schemas/CreateEditingTask"
        },
        {
            "$ref": "#/components/schemas/CreateRefineTask"
        },
        {
            "$ref": "#/components/schemas/CreateExperimentalFalTask"
        },
        {
            "$ref": "#/components/schemas/CreateVideoGenerationTask"
        },
        {
            "$ref": "#/components/schemas/CreateLLMInteractionTask"
        },
        {
            "$ref": "#/components/schemas/CreateBackgroundRemovalTask"
        },
        {
            "$ref": "#/components/schemas/CreateDetailEnhancerTask"
        },
        {
            "$ref": "#/components/schemas/CreateBackgroundFixTask"
        },
        {
            "$ref": "#/components/schemas/CreateImageAdjusterTask"
        },
        {
            "$ref": "#/components/schemas/CreateFaceEnhancerTask"
        },
        {
            "$ref": "#/components/schemas/CreateSegmenterTask"
        },
        {
            "$ref": "#/components/schemas/CreateTransformationsSolverTask"
        },
        {
            "$ref": "#/components/schemas/CreateImageTransformerTask"
        },
        {
            "$ref": "#/components/schemas/CreateBackgroundFixerTask"
        },
        {
            "$ref": "#/components/schemas/CreateCheckerTask"
        }
    ],
    "title": "Task Data"
}

Responses

Schema of the response body
{
    "anyOf": [
        {
            "$ref": "#/components/schemas/GenerationTaskPublic"
        },
        {
            "$ref": "#/components/schemas/EditingTaskPublic"
        },
        {
            "$ref": "#/components/schemas/RefineTaskPublic"
        },
        {
            "$ref": "#/components/schemas/ExperimentalFalTaskPublic"
        },
        {
            "$ref": "#/components/schemas/VideoGenerationTaskPublic"
        },
        {
            "$ref": "#/components/schemas/LLMInteractionTaskPublic"
        },
        {
            "$ref": "#/components/schemas/BackgroundRemovalTaskPublic"
        },
        {
            "$ref": "#/components/schemas/DetailEnhancerTaskPublic"
        },
        {
            "$ref": "#/components/schemas/BackgroundFixTaskPublic"
        },
        {
            "$ref": "#/components/schemas/ImageAdjusterTaskPublic"
        },
        {
            "$ref": "#/components/schemas/FaceEnhancerTaskPublic"
        },
        {
            "$ref": "#/components/schemas/SegmenterTaskPublic"
        },
        {
            "$ref": "#/components/schemas/TransformationsSolverTaskPublic"
        },
        {
            "$ref": "#/components/schemas/ImageTransformerTaskPublic"
        },
        {
            "$ref": "#/components/schemas/BackgroundFixerTaskPublic"
        },
        {
            "$ref": "#/components/schemas/CheckerTaskPublic"
        }
    ],
    "title": "Response Create Task"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/tasks/

List Tasks

Description

List tasks with optional filtering and pagination.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
limit query integer 100 No Maximum number of tasks to return
origin_instance query No Filter by origin instance
origin_tenant_id query No Filter by origin tenant ID
origin_zone query No Filter by origin zone
skip query integer 0 No Number of tasks to skip
status query No Filter by task status
task_type query No Filter by task type

Responses

[
    null
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "type": "array",
    "items": {
        "anyOf": [
            {
                "$ref": "#/components/schemas/GenerationTaskPublic"
            },
            {
                "$ref": "#/components/schemas/EditingTaskPublic"
            },
            {
                "$ref": "#/components/schemas/RefineTaskPublic"
            },
            {
                "$ref": "#/components/schemas/ExperimentalFalTaskPublic"
            },
            {
                "$ref": "#/components/schemas/VideoGenerationTaskPublic"
            },
            {
                "$ref": "#/components/schemas/LLMInteractionTaskPublic"
            },
            {
                "$ref": "#/components/schemas/BackgroundRemovalTaskPublic"
            },
            {
                "$ref": "#/components/schemas/DetailEnhancerTaskPublic"
            },
            {
                "$ref": "#/components/schemas/BackgroundFixTaskPublic"
            },
            {
                "$ref": "#/components/schemas/ImageAdjusterTaskPublic"
            },
            {
                "$ref": "#/components/schemas/FaceEnhancerTaskPublic"
            },
            {
                "$ref": "#/components/schemas/SegmenterTaskPublic"
            },
            {
                "$ref": "#/components/schemas/TransformationsSolverTaskPublic"
            },
            {
                "$ref": "#/components/schemas/ImageTransformerTaskPublic"
            },
            {
                "$ref": "#/components/schemas/BackgroundFixerTaskPublic"
            },
            {
                "$ref": "#/components/schemas/CheckerTaskPublic"
            }
        ]
    },
    "title": "Response List Tasks"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/tasks/generation

List Generation Tasks

Description

List generation tasks with optional filtering and pagination.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
limit query integer 100 No Maximum number of tasks to return
origin_instance query No Filter by origin instance
origin_tenant_id query No Filter by origin tenant ID
origin_zone query No Filter by origin zone
skip query integer 0 No Number of tasks to skip
status query No Filter by task status
workflow_id query No Filter by workflow ID

Responses

[
    {
        "task_type": "string",
        "priority": 0,
        "config": null,
        "origin_instance": "string",
        "origin_zone": null,
        "origin_tenant_id": null,
        "origin_reference": null,
        "id": "e2dbb0b4-089f-4dae-822a-390933ae6e2c",
        "created_at": "2022-04-13T15:42:05.901Z",
        "updated_at": "2022-04-13T15:42:05.901Z",
        "status": "PENDING",
        "started_at": null,
        "completed_at": null,
        "executor_type": null,
        "executor_instance": null,
        "celery_task_id": null,
        "service_task_id": null,
        "provider_type": null,
        "active_provider_capabilities": null,
        "fallback_provider_type": null,
        "fallback_provider_config": null,
        "fallback_provider_capabilities": null,
        "errors": null,
        "error_category": null,
        "retry_count": 0,
        "progress": 10.12,
        "provider_config": null,
        "subject_model_path": null,
        "product_model_path": null,
        "style_model_path": null,
        "product2_model_path": null,
        "subject_lora_weight": null,
        "product_lora_weight": null,
        "style_lora_weight": null,
        "product2_lora_weight": null,
        "workflow_id": null,
        "prompt": null,
        "width": null,
        "height": null,
        "seed": null,
        "result_image_path": null,
        "reference_image_path": null,
        "reference_image_strength": null,
        "fal_app_id": null,
        "fal_request_id": null
    }
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "type": "array",
    "items": {
        "$ref": "#/components/schemas/GenerationTaskPublic"
    },
    "title": "Response List Generation Tasks"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/tasks/{task_id}

Get Task

Description

Get a specific task by ID.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
task_id path string No

Responses

Schema of the response body
{
    "anyOf": [
        {
            "$ref": "#/components/schemas/GenerationTaskPublic"
        },
        {
            "$ref": "#/components/schemas/EditingTaskPublic"
        },
        {
            "$ref": "#/components/schemas/RefineTaskPublic"
        },
        {
            "$ref": "#/components/schemas/ExperimentalFalTaskPublic"
        },
        {
            "$ref": "#/components/schemas/VideoGenerationTaskPublic"
        },
        {
            "$ref": "#/components/schemas/LLMInteractionTaskPublic"
        },
        {
            "$ref": "#/components/schemas/BackgroundRemovalTaskPublic"
        },
        {
            "$ref": "#/components/schemas/DetailEnhancerTaskPublic"
        },
        {
            "$ref": "#/components/schemas/BackgroundFixTaskPublic"
        },
        {
            "$ref": "#/components/schemas/ImageAdjusterTaskPublic"
        },
        {
            "$ref": "#/components/schemas/FaceEnhancerTaskPublic"
        },
        {
            "$ref": "#/components/schemas/SegmenterTaskPublic"
        },
        {
            "$ref": "#/components/schemas/TransformationsSolverTaskPublic"
        },
        {
            "$ref": "#/components/schemas/ImageTransformerTaskPublic"
        },
        {
            "$ref": "#/components/schemas/BackgroundFixerTaskPublic"
        },
        {
            "$ref": "#/components/schemas/CheckerTaskPublic"
        }
    ],
    "title": "Response Get Task"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

PUT /api/v1/tasks/{task_id}

Update Task

Description

Update a specific task.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
task_id path string No

Request body

Schema of the request body
{
    "anyOf": [
        {
            "$ref": "#/components/schemas/GenerationTaskPublicUpdate"
        },
        {
            "$ref": "#/components/schemas/EditingTaskPublicUpdate"
        },
        {
            "$ref": "#/components/schemas/RefineTaskPublicUpdate"
        },
        {
            "$ref": "#/components/schemas/ExperimentalFalTaskPublicUpdate"
        },
        {
            "$ref": "#/components/schemas/VideoGenerationTaskPublicUpdate"
        },
        {
            "$ref": "#/components/schemas/LLMInteractionTaskPublicUpdate"
        },
        {
            "$ref": "#/components/schemas/BackgroundRemovalTaskPublicUpdate"
        },
        {
            "$ref": "#/components/schemas/DetailEnhancerTaskPublicUpdate"
        },
        {
            "$ref": "#/components/schemas/BackgroundFixTaskPublicUpdate"
        },
        {
            "$ref": "#/components/schemas/ImageAdjusterTaskPublicUpdate"
        },
        {
            "$ref": "#/components/schemas/FaceEnhancerTaskPublicUpdate"
        },
        {
            "$ref": "#/components/schemas/SegmenterTaskPublicUpdate"
        },
        {
            "$ref": "#/components/schemas/TransformationsSolverTaskPublicUpdate"
        },
        {
            "$ref": "#/components/schemas/ImageTransformerTaskPublicUpdate"
        },
        {
            "$ref": "#/components/schemas/BackgroundFixerTaskPublicUpdate"
        },
        {
            "$ref": "#/components/schemas/CheckerTaskPublicUpdate"
        }
    ],
    "title": "Update Data"
}

Responses

Schema of the response body
{
    "anyOf": [
        {
            "$ref": "#/components/schemas/GenerationTaskPublic"
        },
        {
            "$ref": "#/components/schemas/EditingTaskPublic"
        },
        {
            "$ref": "#/components/schemas/RefineTaskPublic"
        },
        {
            "$ref": "#/components/schemas/ExperimentalFalTaskPublic"
        },
        {
            "$ref": "#/components/schemas/VideoGenerationTaskPublic"
        },
        {
            "$ref": "#/components/schemas/LLMInteractionTaskPublic"
        },
        {
            "$ref": "#/components/schemas/BackgroundRemovalTaskPublic"
        },
        {
            "$ref": "#/components/schemas/DetailEnhancerTaskPublic"
        },
        {
            "$ref": "#/components/schemas/BackgroundFixTaskPublic"
        },
        {
            "$ref": "#/components/schemas/ImageAdjusterTaskPublic"
        },
        {
            "$ref": "#/components/schemas/FaceEnhancerTaskPublic"
        },
        {
            "$ref": "#/components/schemas/SegmenterTaskPublic"
        },
        {
            "$ref": "#/components/schemas/TransformationsSolverTaskPublic"
        },
        {
            "$ref": "#/components/schemas/ImageTransformerTaskPublic"
        },
        {
            "$ref": "#/components/schemas/BackgroundFixerTaskPublic"
        },
        {
            "$ref": "#/components/schemas/CheckerTaskPublic"
        }
    ],
    "title": "Response Update Task"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

DELETE /api/v1/tasks/{task_id}

Delete Task

Description

Delete a task and permanently remove its associated files.

This endpoint: 1. Permanently deletes all associated image files 2. Removes the task record from the database

For image-based tasks (EDITING, GENERATION, REFINE), this will permanently delete all files in: - editings/{task_id}/ for EDITING tasks - generations/{task_id}/ for GENERATION tasks - refines/{task_id}/ for REFINE tasks

Unlike /cleanup, this endpoint completely removes the task from the database (no audit trail).

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
task_id path string No

Responses

Schema of the response body
{
    "anyOf": [
        {
            "$ref": "#/components/schemas/GenerationTaskPublic"
        },
        {
            "$ref": "#/components/schemas/EditingTaskPublic"
        },
        {
            "$ref": "#/components/schemas/RefineTaskPublic"
        },
        {
            "$ref": "#/components/schemas/ExperimentalFalTaskPublic"
        },
        {
            "$ref": "#/components/schemas/VideoGenerationTaskPublic"
        },
        {
            "$ref": "#/components/schemas/LLMInteractionTaskPublic"
        },
        {
            "$ref": "#/components/schemas/BackgroundRemovalTaskPublic"
        },
        {
            "$ref": "#/components/schemas/DetailEnhancerTaskPublic"
        },
        {
            "$ref": "#/components/schemas/BackgroundFixTaskPublic"
        },
        {
            "$ref": "#/components/schemas/ImageAdjusterTaskPublic"
        },
        {
            "$ref": "#/components/schemas/FaceEnhancerTaskPublic"
        },
        {
            "$ref": "#/components/schemas/SegmenterTaskPublic"
        },
        {
            "$ref": "#/components/schemas/TransformationsSolverTaskPublic"
        },
        {
            "$ref": "#/components/schemas/ImageTransformerTaskPublic"
        },
        {
            "$ref": "#/components/schemas/BackgroundFixerTaskPublic"
        },
        {
            "$ref": "#/components/schemas/CheckerTaskPublic"
        }
    ],
    "title": "Response Delete Task"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

POST /api/v1/tasks/{task_id}/cleanup

Cleanup Task

Description

Clean up a task by marking it as deleted and permanently removing its files.

This endpoint: 1. Marks the task as deleted (is_deleted=True, deleted_at=now) 2. Permanently deletes all associated image files

For image-based tasks (EDITING, GENERATION, REFINE), this will permanently delete all files in: - editings/{task_id}/ for EDITING tasks - generations/{task_id}/ for GENERATION tasks - refines/{task_id}/ for REFINE tasks

The task record remains in the database for tracking and audit purposes.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
task_id path string No

Responses

Schema of the response body

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

POST /api/v1/tasks/{task_id}/cancel

Cancel Task

Description

Cancel a specific task.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
task_id path string No

Responses

Schema of the response body
{
    "anyOf": [
        {
            "$ref": "#/components/schemas/GenerationTaskPublic"
        },
        {
            "$ref": "#/components/schemas/EditingTaskPublic"
        },
        {
            "$ref": "#/components/schemas/RefineTaskPublic"
        },
        {
            "$ref": "#/components/schemas/ExperimentalFalTaskPublic"
        },
        {
            "$ref": "#/components/schemas/VideoGenerationTaskPublic"
        },
        {
            "$ref": "#/components/schemas/LLMInteractionTaskPublic"
        },
        {
            "$ref": "#/components/schemas/BackgroundRemovalTaskPublic"
        },
        {
            "$ref": "#/components/schemas/DetailEnhancerTaskPublic"
        },
        {
            "$ref": "#/components/schemas/BackgroundFixTaskPublic"
        },
        {
            "$ref": "#/components/schemas/ImageAdjusterTaskPublic"
        },
        {
            "$ref": "#/components/schemas/FaceEnhancerTaskPublic"
        },
        {
            "$ref": "#/components/schemas/SegmenterTaskPublic"
        },
        {
            "$ref": "#/components/schemas/TransformationsSolverTaskPublic"
        },
        {
            "$ref": "#/components/schemas/ImageTransformerTaskPublic"
        },
        {
            "$ref": "#/components/schemas/BackgroundFixerTaskPublic"
        },
        {
            "$ref": "#/components/schemas/CheckerTaskPublic"
        }
    ],
    "title": "Response Cancel Task"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

PUT /api/v1/tasks/generation/{task_id}

Update Generation Task

Description

Update a generation task with generation-specific fields.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
task_id path string No

Request body

{
    "status": null,
    "priority": null,
    "executor_type": null,
    "executor_instance": null,
    "errors": null,
    "config": null,
    "created_at": null,
    "updated_at": null,
    "task_type": null,
    "origin_instance": null,
    "origin_zone": null,
    "origin_tenant_id": null,
    "origin_reference": null,
    "started_at": null,
    "completed_at": null,
    "celery_task_id": null,
    "service_task_id": null,
    "retry_count": null,
    "progress": null,
    "is_resumed": null,
    "provider_type": null,
    "active_provider_capabilities": null,
    "queue_name": null,
    "fallback_provider_type": null,
    "fallback_provider_config": null,
    "fallback_provider_capabilities": null,
    "resume_attempt_count": null,
    "last_resume_attempt": null,
    "error_category": null,
    "service_requests": null,
    "fal_app_id": null,
    "fal_request_id": null,
    "subject_model_path": null,
    "product_model_path": null,
    "style_model_path": null,
    "product2_model_path": null,
    "subject_lora_weight": null,
    "product_lora_weight": null,
    "style_lora_weight": null,
    "product2_lora_weight": null,
    "reference_image_path": null,
    "reference_image_strength": null,
    "result_image_path": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "status": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/TaskStatus"
                },
                {
                    "type": "null"
                }
            ]
        },
        "priority": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Priority"
        },
        "executor_type": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Executor Type"
        },
        "executor_instance": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Executor Instance"
        },
        "errors": {
            "anyOf": [
                {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Errors"
        },
        "config": {
            "anyOf": [
                {
                    "additionalProperties": true,
                    "type": "object"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Config",
            "description": "Flexible configuration storage"
        },
        "created_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Created At",
            "description": "Task creation timestamp"
        },
        "updated_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Updated At",
            "description": "Task last update timestamp"
        },
        "task_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/TaskType"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Task type"
        },
        "origin_instance": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Instance",
            "description": "Task origin instance"
        },
        "origin_zone": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Zone",
            "description": "Task origin zone"
        },
        "origin_tenant_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Tenant Id",
            "description": "Task origin tenant ID"
        },
        "origin_reference": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Reference",
            "description": "Optional reference ID or string from the origin system"
        },
        "started_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Started At",
            "description": "Task start timestamp"
        },
        "completed_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Completed At",
            "description": "Task completion timestamp"
        },
        "celery_task_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Celery Task Id",
            "description": "Task Celery task ID"
        },
        "service_task_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Service Task Id",
            "description": "Task service task ID"
        },
        "retry_count": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Retry Count",
            "description": "Task retry count"
        },
        "progress": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Progress",
            "description": "Task progress (0.0 to 100.0)"
        },
        "is_resumed": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Is Resumed",
            "description": "Whether task is being resumed"
        },
        "provider_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ProviderType"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Provider type for task execution"
        },
        "active_provider_capabilities": {
            "anyOf": [
                {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Active Provider Capabilities",
            "description": "List of active capabilities for this task"
        },
        "queue_name": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Queue Name",
            "description": "Task queue name"
        },
        "fallback_provider_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ProviderType"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Fallback provider type"
        },
        "fallback_provider_config": {
            "anyOf": [
                {},
                {
                    "type": "null"
                }
            ],
            "title": "Fallback Provider Config",
            "description": "Fallback provider-specific config"
        },
        "fallback_provider_capabilities": {
            "anyOf": [
                {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Fallback Provider Capabilities",
            "description": "Fallback provider capabilities"
        },
        "resume_attempt_count": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Resume Attempt Count",
            "description": "Number of resume attempts"
        },
        "last_resume_attempt": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Last Resume Attempt",
            "description": "Last resume attempt timestamp"
        },
        "error_category": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ErrorCategory"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Error category classification"
        },
        "service_requests": {
            "anyOf": [
                {
                    "items": {
                        "additionalProperties": true,
                        "type": "object"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Service Requests",
            "description": "External service request log for observability"
        },
        "fal_app_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Fal App Id",
            "description": "FAL app ID"
        },
        "fal_request_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Fal Request Id",
            "description": "FAL request ID"
        },
        "subject_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Subject Model Path",
            "description": "Path to the subject model"
        },
        "product_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Product Model Path",
            "description": "Path to the product model"
        },
        "style_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Style Model Path",
            "description": "Path to the style model"
        },
        "product2_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Product2 Model Path",
            "description": "Path to the second product model"
        },
        "subject_lora_weight": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Subject Lora Weight",
            "description": "Subject LoRA weight"
        },
        "product_lora_weight": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Product Lora Weight",
            "description": "Product LoRA weight"
        },
        "style_lora_weight": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Style Lora Weight",
            "description": "Style LoRA weight"
        },
        "product2_lora_weight": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Product2 Lora Weight",
            "description": "Second product LoRA weight"
        },
        "reference_image_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Reference Image Path",
            "description": "Path to the reference image"
        },
        "reference_image_strength": {
            "anyOf": [
                {
                    "type": "number",
                    "maximum": 100.0,
                    "minimum": 0.0
                },
                {
                    "type": "null"
                }
            ],
            "title": "Reference Image Strength",
            "description": "Influence of the reference image on generation (0-100)"
        },
        "result_image_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Result Image Path",
            "description": "Path to the result image"
        }
    },
    "type": "object",
    "title": "GenerationTaskUpdate",
    "description": "Schema for updating generation task fields"
}

Responses

{
    "task_type": "string",
    "priority": 0,
    "config": null,
    "origin_instance": "string",
    "origin_zone": null,
    "origin_tenant_id": null,
    "origin_reference": null,
    "id": "d3f61f40-1be9-4dd7-ab94-a938455b960f",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "status": "PENDING",
    "started_at": null,
    "completed_at": null,
    "executor_type": null,
    "executor_instance": null,
    "celery_task_id": null,
    "service_task_id": null,
    "provider_type": null,
    "active_provider_capabilities": null,
    "fallback_provider_type": null,
    "fallback_provider_config": null,
    "fallback_provider_capabilities": null,
    "errors": null,
    "error_category": null,
    "retry_count": 0,
    "progress": 10.12,
    "provider_config": null,
    "subject_model_path": null,
    "product_model_path": null,
    "style_model_path": null,
    "product2_model_path": null,
    "subject_lora_weight": null,
    "product_lora_weight": null,
    "style_lora_weight": null,
    "product2_lora_weight": null,
    "workflow_id": null,
    "prompt": null,
    "width": null,
    "height": null,
    "seed": null,
    "result_image_path": null,
    "reference_image_path": null,
    "reference_image_strength": null,
    "fal_app_id": null,
    "fal_request_id": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "task_type": {
            "type": "string",
            "const": "GENERATION",
            "title": "Task Type",
            "default": "GENERATION"
        },
        "priority": {
            "type": "integer",
            "title": "Priority",
            "description": "Task priority"
        },
        "config": {
            "anyOf": [
                {
                    "additionalProperties": true,
                    "type": "object"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Config"
        },
        "origin_instance": {
            "type": "string",
            "title": "Origin Instance",
            "description": "Task origin instance"
        },
        "origin_zone": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Zone",
            "description": "Task origin zone"
        },
        "origin_tenant_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Tenant Id",
            "description": "Task origin tenant ID"
        },
        "origin_reference": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Reference",
            "description": "Optional reference ID or string from the origin system"
        },
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "status": {
            "$ref": "#/components/schemas/TaskStatus"
        },
        "started_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Started At"
        },
        "completed_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Completed At"
        },
        "executor_type": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Executor Type"
        },
        "executor_instance": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Executor Instance"
        },
        "celery_task_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Celery Task Id"
        },
        "service_task_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Service Task Id"
        },
        "provider_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ProviderType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "active_provider_capabilities": {
            "anyOf": [
                {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Active Provider Capabilities"
        },
        "fallback_provider_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ProviderType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "fallback_provider_config": {
            "anyOf": [
                {},
                {
                    "type": "null"
                }
            ],
            "title": "Fallback Provider Config"
        },
        "fallback_provider_capabilities": {
            "anyOf": [
                {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Fallback Provider Capabilities"
        },
        "errors": {
            "anyOf": [
                {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Errors"
        },
        "error_category": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ErrorCategory"
                },
                {
                    "type": "null"
                }
            ]
        },
        "retry_count": {
            "type": "integer",
            "title": "Retry Count",
            "default": 0
        },
        "progress": {
            "type": "number",
            "title": "Progress",
            "default": 0.0
        },
        "provider_config": {
            "anyOf": [
                {},
                {
                    "type": "null"
                }
            ],
            "title": "Provider Config"
        },
        "subject_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Subject Model Path"
        },
        "product_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Product Model Path"
        },
        "style_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Style Model Path"
        },
        "product2_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Product2 Model Path"
        },
        "subject_lora_weight": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Subject Lora Weight"
        },
        "product_lora_weight": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Product Lora Weight"
        },
        "style_lora_weight": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Style Lora Weight"
        },
        "product2_lora_weight": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Product2 Lora Weight"
        },
        "workflow_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Workflow Id"
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "width": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Width"
        },
        "height": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Height"
        },
        "seed": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Seed"
        },
        "result_image_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Result Image Path"
        },
        "reference_image_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Reference Image Path"
        },
        "reference_image_strength": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Reference Image Strength"
        },
        "fal_app_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Fal App Id",
            "description": "Get FAL app ID from provider config.",
            "readOnly": true
        },
        "fal_request_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Fal Request Id",
            "description": "Get FAL request ID from provider config.",
            "readOnly": true
        }
    },
    "type": "object",
    "required": [
        "priority",
        "origin_instance",
        "id",
        "created_at",
        "updated_at",
        "status",
        "fal_app_id",
        "fal_request_id"
    ],
    "title": "GenerationTaskPublic",
    "description": "Public generation task schema for API responses"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/tasks/generation/{task_id}

Get Generation Task

Description

Get a specific generation task by ID.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
task_id path string No

Responses

{
    "task_type": "string",
    "priority": 0,
    "config": null,
    "origin_instance": "string",
    "origin_zone": null,
    "origin_tenant_id": null,
    "origin_reference": null,
    "id": "7f5478b0-4185-4df6-8349-e1220452eb55",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "status": "PENDING",
    "started_at": null,
    "completed_at": null,
    "executor_type": null,
    "executor_instance": null,
    "celery_task_id": null,
    "service_task_id": null,
    "provider_type": null,
    "active_provider_capabilities": null,
    "fallback_provider_type": null,
    "fallback_provider_config": null,
    "fallback_provider_capabilities": null,
    "errors": null,
    "error_category": null,
    "retry_count": 0,
    "progress": 10.12,
    "provider_config": null,
    "subject_model_path": null,
    "product_model_path": null,
    "style_model_path": null,
    "product2_model_path": null,
    "subject_lora_weight": null,
    "product_lora_weight": null,
    "style_lora_weight": null,
    "product2_lora_weight": null,
    "workflow_id": null,
    "prompt": null,
    "width": null,
    "height": null,
    "seed": null,
    "result_image_path": null,
    "reference_image_path": null,
    "reference_image_strength": null,
    "fal_app_id": null,
    "fal_request_id": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "task_type": {
            "type": "string",
            "const": "GENERATION",
            "title": "Task Type",
            "default": "GENERATION"
        },
        "priority": {
            "type": "integer",
            "title": "Priority",
            "description": "Task priority"
        },
        "config": {
            "anyOf": [
                {
                    "additionalProperties": true,
                    "type": "object"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Config"
        },
        "origin_instance": {
            "type": "string",
            "title": "Origin Instance",
            "description": "Task origin instance"
        },
        "origin_zone": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Zone",
            "description": "Task origin zone"
        },
        "origin_tenant_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Tenant Id",
            "description": "Task origin tenant ID"
        },
        "origin_reference": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Reference",
            "description": "Optional reference ID or string from the origin system"
        },
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "status": {
            "$ref": "#/components/schemas/TaskStatus"
        },
        "started_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Started At"
        },
        "completed_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Completed At"
        },
        "executor_type": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Executor Type"
        },
        "executor_instance": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Executor Instance"
        },
        "celery_task_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Celery Task Id"
        },
        "service_task_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Service Task Id"
        },
        "provider_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ProviderType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "active_provider_capabilities": {
            "anyOf": [
                {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Active Provider Capabilities"
        },
        "fallback_provider_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ProviderType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "fallback_provider_config": {
            "anyOf": [
                {},
                {
                    "type": "null"
                }
            ],
            "title": "Fallback Provider Config"
        },
        "fallback_provider_capabilities": {
            "anyOf": [
                {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Fallback Provider Capabilities"
        },
        "errors": {
            "anyOf": [
                {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Errors"
        },
        "error_category": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ErrorCategory"
                },
                {
                    "type": "null"
                }
            ]
        },
        "retry_count": {
            "type": "integer",
            "title": "Retry Count",
            "default": 0
        },
        "progress": {
            "type": "number",
            "title": "Progress",
            "default": 0.0
        },
        "provider_config": {
            "anyOf": [
                {},
                {
                    "type": "null"
                }
            ],
            "title": "Provider Config"
        },
        "subject_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Subject Model Path"
        },
        "product_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Product Model Path"
        },
        "style_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Style Model Path"
        },
        "product2_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Product2 Model Path"
        },
        "subject_lora_weight": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Subject Lora Weight"
        },
        "product_lora_weight": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Product Lora Weight"
        },
        "style_lora_weight": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Style Lora Weight"
        },
        "product2_lora_weight": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Product2 Lora Weight"
        },
        "workflow_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Workflow Id"
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "width": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Width"
        },
        "height": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Height"
        },
        "seed": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Seed"
        },
        "result_image_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Result Image Path"
        },
        "reference_image_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Reference Image Path"
        },
        "reference_image_strength": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Reference Image Strength"
        },
        "fal_app_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Fal App Id",
            "description": "Get FAL app ID from provider config.",
            "readOnly": true
        },
        "fal_request_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Fal Request Id",
            "description": "Get FAL request ID from provider config.",
            "readOnly": true
        }
    },
    "type": "object",
    "required": [
        "priority",
        "origin_instance",
        "id",
        "created_at",
        "updated_at",
        "status",
        "fal_app_id",
        "fal_request_id"
    ],
    "title": "GenerationTaskPublic",
    "description": "Public generation task schema for API responses"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

POST /api/v1/tasks/generation/{task_id}/cancel

Cancel Generation Task

Description

Cancel a specific generation task.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
task_id path string No

Responses

{
    "task_type": "string",
    "priority": 0,
    "config": null,
    "origin_instance": "string",
    "origin_zone": null,
    "origin_tenant_id": null,
    "origin_reference": null,
    "id": "80e2906a-682e-4cf3-b589-5f53fd9d019d",
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "status": "PENDING",
    "started_at": null,
    "completed_at": null,
    "executor_type": null,
    "executor_instance": null,
    "celery_task_id": null,
    "service_task_id": null,
    "provider_type": null,
    "active_provider_capabilities": null,
    "fallback_provider_type": null,
    "fallback_provider_config": null,
    "fallback_provider_capabilities": null,
    "errors": null,
    "error_category": null,
    "retry_count": 0,
    "progress": 10.12,
    "provider_config": null,
    "subject_model_path": null,
    "product_model_path": null,
    "style_model_path": null,
    "product2_model_path": null,
    "subject_lora_weight": null,
    "product_lora_weight": null,
    "style_lora_weight": null,
    "product2_lora_weight": null,
    "workflow_id": null,
    "prompt": null,
    "width": null,
    "height": null,
    "seed": null,
    "result_image_path": null,
    "reference_image_path": null,
    "reference_image_strength": null,
    "fal_app_id": null,
    "fal_request_id": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "task_type": {
            "type": "string",
            "const": "GENERATION",
            "title": "Task Type",
            "default": "GENERATION"
        },
        "priority": {
            "type": "integer",
            "title": "Priority",
            "description": "Task priority"
        },
        "config": {
            "anyOf": [
                {
                    "additionalProperties": true,
                    "type": "object"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Config"
        },
        "origin_instance": {
            "type": "string",
            "title": "Origin Instance",
            "description": "Task origin instance"
        },
        "origin_zone": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Zone",
            "description": "Task origin zone"
        },
        "origin_tenant_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Tenant Id",
            "description": "Task origin tenant ID"
        },
        "origin_reference": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Reference",
            "description": "Optional reference ID or string from the origin system"
        },
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "status": {
            "$ref": "#/components/schemas/TaskStatus"
        },
        "started_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Started At"
        },
        "completed_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Completed At"
        },
        "executor_type": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Executor Type"
        },
        "executor_instance": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Executor Instance"
        },
        "celery_task_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Celery Task Id"
        },
        "service_task_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Service Task Id"
        },
        "provider_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ProviderType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "active_provider_capabilities": {
            "anyOf": [
                {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Active Provider Capabilities"
        },
        "fallback_provider_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ProviderType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "fallback_provider_config": {
            "anyOf": [
                {},
                {
                    "type": "null"
                }
            ],
            "title": "Fallback Provider Config"
        },
        "fallback_provider_capabilities": {
            "anyOf": [
                {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Fallback Provider Capabilities"
        },
        "errors": {
            "anyOf": [
                {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Errors"
        },
        "error_category": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ErrorCategory"
                },
                {
                    "type": "null"
                }
            ]
        },
        "retry_count": {
            "type": "integer",
            "title": "Retry Count",
            "default": 0
        },
        "progress": {
            "type": "number",
            "title": "Progress",
            "default": 0.0
        },
        "provider_config": {
            "anyOf": [
                {},
                {
                    "type": "null"
                }
            ],
            "title": "Provider Config"
        },
        "subject_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Subject Model Path"
        },
        "product_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Product Model Path"
        },
        "style_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Style Model Path"
        },
        "product2_model_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Product2 Model Path"
        },
        "subject_lora_weight": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Subject Lora Weight"
        },
        "product_lora_weight": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Product Lora Weight"
        },
        "style_lora_weight": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Style Lora Weight"
        },
        "product2_lora_weight": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Product2 Lora Weight"
        },
        "workflow_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Workflow Id"
        },
        "prompt": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Prompt"
        },
        "width": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Width"
        },
        "height": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Height"
        },
        "seed": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Seed"
        },
        "result_image_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Result Image Path"
        },
        "reference_image_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Reference Image Path"
        },
        "reference_image_strength": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Reference Image Strength"
        },
        "fal_app_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Fal App Id",
            "description": "Get FAL app ID from provider config.",
            "readOnly": true
        },
        "fal_request_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Fal Request Id",
            "description": "Get FAL request ID from provider config.",
            "readOnly": true
        }
    },
    "type": "object",
    "required": [
        "priority",
        "origin_instance",
        "id",
        "created_at",
        "updated_at",
        "status",
        "fal_app_id",
        "fal_request_id"
    ],
    "title": "GenerationTaskPublic",
    "description": "Public generation task schema for API responses"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

Storage


GET /api/v1/storage/images

List Images

Description

List stored images.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
limit query integer 100 No
prefix query string No

Responses

[
    "string"
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "type": "array",
    "items": {
        "type": "string"
    },
    "title": "Response List Images Api V1 Storage Images Get"
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/storage/images/{path}

Get Image

Description

Get image by path. Redirects to CDN when using R2 storage.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
path path string No

Responses

Schema of the response body

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

POST /api/v1/storage/images/{path}

Save Image

Description

Save image to storage.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
path path string No

Request body

{
    "file": "TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ="
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "file": {
            "type": "string",
            "format": "binary",
            "title": "File"
        }
    },
    "type": "object",
    "required": [
        "file"
    ],
    "title": "Body_save_image_api_v1_storage_images__path__post"
}

Responses

Schema of the response body

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

DELETE /api/v1/storage/images/{path}

Delete Image

Description

Delete image from storage.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
path path string No

Responses

Schema of the response body

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

HEAD /api/v1/storage/images/{path}

Check Image Exists

Description

Check if image exists.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
path path string No

Responses

Schema of the response body

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

evaluation


POST /api/v1/evaluation/

Evaluate Image

Description

Evaluate an image for comprehensive shot analysis.

Args: request: Image evaluation request with expected shot type evaluator: Injected ShotEvaluator instance

Returns: Comprehensive evaluation result including shot type, human presence, anatomy analysis, gender detection, and optional descriptions

Raises: HTTPException: If evaluation fails or service is unavailable

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
provider query No

Request body

{
    "image_data": null,
    "image_url": null,
    "expected_framing": "full_body",
    "expected_view_angle": "front",
    "expected_gender": null,
    "custom_instructions": null,
    "include_descriptions": true
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "image_data": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Image Data",
            "description": "Base64-encoded image data (data:image/jpeg;base64,... format)"
        },
        "image_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Image Url",
            "description": "URL to image file"
        },
        "expected_framing": {
            "$ref": "#/components/schemas/Framing",
            "description": "Expected framing type for the image"
        },
        "expected_view_angle": {
            "$ref": "#/components/schemas/ViewAngle",
            "description": "Expected view angle for the image"
        },
        "expected_gender": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/Gender"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Expected gender for the image",
            "default": "FEMALE"
        },
        "custom_instructions": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Custom Instructions",
            "description": "Custom instructions for the evaluation"
        },
        "include_descriptions": {
            "type": "boolean",
            "title": "Include Descriptions",
            "description": "Include garment and subject descriptions",
            "default": false
        }
    },
    "type": "object",
    "required": [
        "expected_framing",
        "expected_view_angle"
    ],
    "title": "EvaluationRequest",
    "description": "Schema for evaluation API requests."
}

Responses

{
    "success": true,
    "detected_framing": null,
    "detected_view_angle": null,
    "shot_type_confidence": null,
    "matches_expected": null,
    "human_detected": null,
    "number_of_people": null,
    "human_presence_confidence": null,
    "anatomy_correct": null,
    "anatomy_issues": null,
    "anatomy_confidence": null,
    "detected_gender": null,
    "gender_confidence": null,
    "garment_description": null,
    "subject_description": null,
    "scene_description": null,
    "collage_detected": null,
    "error": null,
    "evaluation_time_ms": null,
    "confidence_summary": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "success": {
            "type": "boolean",
            "title": "Success",
            "description": "Whether the evaluation was successful"
        },
        "detected_framing": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/Framing"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Detected framing type"
        },
        "detected_view_angle": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ViewAngle"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Detected view angle"
        },
        "shot_type_confidence": {
            "anyOf": [
                {
                    "type": "number",
                    "maximum": 1.0,
                    "minimum": 0.0
                },
                {
                    "type": "null"
                }
            ],
            "title": "Shot Type Confidence",
            "description": "Confidence score for shot type detection"
        },
        "matches_expected": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Matches Expected",
            "description": "Whether detected shot type matches expected"
        },
        "human_detected": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Human Detected",
            "description": "Whether humans were detected in the image"
        },
        "number_of_people": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Number Of People",
            "description": "Number of people detected"
        },
        "human_presence_confidence": {
            "anyOf": [
                {
                    "type": "number",
                    "maximum": 1.0,
                    "minimum": 0.0
                },
                {
                    "type": "null"
                }
            ],
            "title": "Human Presence Confidence",
            "description": "Confidence score for human detection"
        },
        "anatomy_correct": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Anatomy Correct",
            "description": "Whether anatomy appears correct"
        },
        "anatomy_issues": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/AnatomyIssue"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Anatomy Issues",
            "description": "List of detected anatomy issues"
        },
        "anatomy_confidence": {
            "anyOf": [
                {
                    "type": "number",
                    "maximum": 1.0,
                    "minimum": 0.0
                },
                {
                    "type": "null"
                }
            ],
            "title": "Anatomy Confidence",
            "description": "Confidence score for anatomy analysis"
        },
        "detected_gender": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/Gender"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Detected gender"
        },
        "gender_confidence": {
            "anyOf": [
                {
                    "type": "number",
                    "maximum": 1.0,
                    "minimum": 0.0
                },
                {
                    "type": "null"
                }
            ],
            "title": "Gender Confidence",
            "description": "Confidence score for gender detection"
        },
        "garment_description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Garment Description",
            "description": "Description of garments in the image"
        },
        "subject_description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Subject Description",
            "description": "Description of the subject"
        },
        "scene_description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Scene Description",
            "description": "Description of the scene"
        },
        "collage_detected": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Collage Detected",
            "description": "Whether a collage or stitched image was detected"
        },
        "error": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Error",
            "description": "Error message if evaluation failed"
        },
        "evaluation_time_ms": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Evaluation Time Ms",
            "description": "Time taken for evaluation in milliseconds"
        },
        "confidence_summary": {
            "anyOf": [
                {
                    "type": "number",
                    "maximum": 1.0,
                    "minimum": 0.0
                },
                {
                    "type": "null"
                }
            ],
            "title": "Confidence Summary",
            "description": "Average confidence across all evaluations"
        }
    },
    "type": "object",
    "required": [
        "success"
    ],
    "title": "EvaluationResponse",
    "description": "Schema for evaluation API responses."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/evaluation/health

Get Evaluator Health

Description

Get evaluator health status and metrics.

Args: evaluator: Injected ShotEvaluator instance

Returns: Current health status and performance metrics

Raises: HTTPException: If health check fails

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
provider query No

Responses

{
    "is_healthy": true,
    "health_score": 10.12,
    "total_evaluations": 0,
    "success_rate": 10.12,
    "average_response_time": 10.12,
    "circuit_breaker_state": "string"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "is_healthy": {
            "type": "boolean",
            "title": "Is Healthy",
            "description": "Whether the evaluator is healthy"
        },
        "health_score": {
            "type": "number",
            "maximum": 1.0,
            "minimum": 0.0,
            "title": "Health Score",
            "description": "Health score (0.0-1.0)"
        },
        "total_evaluations": {
            "type": "integer",
            "title": "Total Evaluations",
            "description": "Total number of evaluations performed"
        },
        "success_rate": {
            "type": "number",
            "maximum": 1.0,
            "minimum": 0.0,
            "title": "Success Rate",
            "description": "Success rate (0.0-1.0)"
        },
        "average_response_time": {
            "type": "number",
            "title": "Average Response Time",
            "description": "Average response time in seconds"
        },
        "circuit_breaker_state": {
            "type": "string",
            "title": "Circuit Breaker State",
            "description": "Circuit breaker state"
        }
    },
    "type": "object",
    "required": [
        "is_healthy",
        "health_score",
        "total_evaluations",
        "success_rate",
        "average_response_time",
        "circuit_breaker_state"
    ],
    "title": "HealthStatus",
    "description": "Schema for evaluator health status."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

admin


POST /api/v1/admin/lora/upload

Upload a LoRA model file (Admin)

Description

Upload a LoRA (Low-Rank Adaptation) model file to the compute server.

This is the admin-protected version of the LoRA upload endpoint.

The file will be stored in the directory `/data/models/loras/{entity_type}/`
with a safe filename. When `use_safe_filename` is True (default), duplicate files
will be automatically versioned (e.g., filename_v2.safetensors). When False,
duplicate files will result in an error.

**Supported file formats:** .safetensors, .ckpt, .pt, .pth, .bin
**Maximum file size:** 500MB
**Supported entity types:** clothes, identities, product, styles, faces

**Security:** Requires admin authentication token.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token

Request body

{
    "file": "TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=",
    "entity_type": null,
    "use_safe_filename": true
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "file": {
            "type": "string",
            "format": "binary",
            "title": "File",
            "description": "The LoRA model file to upload"
        },
        "entity_type": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Entity Type",
            "description": "The entity type (clothes, faces, identities, product, styles)"
        },
        "use_safe_filename": {
            "type": "boolean",
            "title": "Use Safe Filename",
            "description": "Whether to enable automatic versioning for duplicate filenames",
            "default": true
        }
    },
    "type": "object",
    "required": [
        "file"
    ],
    "title": "Body_admin_upload_lora"
}

Responses

{
    "file_path": "/data/models/loras/identities/my_lora.safetensors",
    "partial_path": "identities/my_lora.safetensors",
    "filename": "my_lora.safetensors",
    "file_size": 142857,
    "entity_type": "identities",
    "upload_timestamp": "2024-01-01T12:00:00Z"
}
Schema of the response body
{
    "properties": {
        "file_path": {
            "type": "string",
            "title": "File Path",
            "description": "Full path where the file was saved",
            "example": "/data/models/loras/identities/my_lora.safetensors"
        },
        "partial_path": {
            "type": "string",
            "title": "Partial Path",
            "description": "Relative path within the LoRA directory",
            "example": "identities/my_lora.safetensors"
        },
        "filename": {
            "type": "string",
            "title": "Filename",
            "description": "Original filename",
            "example": "my_lora.safetensors"
        },
        "file_size": {
            "type": "integer",
            "title": "File Size",
            "description": "Size of the uploaded file in bytes",
            "example": 142857
        },
        "entity_type": {
            "type": "string",
            "title": "Entity Type",
            "description": "The entity type category",
            "example": "identities"
        },
        "upload_timestamp": {
            "type": "string",
            "title": "Upload Timestamp",
            "description": "ISO format timestamp of when the file was uploaded",
            "example": "2024-01-01T12:00:00Z"
        }
    },
    "type": "object",
    "required": [
        "file_path",
        "partial_path",
        "filename",
        "file_size",
        "entity_type",
        "upload_timestamp"
    ],
    "title": "AdminLoRAUploadResponse",
    "description": "Response model for admin LoRA upload."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

DELETE /api/v1/admin/lora

Delete a LoRA model file (Admin)

Description

Delete a LoRA model file using its partial path (as returned by upload).

This endpoint follows the same pattern as the upload endpoint - the backend
passes the partial path (e.g., "identities/Sh0ot1f1_01.safetensors") and
the compute server handles the full path mapping internally.

The file is moved to a bin folder for safe recovery if needed.

**Security:** Requires admin authentication token.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token

Request body

{
    "partial_path": "identities/Sh0ot1f1_01.safetensors"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "partial_path": {
            "type": "string",
            "title": "Partial Path",
            "description": "Relative path of the LoRA file (as returned by upload)",
            "example": "identities/Sh0ot1f1_01.safetensors"
        }
    },
    "type": "object",
    "required": [
        "partial_path"
    ],
    "title": "LoRADeleteRequest",
    "description": "Request model for deleting a LoRA model file."
}

Responses

{
    "deleted": true,
    "full_path": "/data/models/loras/identities/Sh0ot1f1_01.safetensors",
    "bin_path": "/data/bin/models/loras/identities/Sh0ot1f1_01.safetensors",
    "timestamp": "2024-01-01T12:00:00Z"
}
Schema of the response body
{
    "properties": {
        "deleted": {
            "type": "boolean",
            "title": "Deleted",
            "description": "Whether the file was successfully deleted"
        },
        "full_path": {
            "type": "string",
            "title": "Full Path",
            "description": "Full path of the deleted file",
            "example": "/data/models/loras/identities/Sh0ot1f1_01.safetensors"
        },
        "bin_path": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Bin Path",
            "description": "Path where the file was moved in the bin",
            "example": "/data/bin/models/loras/identities/Sh0ot1f1_01.safetensors"
        },
        "timestamp": {
            "type": "string",
            "title": "Timestamp",
            "description": "ISO format timestamp of the deletion",
            "example": "2024-01-01T12:00:00Z"
        }
    },
    "type": "object",
    "required": [
        "deleted",
        "full_path",
        "timestamp"
    ],
    "title": "LoRADeleteResponse",
    "description": "Response model for LoRA deletion."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

lora


POST /api/v1/lora/upload

Upload a LoRA model file

Description

Upload a LoRA (Low-Rank Adaptation) model file to the compute server.

The file will be stored in the directory `/data/models/loras/{entity_type}/`
with a safe filename. When `use_safe_filename` is True (default), duplicate files
will be automatically versioned (e.g., filename_v2.safetensors). When False,
duplicate files will result in an error.

**Supported file formats:** .safetensors, .ckpt, .pt, .pth, .bin
**Maximum file size:** 500MB
**Supported entity types:** clothes, identities, product, styles

The endpoint accepts multipart/form-data with the following fields:
- `file`: The LoRA model file (required)
- `entity_type`: The entity type (optional, defaults to 'no_type_provided')
- `use_safe_filename`: Whether to enable automatic versioning for duplicates (default: true)

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token

Request body

{
    "file": "TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=",
    "entity_type": null,
    "use_safe_filename": true
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "file": {
            "type": "string",
            "format": "binary",
            "title": "File",
            "description": "The LoRA model file to upload"
        },
        "entity_type": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Entity Type",
            "description": "The entity type (clothes, identities, product, styles)"
        },
        "use_safe_filename": {
            "type": "boolean",
            "title": "Use Safe Filename",
            "description": "Whether to enable automatic versioning for duplicate filenames",
            "default": true
        }
    },
    "type": "object",
    "required": [
        "file"
    ],
    "title": "Body_upload_lora"
}

Responses

{
    "file_path": "/data/models/loras/identities/my_lora.safetensors",
    "partial_path": "identities/my_lora.safetensors",
    "filename": "my_lora.safetensors",
    "file_size": 142857,
    "upload_timestamp": "2024-01-01T12:00:00Z"
}
Schema of the response body
{
    "properties": {
        "file_path": {
            "type": "string",
            "title": "File Path",
            "description": "Full path where the LoRA file was stored"
        },
        "partial_path": {
            "type": "string",
            "title": "Partial Path",
            "description": "Partial path relative to base models directory (e.g., 'identities/lora_name.safetensors')"
        },
        "filename": {
            "type": "string",
            "title": "Filename",
            "description": "Original filename of the uploaded file"
        },
        "file_size": {
            "type": "integer",
            "title": "File Size",
            "description": "Size of the uploaded file in bytes"
        },
        "upload_timestamp": {
            "type": "string",
            "title": "Upload Timestamp",
            "description": "ISO timestamp of when the file was uploaded"
        }
    },
    "type": "object",
    "required": [
        "file_path",
        "partial_path",
        "filename",
        "file_size",
        "upload_timestamp"
    ],
    "title": "LoRAUploadResponse",
    "description": "Response model for LoRA upload endpoint."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

workflows


POST /api/v1/workflows/validate

Validate Workflow Definition

Description

Validate a workflow definition without creating DB rows or files.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token

Request body

{
    "description": "Generate and refine fashion images",
    "name": "Fashion Image Pipeline",
    "origin_instance": "api-prod",
    "steps": [
        {
            "config": {
                "height": 1024,
                "prompt": "fashion model wearing elegant dress",
                "width": 1024
            },
            "id": "generate",
            "task_type": "GENERATION"
        },
        {
            "config": {
                "upscale_factor": 2.0
            },
            "depends_on": [
                "generate"
            ],
            "id": "refine",
            "input_mappings": [
                {
                    "from_field": "result_image_path",
                    "from_step": "generate",
                    "to_field": "base_image_url"
                }
            ],
            "task_type": "REFINE"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Id",
            "description": "Optional caller-assigned ID used to make workflow creation idempotent"
        },
        "name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "title": "Name",
            "description": "Human-readable workflow name"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 1000
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description",
            "description": "Optional workflow description"
        },
        "steps": {
            "items": {
                "$ref": "#/components/schemas/WorkflowStepDefinition"
            },
            "type": "array",
            "minItems": 1,
            "title": "Steps",
            "description": "List of steps defining the workflow DAG"
        },
        "config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Config",
            "description": "Global workflow configuration"
        },
        "origin_instance": {
            "type": "string",
            "maxLength": 100,
            "minLength": 1,
            "title": "Origin Instance",
            "description": "Origin instance identifier"
        },
        "origin_zone": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 50
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Zone",
            "description": "Origin zone identifier"
        },
        "origin_tenant_id": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 100
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Tenant Id",
            "description": "Tenant identifier for multi-tenant setups"
        },
        "origin_reference": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 512
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Reference",
            "description": "External reference ID for tracking"
        },
        "webhook_url": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 512
                },
                {
                    "type": "null"
                }
            ],
            "title": "Webhook Url",
            "description": "URL to call when workflow completes"
        },
        "suppress_subtask_events": {
            "type": "boolean",
            "title": "Suppress Subtask Events",
            "description": "Whether to suppress individual task events",
            "default": true
        }
    },
    "type": "object",
    "required": [
        "name",
        "steps",
        "origin_instance"
    ],
    "title": "CreateWorkflow",
    "description": "Schema for creating a new workflow.",
    "example": {
        "description": "Generate and refine fashion images",
        "name": "Fashion Image Pipeline",
        "origin_instance": "api-prod",
        "steps": [
            {
                "config": {
                    "height": 1024,
                    "prompt": "fashion model wearing elegant dress",
                    "width": 1024
                },
                "id": "generate",
                "task_type": "GENERATION"
            },
            {
                "config": {
                    "upscale_factor": 2.0
                },
                "depends_on": [
                    "generate"
                ],
                "id": "refine",
                "input_mappings": [
                    {
                        "from_field": "result_image_path",
                        "from_step": "generate",
                        "to_field": "base_image_url"
                    }
                ],
                "task_type": "REFINE"
            }
        ]
    }
}

Responses

{
    "valid": true,
    "errors": [
        "string"
    ],
    "errors_detail": [
        {
            "step_id": null,
            "field": null,
            "code": "dag_structure",
            "message": "string"
        }
    ],
    "warnings": [
        {
            "step_id": null,
            "code": "unknown_config_keys",
            "message": "string"
        }
    ],
    "terminal_step_id": null,
    "execution_levels": [
        [
            "string"
        ]
    ],
    "resolved_queues": {}
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "valid": {
            "type": "boolean",
            "title": "Valid"
        },
        "errors": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Errors"
        },
        "errors_detail": {
            "items": {
                "$ref": "#/components/schemas/WorkflowValidateErrorDetail"
            },
            "type": "array",
            "title": "Errors Detail"
        },
        "warnings": {
            "items": {
                "$ref": "#/components/schemas/WorkflowValidateWarning"
            },
            "type": "array",
            "title": "Warnings"
        },
        "terminal_step_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Terminal Step Id"
        },
        "execution_levels": {
            "items": {
                "items": {
                    "type": "string"
                },
                "type": "array"
            },
            "type": "array",
            "title": "Execution Levels"
        },
        "resolved_queues": {
            "additionalProperties": {
                "type": "string"
            },
            "type": "object",
            "title": "Resolved Queues"
        }
    },
    "type": "object",
    "required": [
        "valid",
        "errors",
        "errors_detail",
        "warnings",
        "terminal_step_id",
        "execution_levels",
        "resolved_queues"
    ],
    "title": "WorkflowValidateResponse",
    "description": "Response from the workflow validate-only endpoint."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

POST /api/v1/workflows/

Create Workflow

Description

Create a new workflow.

Creates a workflow from the provided definition. If start=True (default), the workflow will be started immediately after creation.

The workflow definition must include: - name: Human-readable name - steps: List of step definitions forming a DAG - origin_instance: Identifier for the calling system

Each step must specify: - id: Unique identifier within the workflow - task_type: Type of task (GENERATION, REFINE, etc.) - config: Task-specific configuration - depends_on: (optional) List of step IDs this step depends on - input_mappings: (optional) How to map outputs from previous steps

Returns the created workflow with all steps.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
start query boolean True No Start workflow immediately after creation

Request body

{
    "description": "Generate and refine fashion images",
    "name": "Fashion Image Pipeline",
    "origin_instance": "api-prod",
    "steps": [
        {
            "config": {
                "height": 1024,
                "prompt": "fashion model wearing elegant dress",
                "width": 1024
            },
            "id": "generate",
            "task_type": "GENERATION"
        },
        {
            "config": {
                "upscale_factor": 2.0
            },
            "depends_on": [
                "generate"
            ],
            "id": "refine",
            "input_mappings": [
                {
                    "from_field": "result_image_path",
                    "from_step": "generate",
                    "to_field": "base_image_url"
                }
            ],
            "task_type": "REFINE"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Id",
            "description": "Optional caller-assigned ID used to make workflow creation idempotent"
        },
        "name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "title": "Name",
            "description": "Human-readable workflow name"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 1000
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description",
            "description": "Optional workflow description"
        },
        "steps": {
            "items": {
                "$ref": "#/components/schemas/WorkflowStepDefinition"
            },
            "type": "array",
            "minItems": 1,
            "title": "Steps",
            "description": "List of steps defining the workflow DAG"
        },
        "config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Config",
            "description": "Global workflow configuration"
        },
        "origin_instance": {
            "type": "string",
            "maxLength": 100,
            "minLength": 1,
            "title": "Origin Instance",
            "description": "Origin instance identifier"
        },
        "origin_zone": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 50
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Zone",
            "description": "Origin zone identifier"
        },
        "origin_tenant_id": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 100
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Tenant Id",
            "description": "Tenant identifier for multi-tenant setups"
        },
        "origin_reference": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 512
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Reference",
            "description": "External reference ID for tracking"
        },
        "webhook_url": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 512
                },
                {
                    "type": "null"
                }
            ],
            "title": "Webhook Url",
            "description": "URL to call when workflow completes"
        },
        "suppress_subtask_events": {
            "type": "boolean",
            "title": "Suppress Subtask Events",
            "description": "Whether to suppress individual task events",
            "default": true
        }
    },
    "type": "object",
    "required": [
        "name",
        "steps",
        "origin_instance"
    ],
    "title": "CreateWorkflow",
    "description": "Schema for creating a new workflow.",
    "example": {
        "description": "Generate and refine fashion images",
        "name": "Fashion Image Pipeline",
        "origin_instance": "api-prod",
        "steps": [
            {
                "config": {
                    "height": 1024,
                    "prompt": "fashion model wearing elegant dress",
                    "width": 1024
                },
                "id": "generate",
                "task_type": "GENERATION"
            },
            {
                "config": {
                    "upscale_factor": 2.0
                },
                "depends_on": [
                    "generate"
                ],
                "id": "refine",
                "input_mappings": [
                    {
                        "from_field": "result_image_path",
                        "from_step": "generate",
                        "to_field": "base_image_url"
                    }
                ],
                "task_type": "REFINE"
            }
        ]
    }
}

Responses

{
    "id": "314a8f17-3677-463a-8e55-93ef18c45338",
    "name": "string",
    "description": null,
    "status": "PENDING",
    "total_steps": 0,
    "completed_steps": 0,
    "progress": 10.12,
    "current_step": null,
    "final_step_id": null,
    "final_step_result": null,
    "canvas_task_id": null,
    "config": {},
    "suppress_subtask_events": true,
    "origin_instance": "string",
    "origin_zone": null,
    "origin_tenant_id": null,
    "origin_reference": null,
    "webhook_url": null,
    "error_message": null,
    "errors": [
        "string"
    ],
    "started_at": null,
    "completed_at": null,
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "is_deleted": true,
    "deleted_at": null,
    "steps": [
        {
            "id": "430cfccc-ea29-4db3-85f7-afa1df0a6bf7",
            "step_id": "string",
            "task_type": "string",
            "node_type": null,
            "node_schema_version": 0,
            "config": {},
            "provider_config": null,
            "active_provider_capabilities": null,
            "fallback_provider_type": null,
            "fallback_provider_config": null,
            "fallback_provider_capabilities": null,
            "dependencies": [
                "string"
            ],
            "input_mappings": [
                {}
            ],
            "status": "PENDING",
            "task_id": null,
            "result": null,
            "error_message": null,
            "started_at": null,
            "completed_at": null,
            "retry_count": 0,
            "max_retries": 0,
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "status": {
            "$ref": "#/components/schemas/WorkflowStatus"
        },
        "total_steps": {
            "type": "integer",
            "title": "Total Steps"
        },
        "completed_steps": {
            "type": "integer",
            "title": "Completed Steps"
        },
        "progress": {
            "type": "number",
            "title": "Progress"
        },
        "current_step": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Current Step"
        },
        "final_step_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Final Step Id"
        },
        "final_step_result": {
            "anyOf": [
                {
                    "additionalProperties": true,
                    "type": "object"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Final Step Result"
        },
        "canvas_task_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Canvas Task Id"
        },
        "config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Config"
        },
        "suppress_subtask_events": {
            "type": "boolean",
            "title": "Suppress Subtask Events"
        },
        "origin_instance": {
            "type": "string",
            "title": "Origin Instance"
        },
        "origin_zone": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Zone"
        },
        "origin_tenant_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Tenant Id"
        },
        "origin_reference": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Reference"
        },
        "webhook_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Webhook Url"
        },
        "error_message": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Error Message"
        },
        "errors": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Errors"
        },
        "started_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Started At"
        },
        "completed_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Completed At"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "is_deleted": {
            "type": "boolean",
            "title": "Is Deleted",
            "default": false
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "steps": {
            "items": {
                "$ref": "#/components/schemas/WorkflowStepPublic"
            },
            "type": "array",
            "title": "Steps"
        }
    },
    "type": "object",
    "required": [
        "id",
        "name",
        "status",
        "total_steps",
        "completed_steps",
        "progress",
        "config",
        "suppress_subtask_events",
        "origin_instance",
        "errors",
        "created_at",
        "updated_at"
    ],
    "title": "WorkflowPublic",
    "description": "Public representation of a workflow."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/workflows/

List Workflows

Description

List workflows with filtering and pagination.

Supports filtering by: - status: Filter by workflow status - origin_instance: Filter by origin system - origin_tenant_id: Filter by tenant - include_deleted: Include soft-deleted workflows (default: False)

Results are ordered by creation date (newest first).

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
include_deleted query boolean False No Include deleted workflows
limit query integer 50 No
origin_instance query No
origin_tenant_id query No
skip query integer 0 No
status query No

Responses

{
    "workflows": [
        {
            "id": "b8e219a3-a826-4dca-b2c2-fdddfc63d291",
            "name": "string",
            "description": null,
            "status": "PENDING",
            "total_steps": 0,
            "completed_steps": 0,
            "progress": 10.12,
            "current_step": null,
            "final_step_id": null,
            "final_step_result": null,
            "canvas_task_id": null,
            "config": {},
            "suppress_subtask_events": true,
            "origin_instance": "string",
            "origin_zone": null,
            "origin_tenant_id": null,
            "origin_reference": null,
            "webhook_url": null,
            "error_message": null,
            "errors": [
                "string"
            ],
            "started_at": null,
            "completed_at": null,
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z",
            "is_deleted": true,
            "deleted_at": null,
            "steps": [
                {
                    "id": "f6b6261e-b313-49de-897e-fe581b445e2a",
                    "step_id": "string",
                    "task_type": "string",
                    "node_type": null,
                    "node_schema_version": 0,
                    "config": {},
                    "provider_config": null,
                    "active_provider_capabilities": null,
                    "fallback_provider_type": null,
                    "fallback_provider_config": null,
                    "fallback_provider_capabilities": null,
                    "dependencies": [
                        "string"
                    ],
                    "input_mappings": [
                        {}
                    ],
                    "status": "PENDING",
                    "task_id": null,
                    "result": null,
                    "error_message": null,
                    "started_at": null,
                    "completed_at": null,
                    "retry_count": 0,
                    "max_retries": 0,
                    "created_at": "2022-04-13T15:42:05.901Z",
                    "updated_at": "2022-04-13T15:42:05.901Z"
                }
            ]
        }
    ],
    "total": 0,
    "skip": 0,
    "limit": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "workflows": {
            "items": {
                "$ref": "#/components/schemas/WorkflowPublic"
            },
            "type": "array",
            "title": "Workflows"
        },
        "total": {
            "type": "integer",
            "title": "Total"
        },
        "skip": {
            "type": "integer",
            "title": "Skip"
        },
        "limit": {
            "type": "integer",
            "title": "Limit"
        }
    },
    "type": "object",
    "required": [
        "workflows",
        "total",
        "skip",
        "limit"
    ],
    "title": "WorkflowListResponse",
    "description": "Response schema for listing workflows."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/workflows/{workflow_id}

Get Workflow

Description

Get a workflow by ID.

Returns the workflow with all its steps and their current status.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
workflow_id path string No

Responses

{
    "id": "b0ec691b-7dd0-442e-8e88-3fd1d5b194ff",
    "name": "string",
    "description": null,
    "status": "PENDING",
    "total_steps": 0,
    "completed_steps": 0,
    "progress": 10.12,
    "current_step": null,
    "final_step_id": null,
    "final_step_result": null,
    "canvas_task_id": null,
    "config": {},
    "suppress_subtask_events": true,
    "origin_instance": "string",
    "origin_zone": null,
    "origin_tenant_id": null,
    "origin_reference": null,
    "webhook_url": null,
    "error_message": null,
    "errors": [
        "string"
    ],
    "started_at": null,
    "completed_at": null,
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "is_deleted": true,
    "deleted_at": null,
    "steps": [
        {
            "id": "2a989ada-263c-4f4a-9595-26531701e83c",
            "step_id": "string",
            "task_type": "string",
            "node_type": null,
            "node_schema_version": 0,
            "config": {},
            "provider_config": null,
            "active_provider_capabilities": null,
            "fallback_provider_type": null,
            "fallback_provider_config": null,
            "fallback_provider_capabilities": null,
            "dependencies": [
                "string"
            ],
            "input_mappings": [
                {}
            ],
            "status": "PENDING",
            "task_id": null,
            "result": null,
            "error_message": null,
            "started_at": null,
            "completed_at": null,
            "retry_count": 0,
            "max_retries": 0,
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "status": {
            "$ref": "#/components/schemas/WorkflowStatus"
        },
        "total_steps": {
            "type": "integer",
            "title": "Total Steps"
        },
        "completed_steps": {
            "type": "integer",
            "title": "Completed Steps"
        },
        "progress": {
            "type": "number",
            "title": "Progress"
        },
        "current_step": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Current Step"
        },
        "final_step_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Final Step Id"
        },
        "final_step_result": {
            "anyOf": [
                {
                    "additionalProperties": true,
                    "type": "object"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Final Step Result"
        },
        "canvas_task_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Canvas Task Id"
        },
        "config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Config"
        },
        "suppress_subtask_events": {
            "type": "boolean",
            "title": "Suppress Subtask Events"
        },
        "origin_instance": {
            "type": "string",
            "title": "Origin Instance"
        },
        "origin_zone": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Zone"
        },
        "origin_tenant_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Tenant Id"
        },
        "origin_reference": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Reference"
        },
        "webhook_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Webhook Url"
        },
        "error_message": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Error Message"
        },
        "errors": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Errors"
        },
        "started_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Started At"
        },
        "completed_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Completed At"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "is_deleted": {
            "type": "boolean",
            "title": "Is Deleted",
            "default": false
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "steps": {
            "items": {
                "$ref": "#/components/schemas/WorkflowStepPublic"
            },
            "type": "array",
            "title": "Steps"
        }
    },
    "type": "object",
    "required": [
        "id",
        "name",
        "status",
        "total_steps",
        "completed_steps",
        "progress",
        "config",
        "suppress_subtask_events",
        "origin_instance",
        "errors",
        "created_at",
        "updated_at"
    ],
    "title": "WorkflowPublic",
    "description": "Public representation of a workflow."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

PATCH /api/v1/workflows/{workflow_id}

Update Workflow

Description

Update workflow metadata.

Can update: - name - description - webhook_url

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
workflow_id path string No

Request body

{
    "name": null,
    "description": null,
    "webhook_url": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "name": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                },
                {
                    "type": "null"
                }
            ],
            "title": "Name"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 1000
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "webhook_url": {
            "anyOf": [
                {
                    "type": "string",
                    "maxLength": 512
                },
                {
                    "type": "null"
                }
            ],
            "title": "Webhook Url"
        }
    },
    "type": "object",
    "title": "WorkflowUpdate",
    "description": "Schema for updating a workflow."
}

Responses

{
    "id": "a5d9dea7-be03-4dc9-aef2-3c48126762fa",
    "name": "string",
    "description": null,
    "status": "PENDING",
    "total_steps": 0,
    "completed_steps": 0,
    "progress": 10.12,
    "current_step": null,
    "final_step_id": null,
    "final_step_result": null,
    "canvas_task_id": null,
    "config": {},
    "suppress_subtask_events": true,
    "origin_instance": "string",
    "origin_zone": null,
    "origin_tenant_id": null,
    "origin_reference": null,
    "webhook_url": null,
    "error_message": null,
    "errors": [
        "string"
    ],
    "started_at": null,
    "completed_at": null,
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "is_deleted": true,
    "deleted_at": null,
    "steps": [
        {
            "id": "c6f9f878-d7e9-41bf-b722-131bddc94393",
            "step_id": "string",
            "task_type": "string",
            "node_type": null,
            "node_schema_version": 0,
            "config": {},
            "provider_config": null,
            "active_provider_capabilities": null,
            "fallback_provider_type": null,
            "fallback_provider_config": null,
            "fallback_provider_capabilities": null,
            "dependencies": [
                "string"
            ],
            "input_mappings": [
                {}
            ],
            "status": "PENDING",
            "task_id": null,
            "result": null,
            "error_message": null,
            "started_at": null,
            "completed_at": null,
            "retry_count": 0,
            "max_retries": 0,
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "status": {
            "$ref": "#/components/schemas/WorkflowStatus"
        },
        "total_steps": {
            "type": "integer",
            "title": "Total Steps"
        },
        "completed_steps": {
            "type": "integer",
            "title": "Completed Steps"
        },
        "progress": {
            "type": "number",
            "title": "Progress"
        },
        "current_step": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Current Step"
        },
        "final_step_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Final Step Id"
        },
        "final_step_result": {
            "anyOf": [
                {
                    "additionalProperties": true,
                    "type": "object"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Final Step Result"
        },
        "canvas_task_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Canvas Task Id"
        },
        "config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Config"
        },
        "suppress_subtask_events": {
            "type": "boolean",
            "title": "Suppress Subtask Events"
        },
        "origin_instance": {
            "type": "string",
            "title": "Origin Instance"
        },
        "origin_zone": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Zone"
        },
        "origin_tenant_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Tenant Id"
        },
        "origin_reference": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Reference"
        },
        "webhook_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Webhook Url"
        },
        "error_message": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Error Message"
        },
        "errors": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Errors"
        },
        "started_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Started At"
        },
        "completed_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Completed At"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "is_deleted": {
            "type": "boolean",
            "title": "Is Deleted",
            "default": false
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "steps": {
            "items": {
                "$ref": "#/components/schemas/WorkflowStepPublic"
            },
            "type": "array",
            "title": "Steps"
        }
    },
    "type": "object",
    "required": [
        "id",
        "name",
        "status",
        "total_steps",
        "completed_steps",
        "progress",
        "config",
        "suppress_subtask_events",
        "origin_instance",
        "errors",
        "created_at",
        "updated_at"
    ],
    "title": "WorkflowPublic",
    "description": "Public representation of a workflow."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

DELETE /api/v1/workflows/{workflow_id}

Cancel Workflow

Description

Cancel a running workflow.

Cancels the workflow and all running tasks. The workflow must be in PENDING or RUNNING state.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
workflow_id path string No

Responses

{
    "id": "4e3778c2-0f35-45c5-b968-41ea0450cd4f",
    "name": "string",
    "description": null,
    "status": "PENDING",
    "total_steps": 0,
    "completed_steps": 0,
    "progress": 10.12,
    "current_step": null,
    "final_step_id": null,
    "final_step_result": null,
    "canvas_task_id": null,
    "config": {},
    "suppress_subtask_events": true,
    "origin_instance": "string",
    "origin_zone": null,
    "origin_tenant_id": null,
    "origin_reference": null,
    "webhook_url": null,
    "error_message": null,
    "errors": [
        "string"
    ],
    "started_at": null,
    "completed_at": null,
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "is_deleted": true,
    "deleted_at": null,
    "steps": [
        {
            "id": "00359114-3d0b-4c46-bc9e-afcb0bb0a56d",
            "step_id": "string",
            "task_type": "string",
            "node_type": null,
            "node_schema_version": 0,
            "config": {},
            "provider_config": null,
            "active_provider_capabilities": null,
            "fallback_provider_type": null,
            "fallback_provider_config": null,
            "fallback_provider_capabilities": null,
            "dependencies": [
                "string"
            ],
            "input_mappings": [
                {}
            ],
            "status": "PENDING",
            "task_id": null,
            "result": null,
            "error_message": null,
            "started_at": null,
            "completed_at": null,
            "retry_count": 0,
            "max_retries": 0,
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "status": {
            "$ref": "#/components/schemas/WorkflowStatus"
        },
        "total_steps": {
            "type": "integer",
            "title": "Total Steps"
        },
        "completed_steps": {
            "type": "integer",
            "title": "Completed Steps"
        },
        "progress": {
            "type": "number",
            "title": "Progress"
        },
        "current_step": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Current Step"
        },
        "final_step_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Final Step Id"
        },
        "final_step_result": {
            "anyOf": [
                {
                    "additionalProperties": true,
                    "type": "object"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Final Step Result"
        },
        "canvas_task_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Canvas Task Id"
        },
        "config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Config"
        },
        "suppress_subtask_events": {
            "type": "boolean",
            "title": "Suppress Subtask Events"
        },
        "origin_instance": {
            "type": "string",
            "title": "Origin Instance"
        },
        "origin_zone": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Zone"
        },
        "origin_tenant_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Tenant Id"
        },
        "origin_reference": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Reference"
        },
        "webhook_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Webhook Url"
        },
        "error_message": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Error Message"
        },
        "errors": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Errors"
        },
        "started_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Started At"
        },
        "completed_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Completed At"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "is_deleted": {
            "type": "boolean",
            "title": "Is Deleted",
            "default": false
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "steps": {
            "items": {
                "$ref": "#/components/schemas/WorkflowStepPublic"
            },
            "type": "array",
            "title": "Steps"
        }
    },
    "type": "object",
    "required": [
        "id",
        "name",
        "status",
        "total_steps",
        "completed_steps",
        "progress",
        "config",
        "suppress_subtask_events",
        "origin_instance",
        "errors",
        "created_at",
        "updated_at"
    ],
    "title": "WorkflowPublic",
    "description": "Public representation of a workflow."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/workflows/{workflow_id}/artifacts

Get Workflow Artifacts

Description

Resolve per-step media artifacts for a workflow from its task rows.

Read-only. TRANSFORMATIONS_SOLVER steps report zero output artifacts by design (numeric result, no media fields).

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
include_inputs query boolean False No
workflow_id path string No

Responses

{
    "workflow_id": "92f1901f-1190-448a-8d80-286949992235",
    "steps": [
        {
            "step_id": "string",
            "task_id": null,
            "task_type": "string",
            "node_type": null,
            "status": "string",
            "artifacts": [
                {
                    "name": "string",
                    "field": "string",
                    "url": "string",
                    "kind": "image",
                    "mime": null,
                    "source": "input"
                }
            ]
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "workflow_id": {
            "type": "string",
            "format": "uuid",
            "title": "Workflow Id"
        },
        "steps": {
            "items": {
                "$ref": "#/components/schemas/WorkflowStepArtifacts"
            },
            "type": "array",
            "title": "Steps"
        }
    },
    "type": "object",
    "required": [
        "workflow_id"
    ],
    "title": "WorkflowArtifactsResponse",
    "description": "Response from GET /workflows/{id}/artifacts.\n\nSteps with a TRANSFORMATIONS_SOLVER task report zero output artifacts by\ndesign (its result is numeric transform data, not media) — a\nsolver-terminal workflow legitimately shows completed-with-no-artifacts."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

POST /api/v1/workflows/{workflow_id}/start

Start Workflow

Description

Start a pending workflow.

The workflow must be in PENDING state. This compiles the workflow DAG into Celery tasks and begins execution.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
workflow_id path string No

Responses

{
    "id": "ce7fb33b-14c0-4d86-bede-afa0c787074e",
    "name": "string",
    "description": null,
    "status": "PENDING",
    "total_steps": 0,
    "completed_steps": 0,
    "progress": 10.12,
    "current_step": null,
    "final_step_id": null,
    "final_step_result": null,
    "canvas_task_id": null,
    "config": {},
    "suppress_subtask_events": true,
    "origin_instance": "string",
    "origin_zone": null,
    "origin_tenant_id": null,
    "origin_reference": null,
    "webhook_url": null,
    "error_message": null,
    "errors": [
        "string"
    ],
    "started_at": null,
    "completed_at": null,
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "is_deleted": true,
    "deleted_at": null,
    "steps": [
        {
            "id": "7081daaf-05cf-4da2-af6a-aa26100f76d8",
            "step_id": "string",
            "task_type": "string",
            "node_type": null,
            "node_schema_version": 0,
            "config": {},
            "provider_config": null,
            "active_provider_capabilities": null,
            "fallback_provider_type": null,
            "fallback_provider_config": null,
            "fallback_provider_capabilities": null,
            "dependencies": [
                "string"
            ],
            "input_mappings": [
                {}
            ],
            "status": "PENDING",
            "task_id": null,
            "result": null,
            "error_message": null,
            "started_at": null,
            "completed_at": null,
            "retry_count": 0,
            "max_retries": 0,
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "status": {
            "$ref": "#/components/schemas/WorkflowStatus"
        },
        "total_steps": {
            "type": "integer",
            "title": "Total Steps"
        },
        "completed_steps": {
            "type": "integer",
            "title": "Completed Steps"
        },
        "progress": {
            "type": "number",
            "title": "Progress"
        },
        "current_step": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Current Step"
        },
        "final_step_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Final Step Id"
        },
        "final_step_result": {
            "anyOf": [
                {
                    "additionalProperties": true,
                    "type": "object"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Final Step Result"
        },
        "canvas_task_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Canvas Task Id"
        },
        "config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Config"
        },
        "suppress_subtask_events": {
            "type": "boolean",
            "title": "Suppress Subtask Events"
        },
        "origin_instance": {
            "type": "string",
            "title": "Origin Instance"
        },
        "origin_zone": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Zone"
        },
        "origin_tenant_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Tenant Id"
        },
        "origin_reference": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Reference"
        },
        "webhook_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Webhook Url"
        },
        "error_message": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Error Message"
        },
        "errors": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Errors"
        },
        "started_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Started At"
        },
        "completed_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Completed At"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "is_deleted": {
            "type": "boolean",
            "title": "Is Deleted",
            "default": false
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "steps": {
            "items": {
                "$ref": "#/components/schemas/WorkflowStepPublic"
            },
            "type": "array",
            "title": "Steps"
        }
    },
    "type": "object",
    "required": [
        "id",
        "name",
        "status",
        "total_steps",
        "completed_steps",
        "progress",
        "config",
        "suppress_subtask_events",
        "origin_instance",
        "errors",
        "created_at",
        "updated_at"
    ],
    "title": "WorkflowPublic",
    "description": "Public representation of a workflow."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

POST /api/v1/workflows/{workflow_id}/resume

Resume Workflow

Description

Resume a failed workflow from its last checkpoint.

Only works for workflows in FAILED or PAUSED state. Resets failed/running steps and recompiles the remaining DAG for execution.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
workflow_id path string No

Responses

{
    "id": "93c6e66b-3235-48c9-9534-58ae22cdc42f",
    "name": "string",
    "description": null,
    "status": "PENDING",
    "total_steps": 0,
    "completed_steps": 0,
    "progress": 10.12,
    "current_step": null,
    "final_step_id": null,
    "final_step_result": null,
    "canvas_task_id": null,
    "config": {},
    "suppress_subtask_events": true,
    "origin_instance": "string",
    "origin_zone": null,
    "origin_tenant_id": null,
    "origin_reference": null,
    "webhook_url": null,
    "error_message": null,
    "errors": [
        "string"
    ],
    "started_at": null,
    "completed_at": null,
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "is_deleted": true,
    "deleted_at": null,
    "steps": [
        {
            "id": "b2d09bb5-a204-4832-8656-e298af163c41",
            "step_id": "string",
            "task_type": "string",
            "node_type": null,
            "node_schema_version": 0,
            "config": {},
            "provider_config": null,
            "active_provider_capabilities": null,
            "fallback_provider_type": null,
            "fallback_provider_config": null,
            "fallback_provider_capabilities": null,
            "dependencies": [
                "string"
            ],
            "input_mappings": [
                {}
            ],
            "status": "PENDING",
            "task_id": null,
            "result": null,
            "error_message": null,
            "started_at": null,
            "completed_at": null,
            "retry_count": 0,
            "max_retries": 0,
            "created_at": "2022-04-13T15:42:05.901Z",
            "updated_at": "2022-04-13T15:42:05.901Z"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "status": {
            "$ref": "#/components/schemas/WorkflowStatus"
        },
        "total_steps": {
            "type": "integer",
            "title": "Total Steps"
        },
        "completed_steps": {
            "type": "integer",
            "title": "Completed Steps"
        },
        "progress": {
            "type": "number",
            "title": "Progress"
        },
        "current_step": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Current Step"
        },
        "final_step_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Final Step Id"
        },
        "final_step_result": {
            "anyOf": [
                {
                    "additionalProperties": true,
                    "type": "object"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Final Step Result"
        },
        "canvas_task_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Canvas Task Id"
        },
        "config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Config"
        },
        "suppress_subtask_events": {
            "type": "boolean",
            "title": "Suppress Subtask Events"
        },
        "origin_instance": {
            "type": "string",
            "title": "Origin Instance"
        },
        "origin_zone": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Zone"
        },
        "origin_tenant_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Tenant Id"
        },
        "origin_reference": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Reference"
        },
        "webhook_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Webhook Url"
        },
        "error_message": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Error Message"
        },
        "errors": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Errors"
        },
        "started_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Started At"
        },
        "completed_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Completed At"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "is_deleted": {
            "type": "boolean",
            "title": "Is Deleted",
            "default": false
        },
        "deleted_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Deleted At"
        },
        "steps": {
            "items": {
                "$ref": "#/components/schemas/WorkflowStepPublic"
            },
            "type": "array",
            "title": "Steps"
        }
    },
    "type": "object",
    "required": [
        "id",
        "name",
        "status",
        "total_steps",
        "completed_steps",
        "progress",
        "config",
        "suppress_subtask_events",
        "origin_instance",
        "errors",
        "created_at",
        "updated_at"
    ],
    "title": "WorkflowPublic",
    "description": "Public representation of a workflow."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

POST /api/v1/workflows/{workflow_id}/cleanup

Cleanup Workflow

Description

Clean up a workflow by soft-deleting it and optionally cleaning up task files.

This endpoint marks the workflow as deleted and optionally: - Deletes all task output files (images, etc.) - Soft-deletes associated task records

The workflow and its tasks will be excluded from list queries by default after cleanup. Use include_deleted=true on list endpoints to see them.

Args: workflow_id: ID of the workflow to clean up cleanup_tasks: Whether to clean up associated task files (default: True)

Returns: The cleaned up workflow with cleanup details including: - tasks_processed: Number of tasks that were processed - tasks_cleaned: Number of tasks successfully cleaned - deleted_paths: List of file paths that were deleted - errors: List of any errors encountered during cleanup

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
cleanup_tasks query boolean True No Whether to clean up associated task files
workflow_id path string No

Responses

{
    "workflow": {
        "id": "d5a3de68-edd2-46ed-9ece-e3e7a98384a1",
        "name": "string",
        "description": null,
        "status": "PENDING",
        "total_steps": 0,
        "completed_steps": 0,
        "progress": 10.12,
        "current_step": null,
        "final_step_id": null,
        "final_step_result": null,
        "canvas_task_id": null,
        "config": {},
        "suppress_subtask_events": true,
        "origin_instance": "string",
        "origin_zone": null,
        "origin_tenant_id": null,
        "origin_reference": null,
        "webhook_url": null,
        "error_message": null,
        "errors": [
            "string"
        ],
        "started_at": null,
        "completed_at": null,
        "created_at": "2022-04-13T15:42:05.901Z",
        "updated_at": "2022-04-13T15:42:05.901Z",
        "is_deleted": true,
        "deleted_at": null,
        "steps": [
            {
                "id": "5ff9a49b-fb10-4b05-91fe-677fe1b18886",
                "step_id": "string",
                "task_type": "string",
                "node_type": null,
                "node_schema_version": 0,
                "config": {},
                "provider_config": null,
                "active_provider_capabilities": null,
                "fallback_provider_type": null,
                "fallback_provider_config": null,
                "fallback_provider_capabilities": null,
                "dependencies": [
                    "string"
                ],
                "input_mappings": [
                    {}
                ],
                "status": "PENDING",
                "task_id": null,
                "result": null,
                "error_message": null,
                "started_at": null,
                "completed_at": null,
                "retry_count": 0,
                "max_retries": 0,
                "created_at": "2022-04-13T15:42:05.901Z",
                "updated_at": "2022-04-13T15:42:05.901Z"
            }
        ]
    },
    "cleanup": {
        "tasks_processed": 0,
        "tasks_cleaned": 0,
        "deleted_paths": [
            "string"
        ],
        "errors": [
            {
                "task_id": "ec78290a-0175-432b-8377-79e1db6fc54c",
                "step_id": "string",
                "task_type": "string",
                "error": "string"
            }
        ]
    }
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "workflow": {
            "$ref": "#/components/schemas/WorkflowPublic"
        },
        "cleanup": {
            "$ref": "#/components/schemas/WorkflowCleanupDetail"
        }
    },
    "type": "object",
    "required": [
        "workflow",
        "cleanup"
    ],
    "title": "WorkflowCleanupResponse",
    "description": "Response schema for workflow cleanup endpoint."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

Monitoring


GET /api/v1/monitoring/tasks

List Monitored Tasks

Description

List tasks with filtering, pagination, and sorting.

Returns a paginated list of tasks with computed duration and error status. All filters are optional and can be combined.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
created_after query No Filter tasks created after this datetime
created_before query No Filter tasks created before this datetime
node_type query No Filter by node type (e.g. 'preview_edit' isolates the look-preview flow, which otherwise blends into EDITING). 'none' selects legacy tasks with no node.
origin_instance query No Filter by origin instance
origin_tenant_id query No Filter by origin tenant ID
origin_zone query No Filter by origin zone
page query integer 1 No Page number (1-indexed)
page_size query integer 50 No Items per page
provider_type query No Filter by provider type
search query No Search by task ID prefix or origin_reference substring (e.g. 'look_preview' isolates the look-preview flow; a backend entity id pasted here finds its task).
sort_by query string created_at No Sort field
sort_order query string desc No Sort order
status query No Filter by status
task_type query No Filter by task type

Responses

{
    "items": [
        {
            "id": "31da22cb-3323-4b10-a965-1c78805cc759",
            "task_type": "GENERATION",
            "node_type": null,
            "provider_type": null,
            "status": "PENDING",
            "progress": 10.12,
            "origin_instance": "string",
            "origin_zone": null,
            "origin_tenant_id": null,
            "created_at": "2022-04-13T15:42:05.901Z",
            "started_at": null,
            "completed_at": null,
            "duration_ms": null,
            "has_error": true
        }
    ],
    "total": 0,
    "page": 0,
    "page_size": 0,
    "pages": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "items": {
            "items": {
                "$ref": "#/components/schemas/TaskListItem"
            },
            "type": "array",
            "title": "Items"
        },
        "total": {
            "type": "integer",
            "title": "Total",
            "description": "Total number of tasks matching filters"
        },
        "page": {
            "type": "integer",
            "title": "Page",
            "description": "Current page number (1-indexed)"
        },
        "page_size": {
            "type": "integer",
            "title": "Page Size",
            "description": "Number of items per page"
        },
        "pages": {
            "type": "integer",
            "title": "Pages",
            "description": "Total number of pages"
        }
    },
    "type": "object",
    "required": [
        "items",
        "total",
        "page",
        "page_size",
        "pages"
    ],
    "title": "TaskListResponse",
    "description": "Paginated task list response."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/monitoring/tasks/{task_id}

Get Monitored Task

Description

Get detailed task information including configuration and task-type specific fields.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
task_id path string No

Responses

{
    "id": "07285738-b42c-4a1f-8a89-8ad072150dfe",
    "task_type": "GENERATION",
    "node_type": null,
    "node_schema_version": null,
    "provider_type": null,
    "status": "PENDING",
    "progress": 10.12,
    "origin_instance": "string",
    "origin_zone": null,
    "origin_tenant_id": null,
    "origin_reference": null,
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "started_at": null,
    "completed_at": null,
    "duration_ms": null,
    "queue_name": "string",
    "priority": 0,
    "celery_task_id": null,
    "service_task_id": null,
    "executor_type": null,
    "executor_instance": null,
    "config": null,
    "webhook_url": null,
    "errors": null,
    "retry_count": 0,
    "is_resumed": true,
    "resume_attempt_count": 0,
    "last_resume_attempt": null,
    "service_requests": null,
    "task_data": {}
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "task_type": {
            "$ref": "#/components/schemas/TaskType"
        },
        "node_type": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Node Type"
        },
        "node_schema_version": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Node Schema Version"
        },
        "provider_type": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ProviderType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "status": {
            "$ref": "#/components/schemas/TaskStatus"
        },
        "progress": {
            "type": "number",
            "title": "Progress",
            "default": 0.0
        },
        "origin_instance": {
            "type": "string",
            "title": "Origin Instance"
        },
        "origin_zone": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Zone"
        },
        "origin_tenant_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Tenant Id"
        },
        "origin_reference": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Reference"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "started_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Started At"
        },
        "completed_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Completed At"
        },
        "duration_ms": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Duration Ms",
            "description": "Duration in milliseconds"
        },
        "queue_name": {
            "type": "string",
            "title": "Queue Name",
            "description": "Celery queue name",
            "default": "inference"
        },
        "priority": {
            "type": "integer",
            "title": "Priority",
            "description": "Task priority (higher = more priority)",
            "default": 0
        },
        "celery_task_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Celery Task Id"
        },
        "service_task_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Service Task Id"
        },
        "executor_type": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Executor Type"
        },
        "executor_instance": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Executor Instance"
        },
        "config": {
            "anyOf": [
                {
                    "additionalProperties": true,
                    "type": "object"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Config"
        },
        "webhook_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Webhook Url",
            "description": "Webhook URL for notifications"
        },
        "errors": {
            "anyOf": [
                {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Errors"
        },
        "retry_count": {
            "type": "integer",
            "title": "Retry Count",
            "default": 0
        },
        "is_resumed": {
            "type": "boolean",
            "title": "Is Resumed",
            "description": "Whether task was resumed",
            "default": false
        },
        "resume_attempt_count": {
            "type": "integer",
            "title": "Resume Attempt Count",
            "description": "Number of resume attempts",
            "default": 0
        },
        "last_resume_attempt": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Last Resume Attempt",
            "description": "Timestamp of last resume attempt"
        },
        "service_requests": {
            "anyOf": [
                {
                    "items": {
                        "additionalProperties": true,
                        "type": "object"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Service Requests",
            "description": "Log of external service requests made during task processing"
        },
        "task_data": {
            "additionalProperties": true,
            "type": "object",
            "title": "Task Data",
            "description": "Task-type specific fields (prompt, width, height, result_image_path, etc.)"
        }
    },
    "type": "object",
    "required": [
        "id",
        "task_type",
        "status",
        "origin_instance",
        "created_at",
        "updated_at"
    ],
    "title": "TaskDetailResponse",
    "description": "Detailed task view with full configuration."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/monitoring/tasks/{task_id}/media

Get Task Media

Description

Get input and output media URLs for a task.

Returns URLs that can be used directly in or

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
task_id path string No

Responses

{
    "task_id": "832b18ea-6fd2-4224-889a-eefc42c804bf",
    "inputs": [
        {
            "name": "string",
            "path": "string",
            "url": "string",
            "media_type": "string"
        }
    ],
    "outputs": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "task_id": {
            "type": "string",
            "format": "uuid",
            "title": "Task Id"
        },
        "inputs": {
            "items": {
                "$ref": "#/components/schemas/MediaItem"
            },
            "type": "array",
            "title": "Inputs",
            "description": "Input media files"
        },
        "outputs": {
            "items": {
                "$ref": "#/components/schemas/MediaItem"
            },
            "type": "array",
            "title": "Outputs",
            "description": "Output media files"
        }
    },
    "type": "object",
    "required": [
        "task_id"
    ],
    "title": "TaskMediaResponse",
    "description": "Input and output media for a task."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/monitoring/stats

Get Monitoring Stats

Description

Get aggregate statistics for the monitoring dashboard.

Returns counts by status, provider, and task type, plus time-based metrics.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
origin_instance query No Filter by origin instance
origin_zone query No Filter by origin zone

Responses

{
    "total_tasks": 0,
    "by_status": {},
    "by_provider": {},
    "by_task_type": {},
    "tasks_last_hour": 0,
    "tasks_last_24h": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "total_tasks": {
            "type": "integer",
            "title": "Total Tasks",
            "description": "Total number of tasks"
        },
        "by_status": {
            "additionalProperties": {
                "type": "integer"
            },
            "type": "object",
            "title": "By Status",
            "description": "Task count by status (PENDING, EXECUTING, COMPLETED, FAILED, CANCELLED)"
        },
        "by_provider": {
            "additionalProperties": {
                "type": "integer"
            },
            "type": "object",
            "title": "By Provider",
            "description": "Task count by provider type"
        },
        "by_task_type": {
            "additionalProperties": {
                "type": "integer"
            },
            "type": "object",
            "title": "By Task Type",
            "description": "Task count by task type"
        },
        "tasks_last_hour": {
            "type": "integer",
            "title": "Tasks Last Hour",
            "description": "Tasks created in the last hour",
            "default": 0
        },
        "tasks_last_24h": {
            "type": "integer",
            "title": "Tasks Last 24H",
            "description": "Tasks created in the last 24 hours",
            "default": 0
        }
    },
    "type": "object",
    "required": [
        "total_tasks"
    ],
    "title": "AggregateStats",
    "description": "Aggregate statistics for the monitoring dashboard."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/monitoring/stats/overview

Get Stats Overview

Description

Windowed dashboard metrics for tasks and workflows.

For each of last_hour / last_day / total returns counts, failure rate (kept distinct between tasks and workflows), and — for the bounded windows — completion-time, wait-time and (tasks) retry percentiles alongside averages.

Filters apply to tasks; provider/task-type filters do not apply to workflows (workflows have no provider), so the workflow side honours only origin filters.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
origin_instance query No Filter by origin instance
origin_zone query No Filter by origin zone
provider_type query No Filter by provider type
task_type query No Filter by task type

Responses

{
    "tasks": {},
    "workflows": {},
    "filters": {},
    "timestamp": "2022-04-13T15:42:05.901Z"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "tasks": {
            "additionalProperties": {
                "$ref": "#/components/schemas/TaskWindowStats"
            },
            "type": "object",
            "title": "Tasks",
            "description": "Task metrics keyed by window (last_hour/last_day/total)"
        },
        "workflows": {
            "additionalProperties": {
                "$ref": "#/components/schemas/WorkflowWindowStats"
            },
            "type": "object",
            "title": "Workflows",
            "description": "Workflow metrics keyed by window"
        },
        "filters": {
            "additionalProperties": {
                "type": "string"
            },
            "type": "object",
            "title": "Filters",
            "description": "Echo of the filters applied (for display)"
        },
        "timestamp": {
            "type": "string",
            "format": "date-time",
            "title": "Timestamp",
            "description": "When the stats were collected"
        }
    },
    "type": "object",
    "required": [
        "timestamp"
    ],
    "title": "StatsOverviewResponse",
    "description": "Windowed dashboard metrics for tasks and workflows."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/monitoring/stats/timeseries

Get Stats Timeseries

Description

Bucketed task counts (created / completed / failed) for dashboard charts.

interval=hour → hourly buckets over the last 24h; interval=day → daily buckets over the last 7 days. Bounded range + indexed created_at keep the scan cheap; cached like the overview endpoint.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
interval query string hour No Bucket granularity
origin_instance query No Filter by origin instance
origin_zone query No Filter by origin zone
provider_type query No Filter by provider type
task_type query No Filter by task type

Responses

{
    "interval": "hour",
    "buckets": [
        {
            "bucket": "2022-04-13T15:42:05.901Z",
            "created": 0,
            "completed": 0,
            "failed": 0
        }
    ],
    "filters": {},
    "timestamp": "2022-04-13T15:42:05.901Z"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "interval": {
            "type": "string",
            "enum": [
                "hour",
                "day"
            ],
            "title": "Interval",
            "description": "Bucket granularity"
        },
        "buckets": {
            "items": {
                "$ref": "#/components/schemas/TimeseriesBucket"
            },
            "type": "array",
            "title": "Buckets"
        },
        "filters": {
            "additionalProperties": {
                "type": "string"
            },
            "type": "object",
            "title": "Filters"
        },
        "timestamp": {
            "type": "string",
            "format": "date-time",
            "title": "Timestamp"
        }
    },
    "type": "object",
    "required": [
        "interval",
        "timestamp"
    ],
    "title": "TimeseriesResponse",
    "description": "Bucketed task counts over a range, for dashboard charts."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/monitoring/workflows

List Monitored Workflows

Description

List workflows with filtering, pagination, and sorting.

Returns a paginated list of workflows with computed duration and error status. All filters are optional and can be combined.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
created_after query No Filter workflows created after this datetime
created_before query No Filter workflows created before this datetime
origin_instance query No Filter by origin instance
origin_tenant_id query No Filter by origin tenant ID
origin_zone query No Filter by origin zone
page query integer 1 No Page number (1-indexed)
page_size query integer 50 No Items per page
search query No Search by workflow name or ID prefix
sort_by query string created_at No Sort field
sort_order query string desc No Sort order
status query No Filter by status

Responses

{
    "items": [
        {
            "id": "6b7c7653-803d-4bbb-9327-60353adb717e",
            "name": "string",
            "description": null,
            "status": "PENDING",
            "total_steps": 0,
            "completed_steps": 0,
            "progress": 10.12,
            "current_step": null,
            "final_step_id": null,
            "origin_instance": "string",
            "origin_zone": null,
            "origin_tenant_id": null,
            "created_at": "2022-04-13T15:42:05.901Z",
            "started_at": null,
            "completed_at": null,
            "duration_ms": null,
            "has_error": true
        }
    ],
    "total": 0,
    "page": 0,
    "page_size": 0,
    "pages": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "items": {
            "items": {
                "$ref": "#/components/schemas/WorkflowListItem"
            },
            "type": "array",
            "title": "Items"
        },
        "total": {
            "type": "integer",
            "title": "Total",
            "description": "Total number of workflows matching filters"
        },
        "page": {
            "type": "integer",
            "title": "Page",
            "description": "Current page number (1-indexed)"
        },
        "page_size": {
            "type": "integer",
            "title": "Page Size",
            "description": "Number of items per page"
        },
        "pages": {
            "type": "integer",
            "title": "Pages",
            "description": "Total number of pages"
        }
    },
    "type": "object",
    "required": [
        "items",
        "total",
        "page",
        "page_size",
        "pages"
    ],
    "title": "MonitoringWorkflowListResponse",
    "description": "Paginated workflow list response for monitoring."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/monitoring/workflows/stats

Get Workflow Monitoring Stats

Description

Get aggregate statistics for workflow monitoring.

Returns counts by status and time-based metrics.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
origin_instance query No Filter by origin instance
origin_zone query No Filter by origin zone

Responses

{
    "total_workflows": 0,
    "by_status": {},
    "workflows_last_hour": 0,
    "workflows_last_24h": 0,
    "avg_steps_per_workflow": 10.12
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "total_workflows": {
            "type": "integer",
            "title": "Total Workflows",
            "description": "Total number of workflows"
        },
        "by_status": {
            "additionalProperties": {
                "type": "integer"
            },
            "type": "object",
            "title": "By Status",
            "description": "Workflow count by status (PENDING, RUNNING, PAUSED, COMPLETED, FAILED, CANCELLED)"
        },
        "workflows_last_hour": {
            "type": "integer",
            "title": "Workflows Last Hour",
            "description": "Workflows created in the last hour",
            "default": 0
        },
        "workflows_last_24h": {
            "type": "integer",
            "title": "Workflows Last 24H",
            "description": "Workflows created in the last 24 hours",
            "default": 0
        },
        "avg_steps_per_workflow": {
            "type": "number",
            "title": "Avg Steps Per Workflow",
            "description": "Average number of steps per workflow",
            "default": 0.0
        }
    },
    "type": "object",
    "required": [
        "total_workflows"
    ],
    "title": "WorkflowAggregateStats",
    "description": "Aggregate statistics for workflow monitoring."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/monitoring/workflows/{workflow_id}

Get Monitored Workflow

Description

Get detailed workflow information including all steps.

Steps are returned in topological order (respecting dependencies).

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token
workflow_id path string No

Responses

{
    "id": "094d6b0c-1e90-4acc-b887-f27142dc0f8f",
    "name": "string",
    "description": null,
    "status": "PENDING",
    "total_steps": 0,
    "completed_steps": 0,
    "progress": 10.12,
    "current_step": null,
    "final_step_id": null,
    "canvas_task_id": null,
    "origin_instance": "string",
    "origin_zone": null,
    "origin_tenant_id": null,
    "origin_reference": null,
    "config": {},
    "webhook_url": null,
    "created_at": "2022-04-13T15:42:05.901Z",
    "updated_at": "2022-04-13T15:42:05.901Z",
    "started_at": null,
    "completed_at": null,
    "duration_ms": null,
    "error_message": null,
    "errors": [
        "string"
    ],
    "steps": [
        {
            "id": "12954a93-e1cd-4b92-990d-405abf346488",
            "step_id": "string",
            "task_type": "string",
            "node_type": null,
            "node_schema_version": null,
            "status": "PENDING",
            "task_id": null,
            "dependencies": [
                "string"
            ],
            "input_mappings": [
                {}
            ],
            "config": {},
            "started_at": null,
            "completed_at": null,
            "duration_ms": null,
            "error_message": null,
            "retry_count": 0,
            "max_retries": 0,
            "result": null
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
        },
        "name": {
            "type": "string",
            "title": "Name"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Description"
        },
        "status": {
            "$ref": "#/components/schemas/WorkflowStatus"
        },
        "total_steps": {
            "type": "integer",
            "title": "Total Steps",
            "default": 0
        },
        "completed_steps": {
            "type": "integer",
            "title": "Completed Steps",
            "default": 0
        },
        "progress": {
            "type": "number",
            "title": "Progress",
            "default": 0.0
        },
        "current_step": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Current Step"
        },
        "final_step_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Final Step Id"
        },
        "canvas_task_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Canvas Task Id"
        },
        "origin_instance": {
            "type": "string",
            "title": "Origin Instance"
        },
        "origin_zone": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Zone"
        },
        "origin_tenant_id": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Tenant Id"
        },
        "origin_reference": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Origin Reference"
        },
        "config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Config",
            "description": "Workflow configuration"
        },
        "webhook_url": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Webhook Url"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
        },
        "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
        },
        "started_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Started At"
        },
        "completed_at": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "date-time"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Completed At"
        },
        "duration_ms": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Duration Ms",
            "description": "Duration in milliseconds"
        },
        "error_message": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Error Message"
        },
        "errors": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Errors",
            "description": "List of error messages"
        },
        "steps": {
            "items": {
                "$ref": "#/components/schemas/WorkflowStepMonitor"
            },
            "type": "array",
            "title": "Steps",
            "description": "Workflow steps in execution order"
        }
    },
    "type": "object",
    "required": [
        "id",
        "name",
        "status",
        "origin_instance",
        "created_at",
        "updated_at"
    ],
    "title": "WorkflowDetailResponse",
    "description": "Detailed workflow view with all steps."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/monitoring/queues

Get Queue Stats

Description

Get queue depths, active task counts, wait times, and throughput.

Returns statistics for all known Celery queues including: - Queue depth (pending tasks) - Active workers consuming the queue - Active and reserved tasks - Average wait time (time from created to started) - Tasks completed in the last hour

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token

Responses

{
    "queues": [
        {
            "name": "string",
            "depth": 0,
            "active_workers": 0,
            "active_tasks": 0,
            "reserved_tasks": 0,
            "wait_time": {
                "avg_ms": null,
                "p50_ms": null,
                "p95_ms": null,
                "p99_ms": null,
                "sample_size": 0
            },
            "exec_time": null,
            "tasks_completed_last_hour": 0
        }
    ],
    "total_pending": 0,
    "total_active": 0,
    "timestamp": "2022-04-13T15:42:05.901Z"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "queues": {
            "items": {
                "$ref": "#/components/schemas/QueueStats"
            },
            "type": "array",
            "title": "Queues",
            "description": "Statistics per queue"
        },
        "total_pending": {
            "type": "integer",
            "title": "Total Pending",
            "description": "Total pending tasks across all queues",
            "default": 0
        },
        "total_active": {
            "type": "integer",
            "title": "Total Active",
            "description": "Total active tasks across all queues",
            "default": 0
        },
        "timestamp": {
            "type": "string",
            "format": "date-time",
            "title": "Timestamp",
            "description": "Timestamp when stats were collected"
        }
    },
    "type": "object",
    "required": [
        "timestamp"
    ],
    "title": "QueueStatsResponse",
    "description": "Response for queue statistics endpoint."
}

GET /api/v1/monitoring/workers

Get Worker Stats

Description

Get worker utilization, capacity, and throughput.

Returns statistics for all active Celery workers including: - Worker name and queues - Concurrency and active tasks - Utilization percentage - Capacity status - Total tasks completed and throughput rate

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token

Responses

{
    "workers": [
        {
            "name": "string",
            "queues": [
                "string"
            ],
            "concurrency": 0,
            "active_tasks": 0,
            "utilization_pct": 10.12,
            "has_capacity": true,
            "tasks_completed_total": 0,
            "tasks_per_minute": 10.12,
            "memory_mb": null,
            "last_active_at": null
        }
    ],
    "total_workers": 0,
    "total_capacity": 0,
    "total_active": 0,
    "total_utilization_pct": 10.12,
    "workers_at_capacity": 0,
    "timestamp": "2022-04-13T15:42:05.901Z"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "workers": {
            "items": {
                "$ref": "#/components/schemas/WorkerInfo"
            },
            "type": "array",
            "title": "Workers",
            "description": "Statistics per worker"
        },
        "total_workers": {
            "type": "integer",
            "title": "Total Workers",
            "description": "Total number of workers",
            "default": 0
        },
        "total_capacity": {
            "type": "integer",
            "title": "Total Capacity",
            "description": "Total capacity (sum of all worker concurrency)",
            "default": 0
        },
        "total_active": {
            "type": "integer",
            "title": "Total Active",
            "description": "Total active tasks across all workers",
            "default": 0
        },
        "total_utilization_pct": {
            "type": "number",
            "title": "Total Utilization Pct",
            "description": "Overall utilization percentage",
            "default": 0.0
        },
        "workers_at_capacity": {
            "type": "integer",
            "title": "Workers At Capacity",
            "description": "Number of workers at full capacity",
            "default": 0
        },
        "timestamp": {
            "type": "string",
            "format": "date-time",
            "title": "Timestamp",
            "description": "Timestamp when stats were collected"
        }
    },
    "type": "object",
    "required": [
        "timestamp"
    ],
    "title": "WorkerStatsResponse",
    "description": "Response for worker statistics endpoint."
}

GET /api/v1/monitoring/workers/scaling

Get Scaling Stats

Description

Get CREMA autoscaling state for each worker-pool queue.

Surfaces, per queue, the live/busy instance counts, in-flight and queued task counts, per-instance concurrency, and the desired-load / desired-instance values CREMA derives from Redis — so operators can see why a pool is (or isn't) scaling without inspecting Redis directly.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token

Responses

{
    "queues": [
        {
            "queue": "string",
            "live_instances": 0,
            "busy_instances": 0,
            "idle_instances": 0,
            "in_flight_tasks": 0,
            "queued_tasks": 0,
            "concurrency": 0,
            "desired_load": 0,
            "desired_instances": 0
        }
    ],
    "available": true,
    "timestamp": "2022-04-13T15:42:05.901Z"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "queues": {
            "items": {
                "$ref": "#/components/schemas/QueueScalingInfo"
            },
            "type": "array",
            "title": "Queues",
            "description": "Per-queue scaling state"
        },
        "available": {
            "type": "boolean",
            "title": "Available",
            "description": "False when scaling state could not be read from Redis (stale/unavailable)",
            "default": true
        },
        "timestamp": {
            "type": "string",
            "format": "date-time",
            "title": "Timestamp",
            "description": "Timestamp when stats were collected"
        }
    },
    "type": "object",
    "required": [
        "timestamp"
    ],
    "title": "ScalingStatsResponse",
    "description": "Response for the CREMA scaling-stats endpoint."
}

GET /api/v1/monitoring/workers/health

Get Workers Health

Description

Quick health check for worker availability.

Returns a simple health status indicating: - Overall health (at least one worker with capacity) - Total workers and workers with available capacity - Queues with and without workers

Use this endpoint for alerting on capacity issues.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token

Responses

{
    "healthy": true,
    "total_workers": 0,
    "workers_with_capacity": 0,
    "queues_with_workers": [
        "string"
    ],
    "queues_without_workers": [
        "string"
    ],
    "timestamp": "2022-04-13T15:42:05.901Z"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "healthy": {
            "type": "boolean",
            "title": "Healthy",
            "description": "Overall health status"
        },
        "total_workers": {
            "type": "integer",
            "title": "Total Workers",
            "description": "Total number of workers",
            "default": 0
        },
        "workers_with_capacity": {
            "type": "integer",
            "title": "Workers With Capacity",
            "description": "Number of workers with available capacity",
            "default": 0
        },
        "queues_with_workers": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Queues With Workers",
            "description": "Queues that have at least one worker"
        },
        "queues_without_workers": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "title": "Queues Without Workers",
            "description": "Queues that have no workers"
        },
        "timestamp": {
            "type": "string",
            "format": "date-time",
            "title": "Timestamp",
            "description": "Timestamp when health was checked"
        }
    },
    "type": "object",
    "required": [
        "healthy",
        "timestamp"
    ],
    "title": "WorkerHealthResponse",
    "description": "Quick health check response for worker availability."
}

Catalog


GET /api/v1/catalog/nodes

Get Catalog Nodes

Description

Return the node and legacy task catalog for workflow authoring.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token

Responses

{
    "catalog_version": 0,
    "schema_hash": "string",
    "nodes": [
        {
            "id": "string",
            "kind": "node",
            "task_type": "string",
            "node_type": null,
            "node_schema_version": 0,
            "implemented": true,
            "workflow_authorable": true,
            "display_name": "string",
            "category": "string",
            "description": "string",
            "providers": null,
            "params_schema": {},
            "io": null,
            "strategies": null
        }
    ],
    "enums": {
        "task_types": [
            "string"
        ],
        "provider_types": [
            "string"
        ],
        "task_statuses": [
            "string"
        ],
        "workflow_statuses": [
            "string"
        ],
        "step_statuses": [
            "string"
        ],
        "transform_types": [
            "string"
        ],
        "provider_to_queue": {}
    }
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "catalog_version": {
            "type": "integer",
            "title": "Catalog Version",
            "description": "Catalog contract version."
        },
        "schema_hash": {
            "type": "string",
            "title": "Schema Hash",
            "description": "Deterministic sha256 of the envelope without this field."
        },
        "nodes": {
            "items": {
                "$ref": "#/components/schemas/NodeCatalogCard"
            },
            "type": "array",
            "title": "Nodes",
            "description": "Catalog cards."
        },
        "enums": {
            "$ref": "#/components/schemas/NodeCatalogEnums",
            "description": "Enum values used by catalog clients."
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "catalog_version",
        "schema_hash",
        "nodes",
        "enums"
    ],
    "title": "NodeCatalogEnvelope",
    "description": "Top-level node catalog response."
}

Events


POST /api/v1/events/token

Mint Token

Description

Mint a short-lived scoped token for the SSE endpoints.

Input parameters

Parameter In Type Default Nullable Description
HTTPBearer header string N/A No JWT Bearer token

Request body

{
    "workflow_id": null,
    "task_id": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "workflow_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Workflow Id"
        },
        "task_id": {
            "anyOf": [
                {
                    "type": "string",
                    "format": "uuid"
                },
                {
                    "type": "null"
                }
            ],
            "title": "Task Id"
        }
    },
    "type": "object",
    "title": "MintEventsTokenRequest",
    "description": "Body for POST /events/token — exactly one id, or neither (wildcard scope)."
}

Responses

{
    "token": "string",
    "expires_in": 0,
    "scope": "string"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "token": {
            "type": "string",
            "title": "Token"
        },
        "expires_in": {
            "type": "integer",
            "title": "Expires In"
        },
        "scope": {
            "type": "string",
            "title": "Scope"
        }
    },
    "type": "object",
    "required": [
        "token",
        "expires_in",
        "scope"
    ],
    "title": "MintEventsTokenResponse",
    "description": "Minted short-lived events token."
}

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/events/workflows/{workflow_id}

Stream Workflow Events

Description

Follow a workflow's event stream over SSE (snapshot frame first).

Input parameters

Parameter In Type Default Nullable Description
last_event_id query No
token query No
workflow_id path string No

Responses

Schema of the response body

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

GET /api/v1/events/tasks/{task_id}

Stream Task Events

Description

Follow a task's event stream over SSE.

The per-task stream carries status TRANSITIONS only (no mid-task progress ticks); its wire format is consumed read-only and unchanged.

Input parameters

Parameter In Type Default Nullable Description
last_event_id query No
task_id path string No
token query No

Responses

Schema of the response body

{
    "detail": [
        {
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
        }
    },
    "type": "object",
    "title": "HTTPValidationError"
}

Endpoints


GET /health

Health Check

Responses

Schema of the response body
{
    "additionalProperties": {
        "type": "string"
    },
    "type": "object",
    "title": "Response Health Check Health Get"
}

Schemas

AdminLoRAUploadResponse

Name Type Description
entity_type string The entity type category
file_path string Full path where the file was saved
file_size integer Size of the uploaded file in bytes
filename string Original filename
partial_path string Relative path within the LoRA directory
upload_timestamp string ISO format timestamp of when the file was uploaded

AggregateStats

Name Type Description
by_provider Task count by provider type
by_status Task count by status (PENDING, EXECUTING, COMPLETED, FAILED, CANCELLED)
by_task_type Task count by task type
tasks_last_24h integer Tasks created in the last 24 hours
tasks_last_hour integer Tasks created in the last hour
total_tasks integer Total number of tasks

AiCoreProviderConfig

Name Type Description
ai_provider string AI provider to use: 'openai', 'anthropic', 'gemini', 'ollama'
max_tokens
model string Model name (e.g., 'gpt-4', 'claude-3-opus-20240229')
provider_type string
temperature number

AnatomyIssue

Type: string

ArtifactRef

Name Type Description
field string Task attribute the artifact came from
kind string Coarse media kind
mime Guessed MIME type, or null
name string Display name (historical monitoring naming, e.g. result_mask_1)
source string Whether the task consumed or produced it
url string Public URL; EMPTY string when the stored path is invalid

BackgroundFixerTaskPublic

Name Type Description
active_provider_capabilities
celery_task_id
completed_at
config
created_at string(date-time)
error_category
errors
executor_instance
executor_type
fallback_provider_capabilities
fallback_provider_config
fallback_provider_type
id string(uuid)
input_image_path
mask_image_path
node_params
node_type
origin_instance string Task origin instance
origin_reference Optional reference ID or string from the origin system
origin_tenant_id Task origin tenant ID
origin_zone Task origin zone
palette_image_path
priority integer Task priority
progress number
protect_bbox
provider_config
provider_type
result_image_path
retry_count integer
service_task_id
started_at
status TaskStatus
target_rgb
task_type string
updated_at string(date-time)

BackgroundFixerTaskPublicUpdate

Name Type Description
config
errors
executor_instance
executor_type
priority
status

BackgroundFixStrategy

Type: string

BackgroundFixTaskPublic

Name Type Description
active_provider_capabilities
base_image_path string
celery_task_id
completed_at
config
created_at string(date-time)
edge_blur_sigma DEPRECATED and ignored; superseded by inner/outer_blur_sigma.
error_category
errors
exclude DEPRECATED and ignored; retained for backward compatibility.
executor_instance
executor_type
fallback_provider_capabilities
fallback_provider_config
fallback_provider_type
id string(uuid)
inner_blur_sigma
light_threshold
mask_palettes DEPRECATED and ignored; per-region palette overrides are no longer supported.
origin_instance string Task origin instance
origin_reference Optional reference ID or string from the origin system
origin_tenant_id Task origin tenant ID
origin_zone Task origin zone
outer_blur_sigma
palette_image_path string
priority integer Task priority
progress number
provider_config
provider_type
result_image_path
retry_count integer
service_task_id
shadow_threshold
started_at
status TaskStatus
strategy BackgroundFixStrategy
task_type string
updated_at string(date-time)

BackgroundFixTaskPublicUpdate

Name Type Description
config
errors
executor_instance
executor_type
priority
status

BackgroundRemovalTaskPublic

Name Type Description
active_provider_capabilities
celery_task_id
completed_at
config
created_at string(date-time)
error_category
errors
executor_instance
executor_type
fallback_provider_capabilities
fallback_provider_config
fallback_provider_type
id string(uuid)
input_image_paths Array<string>
origin_instance string Task origin instance
origin_reference Optional reference ID or string from the origin system
origin_tenant_id Task origin tenant ID
origin_zone Task origin zone
priority integer Task priority
progress number
provider_config
provider_type
result_image_paths
retry_count integer
service_task_id
started_at
status TaskStatus
task_type string
updated_at string(date-time)

BackgroundRemovalTaskPublicUpdate

Name Type Description
config
errors
executor_instance
executor_type
priority
status

BaseEvent

Name Type Description
entity_id
event_type EventType
metadata
origin_instance
origin_reference
origin_version
origin_zone
status string
task_id string(uuid)
timestamp

Body_admin_upload_lora

Name Type Description
entity_type The entity type (clothes, faces, identities, product, styles)
file string(binary) The LoRA model file to upload
use_safe_filename boolean Whether to enable automatic versioning for duplicate filenames

Body_save_image_api_v1_storage_images__path__post

Name Type Description
file string(binary)

Body_upload_lora

Name Type Description
entity_type The entity type (clothes, identities, product, styles)
file string(binary) The LoRA model file to upload
use_safe_filename boolean Whether to enable automatic versioning for duplicate filenames

CheckerTaskPublic

Name Type Description
active_provider_capabilities
base_bboxes
base_image_path
base_mask_path
bboxes
candidate_image_path
candidate_mask_path
celery_task_id
completed_at
config
created_at string(date-time)
diagnostics
error_category
errors
executor_instance
executor_type
fallback_provider_capabilities
fallback_provider_config
fallback_provider_type
id string(uuid)
node_type
origin_instance string Task origin instance
origin_reference Optional reference ID or string from the origin system
origin_tenant_id Task origin tenant ID
origin_zone Task origin zone
passed
priority integer Task priority
progress number
provider_config
provider_type
reference_details
report
retry_count integer
service_task_id
shot_type
started_at
status TaskStatus
summary
task_type string
updated_at string(date-time)

CheckerTaskPublicUpdate

Name Type Description
config
errors
executor_instance
executor_type
priority
status

CreateBackgroundFixerTask

Name Type Description
active_provider_capabilities List of active capabilities for this task
config Flexible configuration storage
fallback_provider_capabilities Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation.
fallback_provider_config Provider-specific config for the fallback provider. Shape varies by provider type.
fallback_provider_type Fallback provider activated when primary exhausts all retries (non-ValueError only).
input_image string Input image as base64, data URL, local path, or remote URL
mask_image Mask image (base64, data URL, local path, or remote URL), typically fanned out from an upstream SEGMENTER's result_mask_path. Required by every node; 255 = subject, the same convention every mask producer in this codebase emits. Passed through as-is.
node_params Per-node tuning knobs (one blob; each node self-extracts its own keys). shift_color: shadow_threshold, light_threshold, dither. replace_color: bbox_enlargement, bbox_blur_sigma, dither. heal_artifacts: sigma, bayesshrink_k, garrote_strength. All nodes: mask_kind ('soft'|'binary').
node_type string Which node executes this task: 'shift_color' / 'replace_color' (color ops toward a target) or 'heal_artifacts' (frequency-separation artifact removal). All LOCAL.
origin_instance string Identifier for the instance that created this task
origin_reference Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend)
origin_tenant_id Optional tenant/organization identifier
origin_zone Environment/zone identifier (e.g., 'eu', 'us')
palette_image Optional palette image whose whole-image mean RGB is the shift target for shift_color / replace_color (an alternative to the scalar target_rgb). Ignored by heal_artifacts.
priority integer
protect_bbox Relative bbox [x, y, width, height] (0-1), or a list of such bboxes whose first item is used, that replace_color must NOT substitute. Typically wired from an upstream SEGMENTER detect node's bboxes output. None -> the whole background is substituted. An empty bbox list is treated as None. Unused by the other nodes.
provider_config Provider-specific configuration
provider_type Provider type for task execution
queue_name Optional queue override. If not specified, determined by provider_type
target_rgb Scalar target color [r, g, b] (0-255) for shift_color / replace_color. Takes precedence over palette_image when both are provided.
task_type string
webhook_url Webhook URL

CreateBackgroundFixTask

Name Type Description
active_provider_capabilities List of active capabilities for this task
base_image string Base image as base64, data URL (data:image/...), remote URL (http://...), or local path
config Flexible configuration storage
edge_blur_sigma DEPRECATED and ignored. Superseded by inner_blur_sigma / outer_blur_sigma. Retained for backward compatibility; has no effect.
exclude DEPRECATED and ignored. The DEFAULT strategy always protects the foreground subject via BiRefNet (SAM-3 fallback). Retained for backward compatibility; has no effect and will be removed in a future version.
fallback_provider_capabilities Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation.
fallback_provider_config Provider-specific config for the fallback provider. Shape varies by provider type.
fallback_provider_type Fallback provider activated when primary exhausts all retries (non-ValueError only).
inner_blur_sigma Gaussian sigma for inner edge inward gradient. DEFAULT strategy only.
light_threshold Brightness above which full color shift applied (0-255, default 220)
mask_palettes DEPRECATED and ignored. The DEFAULT strategy applies a single palette to the resolved background; per-region palette overrides are no longer supported. Retained for backward compatibility; has no effect and will be removed in a future version.
origin_instance string Identifier for the instance that created this task
origin_reference Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend)
origin_tenant_id Optional tenant/organization identifier
origin_zone Environment/zone identifier (e.g., 'eu', 'us')
outer_blur_sigma Gaussian sigma for outer edge outward gradient. DEFAULT strategy only.
palette_image string Palette/reference image for target background color as base64, data URL, remote URL, or local path
priority integer
provider_config Provider-specific configuration
provider_type Provider type for task execution
queue_name Optional queue override. If not specified, determined by provider_type
shadow_threshold Brightness below which no color shift applied (0-255, default 150)
strategy Processing strategy
task_type string
webhook_url Webhook URL

CreateBackgroundRemovalTask

Name Type Description
active_provider_capabilities List of active capabilities for this task
config Flexible configuration storage
fallback_provider_capabilities Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation.
fallback_provider_config Provider-specific config for the fallback provider. Shape varies by provider type.
fallback_provider_type Fallback provider activated when primary exhausts all retries (non-ValueError only).
input_image_paths Array<string> List of image paths or URLs for batch background removal
origin_instance string Identifier for the instance that created this task
origin_reference Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend)
origin_tenant_id Optional tenant/organization identifier
origin_zone Environment/zone identifier (e.g., 'eu', 'us')
priority integer
provider_config Provider-specific configuration
provider_type Provider type for task execution
queue_name Optional queue override. If not specified, determined by provider_type
task_type string
webhook_url Webhook URL

CreateCheckerTask

Name Type Description
active_provider_capabilities List of active capabilities for this task
base_bboxes check_product only: relative [x, y, width, height] regions of the REFERENCE still-life to judge — wire a separate Moondream detect step's `bboxes` here. The node unions these boxes and crops only the reference; omit to judge the full still-life.
base_image Reference image (base64, data URL, local path, or remote URL): the styled base for check_identity/check_proportions or the product still-life for check_product.
base_mask check_product only: subject matte for the REFERENCE still-life (255 = subject) — wire an upstream mask step's `result_mask_path` here. Supplied together with `candidate_mask`, it enables a numeric garment colour measurement (ΔE00) alongside the VLM verdict. Omit both to skip the measurement.
bboxes Relative [x, y, width, height] regions of the candidate to judge — wire an upstream detect step's `bboxes` here. check_identity and check_product judge a single crop and use the union of these boxes; omit to judge the whole frame.
candidate_image Candidate shot to verify against the base (base64, data URL, local path, or remote URL).
candidate_mask check_product: subject matte for the CANDIDATE shot (255 = subject) — wire an upstream mask step's `result_mask_path` here. check_margins: final subject mask aligned to the delivered image.
config Flexible configuration storage
fallback_provider_capabilities Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation.
fallback_provider_config Provider-specific config for the fallback provider. Shape varies by provider type.
fallback_provider_type Fallback provider activated when primary exhausts all retries (non-ValueError only).
margin_bottom check_margins bottom target as a final-height fraction.
margin_left check_margins left target as a final-width fraction.
margin_right check_margins right target as a final-width fraction.
margin_top check_margins top target as a final-height fraction.
node_type string Which node executes this task: 'check_identity' (VLM same-person verdict), 'check_product' (VLM product fidelity verdict), 'check_proportions' (VLM body, hand, and foot proportion verdicts), 'check_margins' (LOCAL numeric final margins from a candidate mask), or 'aggregate_checks' (LOCAL deterministic aggregation).
origin_instance string Identifier for the instance that created this task
origin_reference Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend)
origin_tenant_id Optional tenant/organization identifier
origin_zone Environment/zone identifier (e.g., 'eu', 'us')
priority integer
provider_config Provider-specific configuration
provider_type Provider type for task execution
queue_name Optional queue override. If not specified, determined by provider_type
reference_details check_product only: a described inventory of the marks and fittings the REFERENCE garment carries, as [{box, kind, text}] — wire an upstream detect step's `description` here, running the 'gemini' strategy on the still-life. Pasted into the matching aspect prompts so those calls know which small details exist to look for. The boxes are in the full reference frame, are never used to crop, and are remapped to the checker reference crop only when included in a prompt. Omit to judge exactly as before.
reports aggregate_checks only: ordered checker reports to concatenate.
shot_type check_margins only: shot-type policy. 'detail' skips the margin check (returns a neutral passing report) because margins are intentionally ignored for detail shots. Ignored by other checker nodes.
target Stable key and display label for the subject or product being assessed.
task_type string
webhook_url Webhook URL

CreateDetailEnhancerTask

Name Type Description
active_provider_capabilities List of active capabilities for this task
base_image string Base image as base64, data URL (data:image/...), or remote URL (http://...)
config Flexible configuration storage
detail_label Type of detail to enhance (e.g., tshirt, shirt, pants, logos)
fallback_provider_capabilities Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation.
fallback_provider_config Provider-specific config for the fallback provider. Shape varies by provider type.
fallback_provider_type Fallback provider activated when primary exhausts all retries (non-ValueError only).
origin_instance string Identifier for the instance that created this task
origin_reference Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend)
origin_tenant_id Optional tenant/organization identifier
origin_zone Environment/zone identifier (e.g., 'eu', 'us')
priority integer
provider_config Provider-specific configuration
provider_type Provider type for task execution
queue_name Optional queue override. If not specified, determined by provider_type
reference_image string Reference image for detail transfer as base64, data URL, or remote URL
task_type string
webhook_url Webhook URL

CreateEditingTask

Name Type Description
active_provider_capabilities List of active capabilities for this task
base_image string Base image as base64, data URL (data:image/...), or remote URL (http://...)
base_image_data DEPRECATED: Use base_image instead. Base64-encoded base image data.
base_image_url DEPRECATED: Use base_image instead. URL to base image file.
config Flexible configuration storage
fal_app_id FAL app ID for task execution
fallback_provider_capabilities Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation.
fallback_provider_config Provider-specific config for the fallback provider. Shape varies by provider type.
fallback_provider_type Fallback provider activated when primary exhausts all retries (non-ValueError only).
height integer Image height
node_type Which EDITING node executes this task. None (default) runs the legacy provider processors; 'preview_edit' runs the light, disposable preview node.
origin_instance string Identifier for the instance that created this task
origin_reference Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend)
origin_tenant_id Optional tenant/organization identifier
origin_zone Environment/zone identifier (e.g., 'eu', 'us')
priority integer
prompt string Task prompt
provider_config Provider-specific configuration
provider_type Provider type for task execution
queue_name Optional queue override. If not specified, determined by provider_type
reference_image_data DEPRECATED: Use reference_images instead. Base64-encoded reference image data.
reference_image_url DEPRECATED: Use reference_images instead. URL to reference image file.
reference_images List of reference images (base64, data URLs, or remote URLs)
seed Random seed for generation
task_type string
webhook_url Webhook URL
width integer Image width
workflow_id Workflow ID

CreateExperimentalFalTask

Name Type Description
active_provider_capabilities List of active capabilities for this task
config Flexible configuration storage
fal_app_id string FAL app ID for task execution
fal_parameters Arbitrary parameters to pass to the FAL app
fallback_provider_capabilities Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation.
fallback_provider_config Provider-specific config for the fallback provider. Shape varies by provider type.
fallback_provider_type Fallback provider activated when primary exhausts all retries (non-ValueError only).
origin_instance string Identifier for the instance that created this task
origin_reference Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend)
origin_tenant_id Optional tenant/organization identifier
origin_zone Environment/zone identifier (e.g., 'eu', 'us')
priority integer
provider_config Provider-specific configuration
provider_type Provider type for task execution
queue_name Optional queue override. If not specified, determined by provider_type
task_type string
webhook_url Webhook URL

CreateFaceEnhancerTask

Name Type Description
active_provider_capabilities List of active capabilities for this task
config Flexible configuration storage
fallback_provider_capabilities Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation.
fallback_provider_config Provider-specific config for the fallback provider. Shape varies by provider type.
fallback_provider_type Fallback provider activated when primary exhausts all retries (non-ValueError only).
input_image string Input image as base64, data URL (data:image/...), or remote URL (http://...)
origin_instance string Identifier for the instance that created this task
origin_reference Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend)
origin_tenant_id Optional tenant/organization identifier
origin_zone Environment/zone identifier (e.g., 'eu', 'us')
priority integer
provider_config Provider-specific configuration
provider_type Provider type for task execution
queue_name Optional queue override. If not specified, determined by provider_type
task_type string
webhook_url Webhook URL

CreateGenerationTask

Name Type Description
active_provider_capabilities List of active capabilities for this task
config Flexible configuration storage
fal_app_id FAL app ID for task execution
fallback_provider_capabilities Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation.
fallback_provider_config Provider-specific config for the fallback provider. Shape varies by provider type.
fallback_provider_type Fallback provider activated when primary exhausts all retries (non-ValueError only).
height Image height
origin_instance string Identifier for the instance that created this task
origin_reference Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend)
origin_tenant_id Optional tenant/organization identifier
origin_zone Environment/zone identifier (e.g., 'eu', 'us')
priority integer
product2_lora_weight Second product LoRA weight
product2_model_path Path to the second product model
product_lora_weight Product LoRA weight
product_model_path Path to the product model
prompt string Task prompt
provider_config Provider-specific configuration
provider_type Provider type for task execution
queue_name Optional queue override. If not specified, determined by provider_type
reference_image_data Base64-encoded reference image data (data:image/jpeg;base64,... format)
reference_image_strength Influence of the reference image on generation (0-100)
reference_image_url URL to reference image file
seed Random seed for generation
style_lora_weight Style LoRA weight
style_model_path Path to the style model
subject_lora_weight Subject LoRA weight
subject_model_path Path to the subject model
task_type string
webhook_url Webhook URL
width Image width

CreateImageAdjusterTask

Name Type Description
active_provider_capabilities List of active capabilities for this task
aspect_ratio Target aspect ratio (width/height). Use either this or target_width/target_height.
bbox_height Subject bbox height (relative 0-1)
bbox_width Subject bbox width (relative 0-1)
bbox_x Subject bbox left edge (relative 0-1)
bbox_y Subject bbox top edge (relative 0-1)
config Flexible configuration storage
cropping_position Position to crop from (only used when mode='crop')
fallback_provider_capabilities Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation.
fallback_provider_config Provider-specific config for the fallback provider. Shape varies by provider type.
fallback_provider_type Fallback provider activated when primary exhausts all retries (non-ValueError only).
input_image string Input image as base64, data URL (data:image/...), remote URL (http://...), or local path
margin_bottom Bottom margin as fraction of final height (0.0-1.0). 0 enforces 0 (subject touches bottom); >0 enforces exactly; None preserves the input's natural bottom margin. Subject detection required.
margin_left Left margin as fraction of final width (0.0-1.0). 0 enforces 0 (subject touches left); >0 enforces exactly; None preserves the input's natural left margin. Subject detection required.
margin_right Right margin as fraction of final width (0.0-1.0). 0 enforces 0 (subject touches right); >0 enforces exactly; None preserves the input's natural right margin. Subject detection required.
margin_top Top margin as fraction of final height (0.0-1.0). 0 enforces 0 (subject touches top); >0 enforces exactly; None preserves the input's natural top margin. Subject detection required.
mode string Resize mode: 'auto' intelligently chooses crop or pad based on AR difference (>5% diff = pad to preserve content, <=5% = crop for minimal loss), 'crop' removes pixels, 'pad' adds padding, 'scale' resizes based on proportions
origin_instance string Identifier for the instance that created this task
origin_reference Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend)
origin_tenant_id Optional tenant/organization identifier
origin_zone Environment/zone identifier (e.g., 'eu', 'us')
priority integer
provider_config Provider-specific configuration
provider_type Provider type for task execution
queue_name Optional queue override. If not specified, determined by provider_type
reference_image Optional reference image used to derive subject margins automatically (base64, data URL, remote URL, or local path).
resampling Resampling filter to use
scaling_proportions Scaling proportions mode. 'height' matches vertical (top/bottom) margins exactly (may crop horizontally); 'width' matches horizontal (left/right) margins exactly (may crop vertically); 'auto' selects height or width by which margin pair the subject reaches first when scaled into the target canvas+margins (enforces that first-touched pair; portrait canvases usually resolve to 'width'). 'height'/'width'/'auto' apply only on the margin-aware path (margins set or reference mode); otherwise they fall back to 'fit'.
subject_mask_path Subject mask (white=subject) from an upstream SEGMENTER step. If omitted, the processor falls back to in-process BiRefNet segmentation.
target_height Target height in pixels (required if target_width is set)
target_width Target width in pixels (required if target_height is set)
task_type string
tolerance Tolerance for checking if adjustment is needed (0-1, default 0% for pixel-perfect)
webhook_url Webhook URL

CreateImageTransformerTask

Name Type Description
active_provider_capabilities List of active capabilities for this task
config Flexible configuration storage
fallback_provider_capabilities Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation.
fallback_provider_config Provider-specific config for the fallback provider. Shape varies by provider type.
fallback_provider_type Fallback provider activated when primary exhausts all retries (non-ValueError only).
input_image string Input image as base64, data URL, local path, or remote URL
mask_image Subject-mask image (base64, data URL, local path, or remote URL) for the OUTPAINT node (VERTEX), typically fanned out from an upstream SEGMENTER's result_mask_path. Required by OUTPAINT for subject-alpha paste-back and Voronoi safety censorship when any solver pad is non-zero; a zero-pad plan passes the input through without loading the mask. Unused by the LOCAL pad/crop/scale nodes.
max_regions For the crop_regions node: cut at most this many regions, keeping the first N in the order given. A BUDGET, not a safety limit (the node keeps its own hard ceiling for detector artefacts): a reference set has a useful size, and past it each extra crop dilutes the attention a consumer pays to the others. Omit to cut them all.
min_edge_px For the crop_regions node: shortest edge a crop is upscaled to when it lands below it. Upscaling adds no information — it exists for consumers that reject or under-weight small inputs. Omit to keep every crop at native resolution.
node_type string Which transformer node executes this task: pad/crop/scale/crop_regions (LOCAL) or outpaint (VERTEX). Provider defaults from the node when omitted.
origin_instance string Identifier for the instance that created this task
origin_reference Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend)
origin_tenant_id Optional tenant/organization identifier
origin_zone Environment/zone identifier (e.g., 'eu', 'us')
pad_color Solid RGB fill [r, g, b] (0-255) for the pad node; defaults to white when omitted
padding_ratio For the crop_regions node: fraction of each box's own width/height added per side, clamped to the frame. A box that hugs its subject cuts away the surrounding context; how much context is worth keeping is the caller's policy. Defaults to 0.0 (cut the box as given).
priority integer
provider_config Provider-specific configuration
provider_type Provider type for task execution
queue_name Optional queue override. If not specified, determined by provider_type
regions For the crop_regions node: the regions to cut, as [{box: [x, y, width, height], ...}]. Only `box` is interpreted and every other key is ignored, so a detector's rich per-item output can be wired straight in. COORDINATE FRAME: boxes are relative to `input_image` — boxes detected on a different frame cut the wrong regions.
result_transform PAD->CROP->SCALE plan from TRANSFORMATIONS_SOLVER. Each node reads its own sub-key: the pad node reads 'pad' and the crop node reads 'crop' (pixel amounts per side), the scale node reads 'scale' (uniform float factor). The OUTPAINT node passes input_image through unchanged when every 'pad' amount is zero; otherwise it takes its subject mask from the separate 'mask_image' input.
target_height Exact output height for the scale node; omitted keeps scale-factor-derived sizing.
target_width Exact output width for the scale node; omitted keeps scale-factor-derived sizing.
task_type string
webhook_url Webhook URL

CreateLLMInteractionTask

Name Type Description
active_provider_capabilities List of active capabilities for this task
config Flexible configuration storage
details compose_prompt only: detail descriptions aligned with the crops the renderer receives, as [{kind, text}, ...]. Stored on the task's inputs JSONB port.
fallback_provider_capabilities Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation.
fallback_provider_config Provider-specific config for the fallback provider. Shape varies by provider type.
fallback_provider_type Fallback provider activated when primary exhausts all retries (non-ValueError only).
input_images List of image paths/URLs
node_type Which node executes this task: 'caption' (VERTEX image -> short label, fixed prompt) or 'compose_prompt' (LOCAL text join of the authored prompt and crop detail descriptions). Omit for the legacy ai_core free-prompt path.
origin_instance string Identifier for the instance that created this task
origin_reference Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend)
origin_tenant_id Optional tenant/organization identifier
origin_zone Environment/zone identifier (e.g., 'eu', 'us')
priority integer
prompt User prompt. Required for the legacy path and compose_prompt; caption carries a fixed prompt.
provider_config Provider-specific configuration
provider_type Provider type for task execution
queue_name Optional queue override. If not specified, determined by provider_type
system_prompt System prompt
task_type TaskType
webhook_url Webhook URL

CreateRefineTask

Name Type Description
active_provider_capabilities List of active capabilities for this task
base_image_url string Base image URL
config Flexible configuration storage
face_detail_denoise number Denoise strength
face_detail_enabled boolean Whether to enhance face details in the image
face_detail_prompt Face detail prompt
face_detail_seed Seed for the face detail enhancement
face_detail_steps integer Number of inference steps
fal_app_id FAL app ID for task execution
fallback_provider_capabilities Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation.
fallback_provider_config Provider-specific config for the fallback provider. Shape varies by provider type.
fallback_provider_type Fallback provider activated when primary exhausts all retries (non-ValueError only).
origin_instance string Identifier for the instance that created this task
origin_reference Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend)
origin_tenant_id Optional tenant/organization identifier
origin_zone Environment/zone identifier (e.g., 'eu', 'us')
priority integer
provider_config Provider-specific configuration
provider_type Provider type for task execution
queue_name Optional queue override. If not specified, determined by provider_type
target_height Target output height in pixels
target_width Target output width in pixels
task_type string
upscale_denoise number Denoise strength
upscale_enabled boolean Whether to upscale the image
upscale_factor Upscale factor (float value). Integer values 2, 4, 8 use specific UPSCALE_*X capabilities. Non-integer values require UPSCALE_FLOAT capability. If not provided, OUTPUT_SIZE capability is required
upscale_prompt Task prompt
upscale_seed Seed for the upscale
upscale_steps integer Number of inference steps
webhook_url Webhook URL

CreateSegmenterTask

Name Type Description
active_provider_capabilities List of active capabilities for this task
backend Deprecated alias of 'strategy' (kept for pre-rename clients). Ignored when 'strategy' is provided; passing both with different values is a 422.
cca boolean Keep only the largest connected component (SAM-3 only; ignored for strategy='birefnet')
config Flexible configuration storage
fallback_prompts Array<string> Alternative prompts tried IN ORDER when 'prompt' detects nothing or SAM-3 produces no mask; the first that hits wins. Empty (default) = single attempt. Bounded because each entry costs a separate billable vendor round-trip.
fallback_provider_capabilities Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation.
fallback_provider_config Provider-specific config for the fallback provider. Shape varies by provider type.
fallback_provider_type Fallback provider activated when primary exhausts all retries (non-ValueError only).
holes_filling_percent Fill enclosed holes smaller than X% of image area; null disables (SAM-3 only; ignored for strategy='birefnet')
input_image string Input image as base64, data URL (data:image/...), or remote URL (http://...)
invert_mask boolean Invert the returned mask (SAM-3 only; ignored for strategy='birefnet')
max_masks integer Number of masks to return (SAM-3 only; ignored for strategy='birefnet')
node_type Which segmenter node executes this task: 'mask' (SAM-3/BiRefNet mask, default) or 'detect' (Moondream3 bounding box).
origin_instance string Identifier for the instance that created this task
origin_reference Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend)
origin_tenant_id Optional tenant/organization identifier
origin_zone Environment/zone identifier (e.g., 'eu', 'us')
priority integer
prompt What to segment/detect (e.g. 'human person', 'background'). Required for prompt-guided strategies (sam3, moondream); ignored by fixed-scaffold strategies (birefnet, gemini_product_inventory, gemini_graphics).
provider_config FAL segmenter provider configuration.
provider_type Provider type for task execution
queue_name Optional queue override. If not specified, determined by provider_type
return_bboxes boolean Derive bounding box(es) from the resulting mask
strategy Algorithm for the selected node: 'birefnet' (soft matte, default) or 'sam3' (binary mask) for node_type='mask'; 'moondream' (default) or 'gemini' for node_type='detect'. 'gemini' is the odd one out: it runs on VERTEX (provider_type is pinned for you) and returns a DESCRIBED inventory of the marks and fittings it finds, not just boxes. A strategy set in FAL_SEGMENTER provider_config takes precedence for node_type='mask'. Defaults per node when neither this nor the deprecated 'backend' alias is provided.
task_type string
webhook_url Webhook URL

CreateTransformationsSolverTask

Name Type Description
active_provider_capabilities List of active capabilities for this task
bbox_height Subject bbox height (relative 0-1)
bbox_width Subject bbox width (relative 0-1)
bbox_x Subject bbox left edge (relative 0-1)
bbox_y Subject bbox top edge (relative 0-1)
config Flexible configuration storage
fallback_provider_capabilities Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation.
fallback_provider_config Provider-specific config for the fallback provider. Shape varies by provider type.
fallback_provider_type Fallback provider activated when primary exhausts all retries (non-ValueError only).
input_image string Input image as base64, data URL (data:image/...), remote URL (http://...), or local path
margin_bottom Bottom margin as fraction of final height (0.0-1.0). 0 enforces 0 (subject touches bottom); >0 enforces exactly; None preserves the input's natural bottom margin.
margin_left Left margin as fraction of final width (0.0-1.0). 0 enforces 0 (subject touches left); >0 enforces exactly; None preserves the input's natural left margin.
margin_right Right margin as fraction of final width (0.0-1.0). 0 enforces 0 (subject touches right); >0 enforces exactly; None preserves the input's natural right margin.
margin_strategy string Margin-processing priority, used only when margins are given. 'vertical' pins top+bottom (scale by scale_h); 'horizontal' pins left+right (scale by scale_w); 'auto' picks the pair the subject reaches first (scale_w < scale_h -> horizontal, else vertical, tie -> vertical).
margin_tolerance number Absolute per-side difference accepted as already matching an explicit margin target. For example, 0.005 means 0.5 percentage points.
margin_top Top margin as fraction of final height (0.0-1.0). 0 enforces 0 (subject touches top); >0 enforces exactly; None preserves the input's natural top margin.
origin_instance string Identifier for the instance that created this task
origin_reference Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend)
origin_tenant_id Optional tenant/organization identifier
origin_zone Environment/zone identifier (e.g., 'eu', 'us')
placement_strategy string No-margins placement: 'preserve' keeps the subject center at its original fraction p; 'center' lands it at 0.5 (clamped). Requires a bbox. The solver auto-decides crop-to-AR (if it would not cut the subject) vs pad-to-AR; there is no pad/crop input.
priority integer
protected_bboxes Relative [x, y, width, height] boxes of writings/logos/graphics the detail crop must not cut. Ignored when shot_type != 'detail'.
provider_config Provider-specific configuration
provider_type Provider type for task execution
queue_name Optional queue override. If not specified, determined by provider_type
shot_type Shot-type policy. 'detail' forces crop/scale only (pad=0, OUTPAINT short-circuited) and ignores margins. Any other value (full_body, upper_body, ...) is accepted but has no effect yet; None keeps legacy.
target_height Target height in pixels (required, paired with target_width)
target_width Target width in pixels (required, paired with target_height)
task_type string
webhook_url Webhook URL

CreateVideoGenerationTask

Name Type Description
active_provider_capabilities List of active capabilities for this task
cfg_scale number Classifier-free guidance scale (0.0-2.0)
config Flexible configuration storage
duration_seconds integer Video duration in seconds (1-60)
fallback_provider_capabilities Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation.
fallback_provider_config Provider-specific config for the fallback provider. Shape varies by provider type.
fallback_provider_type Fallback provider activated when primary exhausts all retries (non-ValueError only).
input_image_data Base64-encoded input image data (data:image/jpeg;base64,... format)
input_image_url URL to input image for video generation
negative_prompt Negative prompt to avoid unwanted elements
origin_instance string Identifier for the instance that created this task
origin_reference Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend)
origin_tenant_id Optional tenant/organization identifier
origin_zone Environment/zone identifier (e.g., 'eu', 'us')
priority integer
prompt string Text prompt describing the desired video content
provider_config Provider-specific configuration
provider_type Provider type for task execution
queue_name Optional queue override. If not specified, determined by provider_type
task_type string
webhook_url Webhook URL

CreateWorkflow

Name Type Description
config Global workflow configuration
description Optional workflow description
id Optional caller-assigned ID used to make workflow creation idempotent
name string Human-readable workflow name
origin_instance string Origin instance identifier
origin_reference External reference ID for tracking
origin_tenant_id Tenant identifier for multi-tenant setups
origin_zone Origin zone identifier
steps Array<WorkflowStepDefinition> List of steps defining the workflow DAG
suppress_subtask_events boolean Whether to suppress individual task events
webhook_url URL to call when workflow completes

DetailEnhancerTaskPublic

Name Type Description
active_provider_capabilities
base_image_path string
celery_task_id
completed_at
config
created_at string(date-time)
detail_label
error_category
errors
executor_instance
executor_type
fallback_provider_capabilities
fallback_provider_config
fallback_provider_type
fallback_used boolean
id string(uuid)
origin_instance string Task origin instance
origin_reference Optional reference ID or string from the origin system
origin_tenant_id Task origin tenant ID
origin_zone Task origin zone
priority integer Task priority
progress number
provider_config
provider_type
reference_image_path string
result_image_path
retry_count integer
service_task_id
started_at
status TaskStatus
task_type string
updated_at string(date-time)

DetailEnhancerTaskPublicUpdate

Name Type Description
config
errors
executor_instance
executor_type
priority
status

EditingTaskPublic

Name Type Description
active_provider_capabilities
base_image_path string
celery_task_id
completed_at
config
created_at string(date-time)
error_category
errors
executor_instance
executor_type
fal_app_id Get FAL app ID from provider config.
fal_request_id Get FAL request ID from provider config.
fallback_provider_capabilities
fallback_provider_config
fallback_provider_type
height integer
id string(uuid)
node_type
origin_instance string Task origin instance
origin_reference Optional reference ID or string from the origin system
origin_tenant_id Task origin tenant ID
origin_zone Task origin zone
priority integer Task priority
progress number
prompt string
provider_config
provider_type
reference_image_path
reference_images
result_image_path
retry_count integer
seed
service_task_id
started_at
status TaskStatus
task_type string
updated_at string(date-time)
width integer
workflow_id Workflow ID

EditingTaskPublicUpdate

Name Type Description
config
errors
executor_instance
executor_type
priority
status

ErrorCategory

Type: string

EvaluationRequest

Name Type Description
custom_instructions Custom instructions for the evaluation
expected_framing Framing Expected framing type for the image
expected_gender Expected gender for the image
expected_view_angle ViewAngle Expected view angle for the image
image_data Base64-encoded image data (data:image/jpeg;base64,... format)
image_url URL to image file
include_descriptions boolean Include garment and subject descriptions

EvaluationResponse

Name Type Description
anatomy_confidence Confidence score for anatomy analysis
anatomy_correct Whether anatomy appears correct
anatomy_issues List of detected anatomy issues
collage_detected Whether a collage or stitched image was detected
confidence_summary Average confidence across all evaluations
detected_framing Detected framing type
detected_gender Detected gender
detected_view_angle Detected view angle
error Error message if evaluation failed
evaluation_time_ms Time taken for evaluation in milliseconds
garment_description Description of garments in the image
gender_confidence Confidence score for gender detection
human_detected Whether humans were detected in the image
human_presence_confidence Confidence score for human detection
matches_expected Whether detected shot type matches expected
number_of_people Number of people detected
scene_description Description of the scene
shot_type_confidence Confidence score for shot type detection
subject_description Description of the subject
success boolean Whether the evaluation was successful

EventType

Type: string

ExperimentalFalTaskPublic

Name Type Description
active_provider_capabilities
celery_task_id
completed_at
config
created_at string(date-time)
error_category
errors
executor_instance
executor_type
fal_app_id string FAL app ID for task execution
fal_parameters Parameters passed to the FAL app
fal_request_id FAL request ID
fallback_provider_capabilities
fallback_provider_config
fallback_provider_type
id string(uuid)
origin_instance string Task origin instance
origin_reference Optional reference ID or string from the origin system
origin_tenant_id Task origin tenant ID
origin_zone Task origin zone
priority integer Task priority
progress number
provider_config
provider_type
result_url URL of the result from FAL
retry_count integer
service_task_id
started_at
status TaskStatus
task_type string
updated_at string(date-time)

ExperimentalFalTaskPublicUpdate

Name Type Description
config
errors
executor_instance
executor_type
fal_app_id FAL app ID for task execution
fal_parameters Parameters to pass to the FAL app
priority
status

FaceEnhancerTaskPublic

Name Type Description
active_provider_capabilities
attempts_used integer
celery_task_id
completed_at
config
created_at string(date-time)
error_category
errors
executor_instance
executor_type
face_detected boolean
fallback_provider_capabilities
fallback_provider_config
fallback_provider_type
fallback_used boolean
final_dists_score
final_lpips_score
final_ssim_score
id string(uuid)
input_image_path string
origin_instance string Task origin instance
origin_reference Optional reference ID or string from the origin system
origin_tenant_id Task origin tenant ID
origin_zone Task origin zone
priority integer Task priority
progress number
provider_config
provider_type
result_image_path
retry_count integer
service_task_id
started_at
status TaskStatus
task_type string
updated_at string(date-time)

FaceEnhancerTaskPublicUpdate

Name Type Description
config
errors
executor_instance
executor_type
priority
status

FalGarmentFixerConfig

Name Type Description
provider_type string

FalSegmenterConfig

Name Type Description
backend string Deprecated alias of 'strategy'; kept (with its default) for back-compat.
provider_type string
strategy Segmentation strategy used by the provider (preferred over 'backend').

FalShootifyRefinerConfig

Name Type Description
fal_app_id string FAL application ID for refinement
fal_request_id FAL request ID for tracking
provider_type string

FalStandardConfig

Name Type Description
additional_static_params Additional static parameters to pass directly to FAL API
fal_app_id string FAL application ID
fal_request_id FAL request ID for tracking
provider_type string

FashnStandardConfig

Name Type Description
fashn_task_id FASHN task ID for polling and resumability
max_image_height integer Maximum image height in pixels for preprocessing (FASHN recommends 2000px)
max_wait_seconds Maximum wait time in seconds (default: uses EDITING_TASK_TIMEOUT from settings)
poll_interval integer Polling interval in seconds (1-60)
provider_type string

FieldMapping

Name Type Description
from_field string Output field name from source step
from_step string Step ID to get output from
to_field string Input field name in target step
transform Optional transformation to apply when mapping

Framing

Type: string

FreepikMagnificConfig

Name Type Description
creativity integer Creativity level (-10 to 10)
defaultPrompt Default prompt to use if none provided
engine string Processing engine to use
fractality integer Fractality level (-10 to 10)
hdr integer HDR enhancement level (-10 to 10)
optimized_for string Optimization target for the upscaling
provider_type string
resemblance integer Resemblance to original (-10 to 10)

FreepikMagnificPrecisionConfig

Name Type Description
defaultPrompt Default prompt to use if none provided
provider_type string
sharpen integer Sharpening level (0 to 100)
smart_grain integer Smart grain level (0 to 100)
ultra_detail integer Ultra detail level (0 to 100)

Gender

Type: string

GenerationTaskPublic

Name Type Description
active_provider_capabilities
celery_task_id
completed_at
config
created_at string(date-time)
error_category
errors
executor_instance
executor_type
fal_app_id Get FAL app ID from provider config.
fal_request_id Get FAL request ID from provider config.
fallback_provider_capabilities
fallback_provider_config
fallback_provider_type
height
id string(uuid)
origin_instance string Task origin instance
origin_reference Optional reference ID or string from the origin system
origin_tenant_id Task origin tenant ID
origin_zone Task origin zone
priority integer Task priority
product2_lora_weight
product2_model_path
product_lora_weight
product_model_path
progress number
prompt
provider_config
provider_type
reference_image_path
reference_image_strength
result_image_path
retry_count integer
seed
service_task_id
started_at
status TaskStatus
style_lora_weight
style_model_path
subject_lora_weight
subject_model_path
task_type string
updated_at string(date-time)
width
workflow_id

GenerationTaskPublicUpdate

Name Type Description
config
errors
executor_instance
executor_type
priority
status

GenerationTaskUpdate

Name Type Description
active_provider_capabilities List of active capabilities for this task
celery_task_id Task Celery task ID
completed_at Task completion timestamp
config Flexible configuration storage
created_at Task creation timestamp
error_category Error category classification
errors
executor_instance
executor_type
fal_app_id FAL app ID
fal_request_id FAL request ID
fallback_provider_capabilities Fallback provider capabilities
fallback_provider_config Fallback provider-specific config
fallback_provider_type Fallback provider type
is_resumed Whether task is being resumed
last_resume_attempt Last resume attempt timestamp
origin_instance Task origin instance
origin_reference Optional reference ID or string from the origin system
origin_tenant_id Task origin tenant ID
origin_zone Task origin zone
priority
product2_lora_weight Second product LoRA weight
product2_model_path Path to the second product model
product_lora_weight Product LoRA weight
product_model_path Path to the product model
progress Task progress (0.0 to 100.0)
provider_type Provider type for task execution
queue_name Task queue name
reference_image_path Path to the reference image
reference_image_strength Influence of the reference image on generation (0-100)
result_image_path Path to the result image
resume_attempt_count Number of resume attempts
retry_count Task retry count
service_requests External service request log for observability
service_task_id Task service task ID
started_at Task start timestamp
status
style_lora_weight Style LoRA weight
style_model_path Path to the style model
subject_lora_weight Subject LoRA weight
subject_model_path Path to the subject model
task_type Task type
updated_at Task last update timestamp

HealthStatus

Name Type Description
average_response_time number Average response time in seconds
circuit_breaker_state string Circuit breaker state
health_score number Health score (0.0-1.0)
is_healthy boolean Whether the evaluator is healthy
success_rate number Success rate (0.0-1.0)
total_evaluations integer Total number of evaluations performed

HTTPValidationError

Name Type Description
detail Array<ValidationError>

ImageAdjusterTaskPublic

Name Type Description
active_provider_capabilities
aspect_ratio
bbox_height
bbox_width
bbox_x
bbox_y
celery_task_id
completed_at
config
created_at string(date-time)
cropping_position
error_category
errors
executor_instance
executor_type
fallback_provider_capabilities
fallback_provider_config
fallback_provider_type
id string(uuid)
input_image_path string
margin_bottom
margin_left
margin_right
margin_top
mode string
origin_instance string Task origin instance
origin_reference Optional reference ID or string from the origin system
origin_tenant_id Task origin tenant ID
origin_zone Task origin zone
priority integer Task priority
progress number
provider_config
provider_type
reference_image_path
resampling
result_image_path
retry_count integer
scaling_proportions
service_task_id
started_at
status TaskStatus
subject_mask_path
target_height
target_width
task_type string
tolerance
updated_at string(date-time)

ImageAdjusterTaskPublicUpdate

Name Type Description
config
errors
executor_instance
executor_type
priority
status

ImageTransformerTaskPublic

Name Type Description
active_provider_capabilities
celery_task_id
completed_at
config
created_at string(date-time)
crop_paths
error_category
errors
executor_instance
executor_type
fallback_provider_capabilities
fallback_provider_config
fallback_provider_type
id string(uuid)
input_image_path
mask_image_path
max_regions
min_edge_px
node_type
origin_instance string Task origin instance
origin_reference Optional reference ID or string from the origin system
origin_tenant_id Task origin tenant ID
origin_zone Task origin zone
pad_color
padding_ratio
priority integer Task priority
progress number
provider_config
provider_type
regions
result_image_path
result_transform
retry_count integer
service_task_id
started_at
status TaskStatus
task_type string
updated_at string(date-time)

ImageTransformerTaskPublicUpdate

Name Type Description
config
errors
executor_instance
executor_type
priority
status

InferenceStatusEvent

Name Type Description
backend_generation_id string(uuid)
backend_prediction_id string(uuid)
completed_at
entity_id
error_message
event_type EventType
metadata
origin_instance
origin_reference
origin_version
origin_zone
prompt_id
refined_image_path
result_image_path
status string
task_id string(uuid)
timestamp

LatencyStats

Name Type Description
avg_ms Mean latency (ms)
p50_ms Median (50th percentile) latency (ms)
p95_ms 95th percentile latency (ms)
p99_ms 99th percentile latency (ms)
sample_size integer Number of samples the stats were computed over

LLMInteractionTaskPublic

Name Type Description
active_provider_capabilities
celery_task_id
completed_at
config
created_at string(date-time)
error_category
errors
executor_instance
executor_type
fallback_provider_capabilities
fallback_provider_config
fallback_provider_type
id string(uuid)
input_images
input_tokens
node_type
origin_instance string Task origin instance
origin_reference Optional reference ID or string from the origin system
origin_tenant_id Task origin tenant ID
origin_zone Task origin zone
output_tokens
priority integer Task priority
progress number
prompt string
provider_config
provider_type
result_text
retry_count integer
service_task_id
started_at
status TaskStatus
system_prompt
task_type TaskType Task type
updated_at string(date-time)

LLMInteractionTaskPublicUpdate

Name Type Description
active_provider_capabilities List of active capabilities for this task
celery_task_id Task Celery task ID
completed_at Task completion timestamp
config Flexible configuration storage
created_at Task creation timestamp
error_category Error category classification
errors
executor_instance
executor_type
fallback_provider_capabilities Fallback provider capabilities
fallback_provider_config Fallback provider-specific config
fallback_provider_type Fallback provider type
is_resumed Whether task is being resumed
last_resume_attempt Last resume attempt timestamp
origin_instance Task origin instance
origin_reference Optional reference ID or string from the origin system
origin_tenant_id Task origin tenant ID
origin_zone Task origin zone
priority
progress
provider_type Provider type for task execution
queue_name Task queue name
resume_attempt_count Number of resume attempts
retry_count Task retry count
service_requests External service request log for observability
service_task_id Task service task ID
started_at Task start timestamp
status
task_type Task type
updated_at Task last update timestamp

LocalProviderConfig

Name Type Description
provider_type string
rembg_model string Rembg model for background removal. Available models: u2net, u2netp, u2net_human_seg, u2net_cloth_seg, silueta, isnet-general-use, isnet-anime, sam

LoRADeleteRequest

Name Type Description
partial_path string Relative path of the LoRA file (as returned by upload)

LoRADeleteResponse

Name Type Description
bin_path Path where the file was moved in the bin
deleted boolean Whether the file was successfully deleted
full_path string Full path of the deleted file
timestamp string ISO format timestamp of the deletion

LoRAUploadResponse

Name Type Description
file_path string Full path where the LoRA file was stored
file_size integer Size of the uploaded file in bytes
filename string Original filename of the uploaded file
partial_path string Partial path relative to base models directory (e.g., 'identities/lora_name.safetensors')
upload_timestamp string ISO timestamp of when the file was uploaded

MediaItem

Name Type Description
media_type string Type of media: 'image' or 'video'
name string Descriptive name (e.g., 'base_image', 'result_image')
path string Relative path in storage
url string Full URL for preview

MintEventsTokenRequest

Name Type Description
task_id
workflow_id

MintEventsTokenResponse

Name Type Description
expires_in integer
scope string
token string

MonitoringWorkflowListResponse

Name Type Description
items Array<WorkflowListItem>
page integer Current page number (1-indexed)
page_size integer Number of items per page
pages integer Total number of pages
total integer Total number of workflows matching filters

NanoBananaUpscalerConfig

Name Type Description
default_prompt Custom prompt for upscaling. If not provided, uses the default upscale prompt.
max_retries integer Maximum API retries for failed consistency checks.
provider_type string
ssim_threshold number SSIM threshold for structural consistency. Set to 0 to disable.

NodeCatalogCard

Name Type Description
category string UI grouping category.
description string UI description.
display_name string UI display name.
id string Stable card id: node: or task:.
implemented boolean Whether this card maps to implemented execution.
io Workflow I/O JSON Schemas, or null when not workflow-authorable.
kind string Card source.
node_schema_version integer Schema version stamped onto node-authored steps.
node_type Node dispatch key, or null for legacy cards.
params_schema Self-contained task create JSON Schema document.
providers Provider and queue choices for node cards; null for legacy cards.
strategies Strategy choices for nodes that expose strategy selection.
task_type string TaskType enum value.
workflow_authorable boolean True when both workflow input and output schemas resolve.

NodeCatalogEnums

Name Type Description
provider_to_queue
provider_types Array<string>
step_statuses Array<string>
task_statuses Array<string>
task_types Array<string>
transform_types Array<string>
workflow_statuses Array<string>

NodeCatalogEnvelope

Name Type Description
catalog_version integer Catalog contract version.
enums NodeCatalogEnums Enum values used by catalog clients.
nodes Array<NodeCatalogCard> Catalog cards.
schema_hash string Deterministic sha256 of the envelope without this field.

NodeCatalogIO

Name Type Description
inputs Self-contained JSON Schema for workflow inputs.
outputs Self-contained JSON Schema for workflow outputs.

NodeCatalogProvider

Name Type Description
provider_type string ProviderType enum value.
queue string Celery queue used for this provider.

NodeCatalogStrategy

Name Type Description
description string Short strategy behavior summary.
display_name string Human-readable strategy name.
is_default boolean True for the node's default strategy (exactly one per node).
name string Strategy dispatch name accepted by the node.
uses_prompt boolean Whether the strategy reads the task's 'prompt' field. When false, the prompt and fallback_prompts fields are not required and the editor hides them.

ProviderCapability

Type: string

ProviderConfig

Type:

ProviderType

Type: string

QaAssessment-Input

Name Type Description
checks Array<QaCheck>
key string
label string
passed boolean
target QaTarget

QaAssessment-Output

Name Type Description
checks Array<QaCheck>
key string
label string
passed boolean
target QaTarget

QaCheck

Name Type Description
key string
label string
locations Array<QaLocation>
passed boolean
reasoning string

QaLocation

Name Type Description
x_max number
x_min number
y_max number
y_min number

QaReport-Input

Name Type Description
assessments Array<QaAssessment-Input>
passed boolean
schema_version integer
summary string

QaReport-Output

Name Type Description
assessments Array<QaAssessment-Output>
passed boolean
schema_version integer
summary string

QaTarget

Name Type Description
key string
label string

QueueScalingInfo

Name Type Description
busy_instances integer Live instances with at least one active task
concurrency integer Per-instance concurrency (CREMA's listLength divisor)
desired_instances integer Instances CREMA targets: ceil(desired_load / concurrency)
desired_load integer Published CREMA load (LLEN of crema:load:); the scaler divides this by concurrency
idle_instances integer Live instances with no active tasks
in_flight_tasks integer Sum of active tasks across live instances serving the queue
live_instances integer Workers currently serving this queue (online heartbeats)
queue string Queue / worker-pool name
queued_tasks integer Tasks waiting in the broker (LLEN of the queue)

QueueStats

Name Type Description
active_tasks integer Number of tasks currently being executed
active_workers integer Number of workers consuming this queue
depth integer Number of pending tasks in queue
exec_time LatencyStats Execution duration (started→completed), last hour
name string Queue name
reserved_tasks integer Number of tasks reserved by workers (prefetched)
tasks_completed_last_hour integer Number of tasks completed in the last hour
wait_time LatencyStats Time tasks wait in queue before execution (created→started), last hour

QueueStatsResponse

Name Type Description
queues Array<QueueStats> Statistics per queue
timestamp string(date-time) Timestamp when stats were collected
total_active integer Total active tasks across all queues
total_pending integer Total pending tasks across all queues

RefineTaskPublic

Name Type Description
active_provider_capabilities
celery_task_id
completed_at
config
created_at string(date-time)
error_category
errors
executor_instance
executor_type
face_detail_denoise number
face_detail_seed integer
face_detail_steps integer
fal_app_id Get FAL app ID from provider config.
fal_request_id Get FAL request ID from provider config.
fallback_provider_capabilities
fallback_provider_config
fallback_provider_type
id string(uuid)
origin_instance string Task origin instance
origin_reference Optional reference ID or string from the origin system
origin_tenant_id Task origin tenant ID
origin_zone Task origin zone
priority integer Task priority
progress number
provider_config
provider_type
result_image_path
retry_count integer
service_task_id
started_at
status TaskStatus
target_height
target_width
task_type string
updated_at string(date-time)
upscale_denoise number
upscale_factor
upscale_seed integer
upscale_steps integer

RefineTaskPublicUpdate

Name Type Description
config
errors
executor_instance
executor_type
priority
status

RetryStats

Name Type Description
avg Mean retry count
p95 95th percentile retry count
pct_with_retries Percent of terminal tasks that needed >=1 retry (0-100)
sample_size integer Terminal tasks the stats were computed over

SartiqUltimateFaceFixerConfig

Name Type Description
dists_threshold number DISTS similarity threshold. 0 to disable (saves ~2GB RAM).
expand_percent number Face bbox expansion percentage (0.5 = 50%)
face_prompt Custom face detection prompt (uses default if not provided)
feather_px integer Feather width in pixels for blending
lpips_threshold number LPIPS similarity threshold. 0 to disable (saves ~2GB RAM).
max_retries integer Maximum API retries for failed consistency checks
provider_type string
save_debug_images boolean Save intermediate images for debugging
ssim_threshold number SSIM threshold for structural consistency. 0 to disable.

SartiqUltimateGarmentFixerConfig

Name Type Description
bbox_expand_percent number How much to expand garment bounding box (0.05 = 5% larger).
dists_threshold number DISTS similarity threshold. 0 to disable (saves ~2GB RAM).
feather_px integer Feather width in pixels for garment tile blending. 0 to disable.
lpips_threshold number LPIPS similarity threshold. 0 to disable (saves ~2GB RAM).
max_retries integer Max retries per tile for failed consistency checks.
provider_type string
save_debug_images boolean Save intermediate images for debugging.
split_threshold number Aspect ratio threshold for splitting elongated bboxes into 2 tiles.
ssim_threshold number SSIM threshold for structural consistency. 0 to disable.

SartiqUltimateRefinerConfig

Name Type Description
dists_threshold number DISTS similarity threshold. 0 to disable (saves ~2GB RAM).
face_expand_percent number How much to expand face bounding box (0.5 = 50% larger). V1 only, ignored in V2.
feather_px integer Feather width in pixels for tile blending. 0 to disable.
lpips_threshold number LPIPS similarity threshold. 0 to disable (saves ~2GB RAM).
max_retries integer Max retries per tile for failed consistency checks.
max_workers Max concurrent tiles. None for unlimited.
num_tiles integer Target number of tiles. Grid layout matches image aspect ratio.
provider_type string
save_debug_tiles boolean Save intermediate tiles for debugging.
ssim_threshold number SSIM threshold for structural consistency. 0 to disable.
version string Pipeline version. '1' = face detection + Lab color correction + adaptive resolution. '2' = simplified with histogram color correction + always 4K + no face processing.

ScalingStatsResponse

Name Type Description
available boolean False when scaling state could not be read from Redis (stale/unavailable)
queues Array<QueueScalingInfo> Per-queue scaling state
timestamp string(date-time) Timestamp when stats were collected

SegmenterTaskPublic

Name Type Description
active_provider_capabilities
additional_mask_paths
backend string
bbox_height
bbox_width
bbox_x
bbox_y
cca boolean
celery_task_id
completed_at
config
created_at string(date-time)
error_category
errors
executor_instance
executor_type
fallback_prompts
fallback_provider_capabilities
fallback_provider_config
fallback_provider_type
holes_filling_percent
id string(uuid)
input_image_path string
invert_mask boolean
mask_kind
mask_url
max_masks integer
node_type
origin_instance string Task origin instance
origin_reference Optional reference ID or string from the origin system
origin_tenant_id Task origin tenant ID
origin_zone Task origin zone
priority integer Task priority
progress number
prompt
provider_config
provider_type
result_mask_path
retry_count integer
return_bboxes boolean
service_task_id
started_at
status TaskStatus
strategy string
task_type string
updated_at string(date-time)

SegmenterTaskPublicUpdate

Name Type Description
config
errors
executor_instance
executor_type
priority
status

StatsOverviewResponse

Name Type Description
filters Echo of the filters applied (for display)
tasks Task metrics keyed by window (last_hour/last_day/total)
timestamp string(date-time) When the stats were collected
workflows Workflow metrics keyed by window

StepStatus

Type: string

TaskCreatedEvent

Name Type Description
created_at string(date-time)
entity_id
event_type EventType
metadata
origin_instance
origin_reference
origin_version
origin_zone
status string
task_id string(uuid)
task_type string
timestamp
total_steps integer

TaskDetailResponse

Name Type Description
celery_task_id
completed_at
config
created_at string(date-time)
duration_ms Duration in milliseconds
errors
executor_instance
executor_type
id string(uuid)
is_resumed boolean Whether task was resumed
last_resume_attempt Timestamp of last resume attempt
node_schema_version
node_type
origin_instance string
origin_reference
origin_tenant_id
origin_zone
priority integer Task priority (higher = more priority)
progress number
provider_type
queue_name string Celery queue name
resume_attempt_count integer Number of resume attempts
retry_count integer
service_requests Log of external service requests made during task processing
service_task_id
started_at
status TaskStatus
task_data Task-type specific fields (prompt, width, height, result_image_path, etc.)
task_type TaskType
updated_at string(date-time)
webhook_url Webhook URL for notifications

TaskListItem

Name Type Description
completed_at
created_at string(date-time)
duration_ms Duration in milliseconds (computed from started_at to completed_at)
has_error boolean Whether task has any errors
id string(uuid)
node_type
origin_instance string
origin_tenant_id
origin_zone
progress number
provider_type
started_at
status TaskStatus
task_type TaskType

TaskListResponse

Name Type Description
items Array<TaskListItem>
page integer Current page number (1-indexed)
page_size integer Number of items per page
pages integer Total number of pages
total integer Total number of tasks matching filters

TaskMediaResponse

Name Type Description
inputs Array<MediaItem> Input media files
outputs Array<MediaItem> Output media files
task_id string(uuid)

TaskStatus

Type: string

TaskStatusEvent

Name Type Description
completed_at
entity_id
error_category
error_message
event_type EventType
metadata
origin_instance
origin_reference
origin_version
origin_zone
progress number Task progress percentage
started_at
status TaskStatus
task_id string(uuid)
task_type string
timestamp

TaskType

Type: string

TaskWindowStats

Name Type Description
cancelled integer
completed integer
completion_time LatencyStats Execution duration (started→completed)
executing integer
failed integer
failure_rate failed / (completed + failed), 0-1; None if no terminal tasks
pending integer
retries RetryStats
total integer Tasks created in this window
wait_time LatencyStats Queue wait (created→started)
window string

TimeseriesBucket

Name Type Description
bucket string(date-time) Start of the bucket (UTC)
completed integer
created integer
failed integer

TimeseriesResponse

Name Type Description
buckets Array<TimeseriesBucket>
filters
interval string Bucket granularity
timestamp string(date-time)

TransformationsSolverTaskPublic

Name Type Description
active_provider_capabilities
bbox_height
bbox_width
bbox_x
bbox_y
celery_task_id
completed_at
config
created_at string(date-time)
error_category
errors
executor_instance
executor_type
fallback_provider_capabilities
fallback_provider_config
fallback_provider_type
id string(uuid)
input_image_path string
margin_bottom
margin_left
margin_right
margin_strategy string
margin_tolerance number
margin_top
origin_instance string Task origin instance
origin_reference Optional reference ID or string from the origin system
origin_tenant_id Task origin tenant ID
origin_zone Task origin zone
placement_strategy string
priority integer Task priority
progress number
protected_bboxes
provider_config
provider_type
result_transform
retry_count integer
service_task_id
shot_type
started_at
status TaskStatus
target_height
target_width
task_type string
updated_at string(date-time)

TransformationsSolverTaskPublicUpdate

Name Type Description
config
errors
executor_instance
executor_type
priority
status

TransformType

Type: string

ValidationError

Name Type Description
loc Array<>
msg string
type string

VertexConfig

Name Type Description
aspect_ratio Aspect ratio for image output. If not set, calculated from task width/height. Valid: 1:1, 3:2, 2:3, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9
image_size string Output image size: '1K', '2K', or '4K'.
model Override model (e.g., gemini-3-pro-image-preview, gemini-3.1-pro-preview)
provider_type string
system_instructions Custom system instruction. Defaults to fashion specialist prompt if not set.
temperature number Sampling temperature (0.0-2.0). Higher = more creative.
top_p number Top-p (nucleus) sampling threshold (0.0-1.0).

VideoGenerationTaskPublic

Name Type Description
active_provider_capabilities
celery_task_id
cfg_scale number
completed_at
config
created_at string(date-time)
duration_seconds integer
error_category
errors
executor_instance
executor_type
fallback_provider_capabilities
fallback_provider_config
fallback_provider_type
id string(uuid)
input_image_path string
negative_prompt
origin_instance string Task origin instance
origin_reference Optional reference ID or string from the origin system
origin_tenant_id Task origin tenant ID
origin_zone Task origin zone
priority integer Task priority
progress number
prompt string
provider_config
provider_type
result_video_path
retry_count integer
service_task_id
started_at
status TaskStatus
task_type string
updated_at string(date-time)

VideoGenerationTaskPublicUpdate

Name Type Description
config
errors
executor_instance
executor_type
priority
status

ViewAngle

Type: string

WorkerHealthResponse

Name Type Description
healthy boolean Overall health status
queues_with_workers Array<string> Queues that have at least one worker
queues_without_workers Array<string> Queues that have no workers
timestamp string(date-time) Timestamp when health was checked
total_workers integer Total number of workers
workers_with_capacity integer Number of workers with available capacity

WorkerInfo

Name Type Description
active_tasks integer Number of tasks currently executing
concurrency integer Maximum concurrent tasks
has_capacity boolean Whether worker has capacity for more tasks
last_active_at When this worker last completed (or failed) a task; used as the 'last active' signal for idle workers. None if unknown.
memory_mb Total memory usage in MB (main process + pool children)
name string Worker name (e.g., worker-fal@host1)
queues Array<string> Queues this worker consumes
tasks_completed_total integer Total tasks completed by this worker
tasks_per_minute number Average tasks completed per minute
utilization_pct number Utilization percentage (active_tasks / concurrency * 100)

WorkerStatsResponse

Name Type Description
timestamp string(date-time) Timestamp when stats were collected
total_active integer Total active tasks across all workers
total_capacity integer Total capacity (sum of all worker concurrency)
total_utilization_pct number Overall utilization percentage
total_workers integer Total number of workers
workers Array<WorkerInfo> Statistics per worker
workers_at_capacity integer Number of workers at full capacity

WorkflowAggregateStats

Name Type Description
avg_steps_per_workflow number Average number of steps per workflow
by_status Workflow count by status (PENDING, RUNNING, PAUSED, COMPLETED, FAILED, CANCELLED)
total_workflows integer Total number of workflows
workflows_last_24h integer Workflows created in the last 24 hours
workflows_last_hour integer Workflows created in the last hour

WorkflowArtifactsResponse

Name Type Description
steps Array<WorkflowStepArtifacts>
workflow_id string(uuid)

WorkflowCleanupDetail

Name Type Description
deleted_paths Array<string>
errors Array<WorkflowCleanupError>
tasks_cleaned integer
tasks_processed integer

WorkflowCleanupError

Name Type Description
error string
step_id string
task_id string(uuid)
task_type string

WorkflowCleanupResponse

Name Type Description
cleanup WorkflowCleanupDetail
workflow WorkflowPublic

WorkflowDetailResponse

Name Type Description
canvas_task_id
completed_at
completed_steps integer
config Workflow configuration
created_at string(date-time)
current_step
description
duration_ms Duration in milliseconds
error_message
errors Array<string> List of error messages
final_step_id
id string(uuid)
name string
origin_instance string
origin_reference
origin_tenant_id
origin_zone
progress number
started_at
status WorkflowStatus
steps Array<WorkflowStepMonitor> Workflow steps in execution order
total_steps integer
updated_at string(date-time)
webhook_url

WorkflowListItem

Name Type Description
completed_at
completed_steps integer
created_at string(date-time)
current_step
description
duration_ms Duration in milliseconds (computed from started_at to completed_at)
final_step_id
has_error boolean Whether workflow has any errors
id string(uuid)
name string
origin_instance string
origin_tenant_id
origin_zone
progress number
started_at
status WorkflowStatus
total_steps integer

WorkflowListResponse

Name Type Description
limit integer
skip integer
total integer
workflows Array<WorkflowPublic>

WorkflowPublic

Name Type Description
canvas_task_id
completed_at
completed_steps integer
config
created_at string(date-time)
current_step
deleted_at
description
error_message
errors Array<string>
final_step_id
final_step_result
id string(uuid)
is_deleted boolean
name string
origin_instance string
origin_reference
origin_tenant_id
origin_zone
progress number
started_at
status WorkflowStatus
steps Array<WorkflowStepPublic>
suppress_subtask_events boolean
total_steps integer
updated_at string(date-time)
webhook_url

WorkflowStatus

Type: string

WorkflowStepArtifacts

Name Type Description
artifacts Array<ArtifactRef>
node_type
status string
step_id string
task_id
task_type string

WorkflowStepDefinition

Name Type Description
active_provider_capabilities List of active capabilities for this task
config Static configuration for the task (prompt, dimensions, etc.)
depends_on Array<string> List of step IDs this step depends on
fallback_provider_capabilities Capabilities for the fallback provider.
fallback_provider_config Provider-specific config for the fallback provider.
fallback_provider_type Fallback provider activated when primary exhausts all retries.
id string Unique identifier for this step within the workflow
input_mappings Array<FieldMapping> Mappings from previous step outputs to this step's inputs
max_retries integer Maximum retry attempts for this step
node_schema_version integer Node input/output schema version
node_type Node dispatch key; None = legacy task_type dispatch
provider_config Provider-specific configuration (provider_type, fal_app_id, etc.)
task_type TaskType Type of task to execute

WorkflowStepMonitor

Name Type Description
completed_at
config Step configuration
dependencies Array<string> List of step IDs this step depends on
duration_ms Duration in milliseconds
error_message
id string(uuid)
input_mappings Array<> Input mappings from previous steps
max_retries integer
node_schema_version
node_type
result Output data from this step
retry_count integer
started_at
status StepStatus
step_id string Logical step identifier (e.g., 'generate', 'refine')
task_id ID of the task created for this step
task_type string Task type for this step

WorkflowStepPublic

Name Type Description
active_provider_capabilities
completed_at
config
created_at string(date-time)
dependencies Array<string>
error_message
fallback_provider_capabilities
fallback_provider_config
fallback_provider_type
id string(uuid)
input_mappings Array<>
max_retries integer
node_schema_version integer
node_type
provider_config
result
retry_count integer
started_at
status StepStatus
step_id string
task_id
task_type string
updated_at string(date-time)

WorkflowUpdate

Name Type Description
description
name
webhook_url

WorkflowValidateErrorDetail

Name Type Description
code string
field
message string
step_id

WorkflowValidateResponse

Name Type Description
errors Array<string>
errors_detail Array<WorkflowValidateErrorDetail>
execution_levels Array<Array<string>>
resolved_queues
terminal_step_id
valid boolean
warnings Array<WorkflowValidateWarning>

WorkflowValidateWarning

Name Type Description
code string
message string
step_id

WorkflowWindowStats

Name Type Description
completed integer
duration LatencyStats Workflow duration (started→completed)
failed integer
failure_rate failed / (completed + failed), 0-1; None if no terminal workflows
running integer
total integer Workflows created in this window
window string

Security schemes

Name Type Scheme Description
HTTPBearer http bearer