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¶
Authentication¶
All endpoints require API key authentication:
Full Reference¶
For a complete, unsplit API reference:
Custom API 1.0.0¶
This is a very custom OpenAPI schema
Training¶
POST /api/v1/training/¶
Create Training Task
Description
Create and start a new training task.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
Request body
{
"training_type": "FULL",
"entity_type": "SUBJECT",
"entity_id": null,
"trigger_word": "string",
"rank": null,
"steps": null,
"learning_rate": null,
"sample_prompts": null,
"source_images": null,
"base_model_path": null,
"bypass_guidance_embedding": null,
"webhook_url": null,
"origin_instance": null,
"origin_zone": null,
"origin_version": null,
"origin_tenant_id": null,
"preprocessing_transforms": null,
"preprocessing_captioning_strategy": null,
"preprocessing_captioning_prompt": null
}
Schema of the request body
{
"properties": {
"training_type": {
"$ref": "#/components/schemas/TrainingType",
"default": "LORA"
},
"entity_type": {
"$ref": "#/components/schemas/EntityType",
"default": "PRODUCT"
},
"entity_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Entity Id"
},
"trigger_word": {
"type": "string",
"title": "Trigger Word"
},
"rank": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Rank",
"default": 16
},
"steps": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Steps",
"default": 1000
},
"learning_rate": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Learning Rate",
"default": 0.0001
},
"sample_prompts": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Sample Prompts",
"default": []
},
"source_images": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Source Images",
"default": []
},
"base_model_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Base Model Path",
"default": "black-forest-labs/FLUX.1-dev"
},
"bypass_guidance_embedding": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Bypass Guidance Embedding",
"default": false
},
"webhook_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Webhook Url"
},
"origin_instance": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Instance",
"description": "Identifier for the instance that created this task (e.g., 'production', 'staging')",
"default": "unknown"
},
"origin_zone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Zone",
"description": "Environment identifier (e.g., 'eu', 'us')"
},
"origin_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Version",
"description": "Version of the backend that created this task"
},
"origin_tenant_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Tenant Id",
"description": "Optional tenant/organization identifier for multi-tenant setups"
},
"preprocessing_transforms": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Preprocessing Transforms",
"description": "List of image transformations to apply"
},
"preprocessing_captioning_strategy": {
"anyOf": [
{
"$ref": "#/components/schemas/CaptioningStrategy"
},
{
"type": "null"
}
],
"description": "Strategy for image captioning",
"default": "trigger_only"
},
"preprocessing_captioning_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Preprocessing Captioning Prompt",
"description": "Custom prompt for captioning"
}
},
"type": "object",
"required": [
"trigger_word"
],
"title": "TrainingTaskCreate",
"description": "Schema for creating new training tasks"
}
Responses
{
"id": "eec8347e-10bb-4138-b2b0-f55771e8b946",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"origin_instance": "string",
"origin_zone": null,
"origin_version": null,
"origin_tenant_id": null,
"training_type": "FULL",
"entity_type": "SUBJECT",
"entity_id": null,
"status": "PENDING",
"progress": 10.12,
"current_step": 0,
"total_steps": 0,
"eta_seconds": null,
"trigger_word": "string",
"training_folder": "string",
"rank": 0,
"save_every": 0,
"max_step_saves_to_keep": 0,
"batch_size": 0,
"steps": 0,
"learning_rate": 10.12,
"gradient_accumulation": 0,
"optimizer": "string",
"bypass_guidance_embedding": true,
"base_model_path": "string",
"local_model_path": null,
"sample_every": 0,
"sample_steps": 0,
"sample_prompts": [
"string"
],
"started_at": null,
"completed_at": null,
"logs": "string",
"error_message": null,
"webhook_url": "string",
"celery_training_task_id": null,
"celery_preprocessing_task_id": null,
"celery_chain_task_id": null,
"preprocessing_stage": null,
"processed_files_count": null,
"total_files_count": null,
"preprocessing_started_at": null,
"preprocessing_completed_at": null,
"source_images": [
"string"
],
"processed_dataset_path": null,
"preprocessing_transforms": null,
"preprocessing_captioning_strategy": "string",
"preprocessing_captioning_prompt": null,
"priority": 0,
"priority_changed_at": null
}
Schema of the response body
{
"properties": {
"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"
},
"origin_instance": {
"type": "string",
"title": "Origin Instance",
"description": "Identifier for the instance that created this task (e.g., 'production', 'staging')",
"default": "unknown"
},
"origin_zone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Zone",
"description": "Environment identifier (e.g., 'eu', 'us')"
},
"origin_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Version",
"description": "Version of the backend that created this task"
},
"origin_tenant_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Tenant Id",
"description": "Optional tenant/organization identifier for multi-tenant setups"
},
"training_type": {
"$ref": "#/components/schemas/TrainingType",
"default": "LORA"
},
"entity_type": {
"$ref": "#/components/schemas/EntityType",
"default": "PRODUCT"
},
"entity_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Entity Id"
},
"status": {
"$ref": "#/components/schemas/TrainingStatus",
"default": "PENDING"
},
"progress": {
"type": "number",
"title": "Progress",
"default": 0.0
},
"current_step": {
"type": "integer",
"title": "Current Step",
"default": 0
},
"total_steps": {
"type": "integer",
"title": "Total Steps",
"default": 1000
},
"eta_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Eta Seconds"
},
"trigger_word": {
"type": "string",
"title": "Trigger Word"
},
"training_folder": {
"type": "string",
"title": "Training Folder",
"default": ""
},
"rank": {
"type": "integer",
"title": "Rank",
"default": 16
},
"save_every": {
"type": "integer",
"title": "Save Every",
"default": 2000
},
"max_step_saves_to_keep": {
"type": "integer",
"title": "Max Step Saves To Keep",
"default": 4
},
"batch_size": {
"type": "integer",
"title": "Batch Size",
"default": 1
},
"steps": {
"type": "integer",
"title": "Steps",
"default": 1000
},
"learning_rate": {
"type": "number",
"title": "Learning Rate",
"default": 0.0001
},
"gradient_accumulation": {
"type": "integer",
"title": "Gradient Accumulation",
"default": 1
},
"optimizer": {
"type": "string",
"title": "Optimizer",
"default": "adamw8bit"
},
"bypass_guidance_embedding": {
"type": "boolean",
"title": "Bypass Guidance Embedding",
"default": false
},
"base_model_path": {
"type": "string",
"title": "Base Model Path",
"default": "black-forest-labs/FLUX.1-dev"
},
"local_model_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Local Model Path"
},
"sample_every": {
"type": "integer",
"title": "Sample Every",
"default": 250
},
"sample_steps": {
"type": "integer",
"title": "Sample Steps",
"default": 25
},
"sample_prompts": {
"items": {
"type": "string"
},
"type": "array",
"title": "Sample Prompts"
},
"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"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error_message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Error Message"
},
"webhook_url": {
"type": "string",
"title": "Webhook Url",
"default": ""
},
"celery_training_task_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Celery Training Task Id"
},
"celery_preprocessing_task_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Celery Preprocessing Task Id"
},
"celery_chain_task_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Celery Chain Task Id"
},
"preprocessing_stage": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Preprocessing Stage",
"description": "Current preprocessing stage (downloading, validating, etc.)"
},
"processed_files_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Processed Files Count",
"description": "Number of files processed during preprocessing"
},
"total_files_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Total Files Count",
"description": "Total number of files to process"
},
"preprocessing_started_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Preprocessing Started At",
"description": "When preprocessing phase started"
},
"preprocessing_completed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Preprocessing Completed At",
"description": "When preprocessing phase completed"
},
"source_images": {
"items": {
"type": "string"
},
"type": "array",
"title": "Source Images",
"description": "Original image paths from source system"
},
"processed_dataset_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Processed Dataset Path",
"description": "Path to the processed dataset on compute server"
},
"preprocessing_transforms": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Preprocessing Transforms",
"description": "List of image transformations to apply"
},
"preprocessing_captioning_strategy": {
"type": "string",
"title": "Preprocessing Captioning Strategy",
"description": "Strategy for image captioning",
"default": "trigger_only"
},
"preprocessing_captioning_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Preprocessing Captioning Prompt",
"description": "Custom prompt for captioning"
},
"priority": {
"$ref": "#/components/schemas/TaskPriority",
"description": "Task priority affecting queue position",
"default": 1
},
"priority_changed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Priority Changed At",
"description": "Timestamp of last priority change"
}
},
"type": "object",
"required": [
"trigger_word"
],
"title": "TrainingTask"
}
GET /api/v1/training/¶
List Training Tasks
Description
List all training tasks with pagination.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
limit |
query | integer | 10 | No | |
skip |
query | integer | 0 | No |
Responses
[
{
"id": "9a5bdc6b-b250-41cb-8e26-ddf3cd895c30",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"origin_instance": "string",
"origin_zone": null,
"origin_version": null,
"origin_tenant_id": null,
"training_type": "FULL",
"entity_type": "SUBJECT",
"entity_id": null,
"status": "PENDING",
"progress": 10.12,
"current_step": 0,
"total_steps": 0,
"eta_seconds": null,
"trigger_word": "string",
"training_folder": "string",
"rank": 0,
"save_every": 0,
"max_step_saves_to_keep": 0,
"batch_size": 0,
"steps": 0,
"learning_rate": 10.12,
"gradient_accumulation": 0,
"optimizer": "string",
"bypass_guidance_embedding": true,
"base_model_path": "string",
"local_model_path": null,
"sample_every": 0,
"sample_steps": 0,
"sample_prompts": [
"string"
],
"started_at": null,
"completed_at": null,
"logs": "string",
"error_message": null,
"webhook_url": "string",
"celery_training_task_id": null,
"celery_preprocessing_task_id": null,
"celery_chain_task_id": null,
"preprocessing_stage": null,
"processed_files_count": null,
"total_files_count": null,
"preprocessing_started_at": null,
"preprocessing_completed_at": null,
"source_images": [
"string"
],
"processed_dataset_path": null,
"preprocessing_transforms": null,
"preprocessing_captioning_strategy": "string",
"preprocessing_captioning_prompt": null,
"priority": 0,
"priority_changed_at": null
}
]
GET /api/v1/training/{task_id}¶
Get Training Status
Description
Get status of a training task.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
task_id |
path | string | No |
Responses
{
"id": "99193b9d-c469-46dc-a913-91272cb6528c",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"origin_instance": "string",
"origin_zone": null,
"origin_version": null,
"origin_tenant_id": null,
"training_type": "FULL",
"entity_type": "SUBJECT",
"entity_id": null,
"status": "PENDING",
"progress": 10.12,
"current_step": 0,
"total_steps": 0,
"eta_seconds": null,
"trigger_word": "string",
"training_folder": "string",
"rank": 0,
"save_every": 0,
"max_step_saves_to_keep": 0,
"batch_size": 0,
"steps": 0,
"learning_rate": 10.12,
"gradient_accumulation": 0,
"optimizer": "string",
"bypass_guidance_embedding": true,
"base_model_path": "string",
"local_model_path": null,
"sample_every": 0,
"sample_steps": 0,
"sample_prompts": [
"string"
],
"started_at": null,
"completed_at": null,
"logs": "string",
"error_message": null,
"webhook_url": "string",
"celery_training_task_id": null,
"celery_preprocessing_task_id": null,
"celery_chain_task_id": null,
"preprocessing_stage": null,
"processed_files_count": null,
"total_files_count": null,
"preprocessing_started_at": null,
"preprocessing_completed_at": null,
"source_images": [
"string"
],
"processed_dataset_path": null,
"preprocessing_transforms": null,
"preprocessing_captioning_strategy": "string",
"preprocessing_captioning_prompt": null,
"priority": 0,
"priority_changed_at": null
}
Schema of the response body
{
"properties": {
"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"
},
"origin_instance": {
"type": "string",
"title": "Origin Instance",
"description": "Identifier for the instance that created this task (e.g., 'production', 'staging')",
"default": "unknown"
},
"origin_zone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Zone",
"description": "Environment identifier (e.g., 'eu', 'us')"
},
"origin_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Version",
"description": "Version of the backend that created this task"
},
"origin_tenant_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Tenant Id",
"description": "Optional tenant/organization identifier for multi-tenant setups"
},
"training_type": {
"$ref": "#/components/schemas/TrainingType",
"default": "LORA"
},
"entity_type": {
"$ref": "#/components/schemas/EntityType",
"default": "PRODUCT"
},
"entity_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Entity Id"
},
"status": {
"$ref": "#/components/schemas/TrainingStatus",
"default": "PENDING"
},
"progress": {
"type": "number",
"title": "Progress",
"default": 0.0
},
"current_step": {
"type": "integer",
"title": "Current Step",
"default": 0
},
"total_steps": {
"type": "integer",
"title": "Total Steps",
"default": 1000
},
"eta_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Eta Seconds"
},
"trigger_word": {
"type": "string",
"title": "Trigger Word"
},
"training_folder": {
"type": "string",
"title": "Training Folder",
"default": ""
},
"rank": {
"type": "integer",
"title": "Rank",
"default": 16
},
"save_every": {
"type": "integer",
"title": "Save Every",
"default": 2000
},
"max_step_saves_to_keep": {
"type": "integer",
"title": "Max Step Saves To Keep",
"default": 4
},
"batch_size": {
"type": "integer",
"title": "Batch Size",
"default": 1
},
"steps": {
"type": "integer",
"title": "Steps",
"default": 1000
},
"learning_rate": {
"type": "number",
"title": "Learning Rate",
"default": 0.0001
},
"gradient_accumulation": {
"type": "integer",
"title": "Gradient Accumulation",
"default": 1
},
"optimizer": {
"type": "string",
"title": "Optimizer",
"default": "adamw8bit"
},
"bypass_guidance_embedding": {
"type": "boolean",
"title": "Bypass Guidance Embedding",
"default": false
},
"base_model_path": {
"type": "string",
"title": "Base Model Path",
"default": "black-forest-labs/FLUX.1-dev"
},
"local_model_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Local Model Path"
},
"sample_every": {
"type": "integer",
"title": "Sample Every",
"default": 250
},
"sample_steps": {
"type": "integer",
"title": "Sample Steps",
"default": 25
},
"sample_prompts": {
"items": {
"type": "string"
},
"type": "array",
"title": "Sample Prompts"
},
"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"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error_message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Error Message"
},
"webhook_url": {
"type": "string",
"title": "Webhook Url",
"default": ""
},
"celery_training_task_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Celery Training Task Id"
},
"celery_preprocessing_task_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Celery Preprocessing Task Id"
},
"celery_chain_task_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Celery Chain Task Id"
},
"preprocessing_stage": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Preprocessing Stage",
"description": "Current preprocessing stage (downloading, validating, etc.)"
},
"processed_files_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Processed Files Count",
"description": "Number of files processed during preprocessing"
},
"total_files_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Total Files Count",
"description": "Total number of files to process"
},
"preprocessing_started_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Preprocessing Started At",
"description": "When preprocessing phase started"
},
"preprocessing_completed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Preprocessing Completed At",
"description": "When preprocessing phase completed"
},
"source_images": {
"items": {
"type": "string"
},
"type": "array",
"title": "Source Images",
"description": "Original image paths from source system"
},
"processed_dataset_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Processed Dataset Path",
"description": "Path to the processed dataset on compute server"
},
"preprocessing_transforms": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Preprocessing Transforms",
"description": "List of image transformations to apply"
},
"preprocessing_captioning_strategy": {
"type": "string",
"title": "Preprocessing Captioning Strategy",
"description": "Strategy for image captioning",
"default": "trigger_only"
},
"preprocessing_captioning_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Preprocessing Captioning Prompt",
"description": "Custom prompt for captioning"
},
"priority": {
"$ref": "#/components/schemas/TaskPriority",
"description": "Task priority affecting queue position",
"default": 1
},
"priority_changed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Priority Changed At",
"description": "Timestamp of last priority change"
}
},
"type": "object",
"required": [
"trigger_word"
],
"title": "TrainingTask"
}
POST /api/v1/training/{task_id}/cancel¶
Cancel Training
Description
Cancel a running training task.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
task_id |
path | string | No |
Responses
{
"id": "adf8d245-4941-417d-92b2-1053cb086bb5",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"origin_instance": "string",
"origin_zone": null,
"origin_version": null,
"origin_tenant_id": null,
"training_type": "FULL",
"entity_type": "SUBJECT",
"entity_id": null,
"status": "PENDING",
"progress": 10.12,
"current_step": 0,
"total_steps": 0,
"eta_seconds": null,
"trigger_word": "string",
"training_folder": "string",
"rank": 0,
"save_every": 0,
"max_step_saves_to_keep": 0,
"batch_size": 0,
"steps": 0,
"learning_rate": 10.12,
"gradient_accumulation": 0,
"optimizer": "string",
"bypass_guidance_embedding": true,
"base_model_path": "string",
"local_model_path": null,
"sample_every": 0,
"sample_steps": 0,
"sample_prompts": [
"string"
],
"started_at": null,
"completed_at": null,
"logs": "string",
"error_message": null,
"webhook_url": "string",
"celery_training_task_id": null,
"celery_preprocessing_task_id": null,
"celery_chain_task_id": null,
"preprocessing_stage": null,
"processed_files_count": null,
"total_files_count": null,
"preprocessing_started_at": null,
"preprocessing_completed_at": null,
"source_images": [
"string"
],
"processed_dataset_path": null,
"preprocessing_transforms": null,
"preprocessing_captioning_strategy": "string",
"preprocessing_captioning_prompt": null,
"priority": 0,
"priority_changed_at": null
}
Schema of the response body
{
"properties": {
"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"
},
"origin_instance": {
"type": "string",
"title": "Origin Instance",
"description": "Identifier for the instance that created this task (e.g., 'production', 'staging')",
"default": "unknown"
},
"origin_zone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Zone",
"description": "Environment identifier (e.g., 'eu', 'us')"
},
"origin_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Version",
"description": "Version of the backend that created this task"
},
"origin_tenant_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Tenant Id",
"description": "Optional tenant/organization identifier for multi-tenant setups"
},
"training_type": {
"$ref": "#/components/schemas/TrainingType",
"default": "LORA"
},
"entity_type": {
"$ref": "#/components/schemas/EntityType",
"default": "PRODUCT"
},
"entity_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Entity Id"
},
"status": {
"$ref": "#/components/schemas/TrainingStatus",
"default": "PENDING"
},
"progress": {
"type": "number",
"title": "Progress",
"default": 0.0
},
"current_step": {
"type": "integer",
"title": "Current Step",
"default": 0
},
"total_steps": {
"type": "integer",
"title": "Total Steps",
"default": 1000
},
"eta_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Eta Seconds"
},
"trigger_word": {
"type": "string",
"title": "Trigger Word"
},
"training_folder": {
"type": "string",
"title": "Training Folder",
"default": ""
},
"rank": {
"type": "integer",
"title": "Rank",
"default": 16
},
"save_every": {
"type": "integer",
"title": "Save Every",
"default": 2000
},
"max_step_saves_to_keep": {
"type": "integer",
"title": "Max Step Saves To Keep",
"default": 4
},
"batch_size": {
"type": "integer",
"title": "Batch Size",
"default": 1
},
"steps": {
"type": "integer",
"title": "Steps",
"default": 1000
},
"learning_rate": {
"type": "number",
"title": "Learning Rate",
"default": 0.0001
},
"gradient_accumulation": {
"type": "integer",
"title": "Gradient Accumulation",
"default": 1
},
"optimizer": {
"type": "string",
"title": "Optimizer",
"default": "adamw8bit"
},
"bypass_guidance_embedding": {
"type": "boolean",
"title": "Bypass Guidance Embedding",
"default": false
},
"base_model_path": {
"type": "string",
"title": "Base Model Path",
"default": "black-forest-labs/FLUX.1-dev"
},
"local_model_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Local Model Path"
},
"sample_every": {
"type": "integer",
"title": "Sample Every",
"default": 250
},
"sample_steps": {
"type": "integer",
"title": "Sample Steps",
"default": 25
},
"sample_prompts": {
"items": {
"type": "string"
},
"type": "array",
"title": "Sample Prompts"
},
"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"
},
"logs": {
"type": "string",
"title": "Logs",
"default": ""
},
"error_message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Error Message"
},
"webhook_url": {
"type": "string",
"title": "Webhook Url",
"default": ""
},
"celery_training_task_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Celery Training Task Id"
},
"celery_preprocessing_task_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Celery Preprocessing Task Id"
},
"celery_chain_task_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Celery Chain Task Id"
},
"preprocessing_stage": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Preprocessing Stage",
"description": "Current preprocessing stage (downloading, validating, etc.)"
},
"processed_files_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Processed Files Count",
"description": "Number of files processed during preprocessing"
},
"total_files_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Total Files Count",
"description": "Total number of files to process"
},
"preprocessing_started_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Preprocessing Started At",
"description": "When preprocessing phase started"
},
"preprocessing_completed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Preprocessing Completed At",
"description": "When preprocessing phase completed"
},
"source_images": {
"items": {
"type": "string"
},
"type": "array",
"title": "Source Images",
"description": "Original image paths from source system"
},
"processed_dataset_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Processed Dataset Path",
"description": "Path to the processed dataset on compute server"
},
"preprocessing_transforms": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Preprocessing Transforms",
"description": "List of image transformations to apply"
},
"preprocessing_captioning_strategy": {
"type": "string",
"title": "Preprocessing Captioning Strategy",
"description": "Strategy for image captioning",
"default": "trigger_only"
},
"preprocessing_captioning_prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Preprocessing Captioning Prompt",
"description": "Custom prompt for captioning"
},
"priority": {
"$ref": "#/components/schemas/TaskPriority",
"description": "Task priority affecting queue position",
"default": 1
},
"priority_changed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Priority Changed At",
"description": "Timestamp of last priority change"
}
},
"type": "object",
"required": [
"trigger_word"
],
"title": "TrainingTask"
}
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"
}
],
"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"
}
],
"title": "Response Create Task"
}
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
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"
}
]
},
"title": "Response List Tasks"
}
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"
}
],
"title": "Response Get Task"
}
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"
}
],
"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"
}
],
"title": "Response Update Task"
}
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"
}
],
"title": "Response Delete Task"
}
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
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"
}
],
"title": "Response Cancel Task"
}
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
}
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": "841a9be8-c157-4bab-9a94-27ef022c7ff4",
"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
}
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"
}
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": "79942b2e-744b-4d34-9dd8-28c4b879320f",
"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
}
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"
}
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": "1f6aee9c-88ff-48b2-b7f6-44afbec98f61",
"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
}
]
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": "2449ecc5-69e8-4f1b-a82a-8df7318fd086",
"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
}
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"
}
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
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
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
Responses
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
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
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
}
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
}
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."
}
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"
}
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."
}
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
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."
}
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
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."
}
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
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."
}
workflows¶
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"
}
]
}
Schema of the request body
{
"properties": {
"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": "94d4b8a5-5ae8-42f2-9932-442e49f3d82c",
"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": "fb0ea3d2-3e65-4a4d-b62e-e8f703b8269d",
"step_id": "string",
"task_type": "string",
"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"
}
]
}
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."
}
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": "4d9f8c85-0771-41fb-a9bc-351c12dd504a",
"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": "ba240ffd-5271-48ee-b575-ffb626472149",
"step_id": "string",
"task_type": "string",
"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
}
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."
}
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": "f514a04c-441b-4240-8489-f11d59adf946",
"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": "263fd4c5-5ce8-4204-90c9-3ec5fb011053",
"step_id": "string",
"task_type": "string",
"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"
}
]
}
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."
}
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
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": "3dff83ec-0005-472e-ac1b-9bba4b832683",
"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": "2be37c44-bb21-4de0-8559-b152a2ed1eb6",
"step_id": "string",
"task_type": "string",
"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"
}
]
}
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."
}
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": "e0ed5a5a-43c5-4466-95fe-ca26b4818318",
"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": "d4420310-b438-4806-a505-391d10908354",
"step_id": "string",
"task_type": "string",
"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"
}
]
}
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."
}
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": "c538fc6c-262e-48c5-8852-6648e8ea516c",
"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": "217211be-719b-4f84-b59d-9ca4300c04dd",
"step_id": "string",
"task_type": "string",
"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"
}
]
}
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."
}
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": "fdfb85f3-d4a8-4959-9138-78fb3b3dbeee",
"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": "b74adb89-fead-4b37-9839-5e0f5de13a9d",
"step_id": "string",
"task_type": "string",
"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"
}
]
}
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."
}
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": "ac038acb-8578-43ba-9a98-17bf90da4363",
"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": "6112098c-dd46-4609-a0b9-64291fb87e3d",
"step_id": "string",
"task_type": "string",
"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": "521ed757-50b0-45be-9df6-521b41d78528",
"step_id": "string",
"task_type": "string",
"error": "string"
}
]
}
}
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."
}
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 | ||
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 | ||
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": "fcf86e4e-bb1c-4abc-bffe-e916905cd9e0",
"task_type": "GENERATION",
"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
}
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."
}
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": "bb3b9565-7e33-49d1-9f88-f15d70727a1c",
"task_type": "GENERATION",
"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": {}
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"task_type": {
"$ref": "#/components/schemas/TaskType"
},
"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."
}
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": "633df886-5cff-4efa-af77-9d6f13a0a4c6",
"inputs": [
{
"name": "string",
"path": "string",
"url": "string",
"media_type": "string"
}
],
"outputs": null
}
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."
}
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
}
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."
}
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": "c0f4db6a-c287-496c-b2c3-87789633f916",
"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
}
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."
}
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
}
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."
}
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": "b8357e5c-9514-44a2-b684-7c413b527e3f",
"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": "18b6196c-088e-4c91-8a3e-88a9e14bb9b2",
"step_id": "string",
"task_type": "string",
"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
}
]
}
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."
}
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,
"avg_wait_time_ms": null,
"tasks_completed_last_hour": 0
}
],
"total_pending": 0,
"total_active": 0,
"timestamp": "2022-04-13T15:42:05.901Z"
}
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
}
],
"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"
}
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/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"
}
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."
}
Endpoints¶
GET /health¶
Health Check
Responses
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
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 |
||
error_category |
||
errors |
||
executor_instance |
||
executor_type |
||
fallback_provider_capabilities |
||
fallback_provider_config |
||
fallback_provider_type |
||
id |
string(uuid) | |
light_threshold |
||
mask_expansion_percentage |
||
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 |
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_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 |
CaptioningStrategy¶
Type: string
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 |
Gaussian blur sigma for soft edge transitions (default 20.0) | |
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). | |
light_threshold |
Brightness above which full color shift applied (0-255, default 220) | |
mask_expansion_percentage |
Percentage to expand person mask (0-1, default 0.005 = 0.5%) | |
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 |
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 |
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 |
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. | |
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 |
Minimum bottom margin as percentage of final height (0.0-1.0). Subject detection required. | |
margin_left |
Minimum left margin as percentage of final width (0.0-1.0). Subject detection required. | |
margin_right |
Minimum right margin as percentage of final width (0.0-1.0). Subject detection required. | |
margin_top |
Minimum top margin as percentage of final height (0.0-1.0). 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 margins exactly (may crop horizontally). | |
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 |
CreateLLMInteractionTask¶
| 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_images |
List of image paths/URLs | |
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 | User 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 |
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 | |
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) | |
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 |
EntityType¶
Type: string
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 |
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 |
||
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 | |
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 |
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_version |
||
origin_zone |
||
prompt_id |
||
refined_image_path |
||
result_image_path |
||
status |
string | |
task_id |
string(uuid) | |
timestamp |
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 |
||
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 |
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. |
PreprocessingStatusEvent¶
| Name | Type | Description |
|---|---|---|
completed_at |
||
current_stage |
||
entity_id |
||
error_message |
||
event_type |
EventType | |
metadata |
||
origin_instance |
||
origin_version |
||
origin_zone |
||
processed_dataset_path |
||
processed_files_count |
integer | |
progress |
number | |
status |
string | |
task_id |
string(uuid) | |
timestamp |
||
total_files_count |
integer |
ProviderCapability¶
Type: string
ProviderConfig¶
Type:
ProviderType¶
Type: string
QueueStats¶
| Name | Type | Description |
|---|---|---|
active_tasks |
integer | Number of tasks currently being executed |
active_workers |
integer | Number of workers consuming this queue |
avg_wait_time_ms |
Average time tasks wait in queue before execution (ms) | |
depth |
integer | Number of pending tasks in queue |
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 |
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 |
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. |
StepStatus¶
Type: string
TaskCreatedEvent¶
| Name | Type | Description |
|---|---|---|
created_at |
string(date-time) | |
entity_id |
||
event_type |
EventType | |
metadata |
||
origin_instance |
||
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 | |
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) | |
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) |
TaskPriority¶
Type: integer
TaskStatus¶
Type: string
TaskStatusEvent¶
| Name | Type | Description |
|---|---|---|
completed_at |
||
entity_id |
||
error_category |
||
error_message |
||
event_type |
EventType | |
metadata |
||
origin_instance |
||
origin_version |
||
origin_zone |
||
progress |
number | Task progress percentage |
started_at |
||
status |
TaskStatus | |
task_id |
string(uuid) | |
task_type |
string | |
timestamp |
TaskType¶
Type: string
TrainingStatus¶
Type: string
TrainingStatusEvent¶
| Name | Type | Description |
|---|---|---|
completed_at |
||
current_step |
integer | |
entity_id |
||
error_message |
||
eta_seconds |
||
event_type |
EventType | |
local_model_path |
||
metadata |
||
origin_instance |
||
origin_version |
||
origin_zone |
||
progress |
number | |
status |
string | |
task_id |
string(uuid) | |
timestamp |
||
total_steps |
integer |
TrainingTask¶
| Name | Type | Description |
|---|---|---|
base_model_path |
string | |
batch_size |
integer | |
bypass_guidance_embedding |
boolean | |
celery_chain_task_id |
||
celery_preprocessing_task_id |
||
celery_training_task_id |
||
completed_at |
||
created_at |
string(date-time) | |
current_step |
integer | |
entity_id |
||
entity_type |
EntityType | |
error_message |
||
eta_seconds |
||
gradient_accumulation |
integer | |
id |
string(uuid) | |
learning_rate |
number | |
local_model_path |
||
logs |
string | |
max_step_saves_to_keep |
integer | |
optimizer |
string | |
origin_instance |
string | Identifier for the instance that created this task (e.g., 'production', 'staging') |
origin_tenant_id |
Optional tenant/organization identifier for multi-tenant setups | |
origin_version |
Version of the backend that created this task | |
origin_zone |
Environment identifier (e.g., 'eu', 'us') | |
preprocessing_captioning_prompt |
Custom prompt for captioning | |
preprocessing_captioning_strategy |
string | Strategy for image captioning |
preprocessing_completed_at |
When preprocessing phase completed | |
preprocessing_stage |
Current preprocessing stage (downloading, validating, etc.) | |
preprocessing_started_at |
When preprocessing phase started | |
preprocessing_transforms |
List of image transformations to apply | |
priority |
TaskPriority | Task priority affecting queue position |
priority_changed_at |
Timestamp of last priority change | |
processed_dataset_path |
Path to the processed dataset on compute server | |
processed_files_count |
Number of files processed during preprocessing | |
progress |
number | |
rank |
integer | |
sample_every |
integer | |
sample_prompts |
Array<string> | |
sample_steps |
integer | |
save_every |
integer | |
source_images |
Array<string> | Original image paths from source system |
started_at |
||
status |
TrainingStatus | |
steps |
integer | |
total_files_count |
Total number of files to process | |
total_steps |
integer | |
training_folder |
string | |
training_type |
TrainingType | |
trigger_word |
string | |
updated_at |
string(date-time) | |
webhook_url |
string |
TrainingTaskCreate¶
| Name | Type | Description |
|---|---|---|
base_model_path |
||
bypass_guidance_embedding |
||
entity_id |
||
entity_type |
EntityType | |
learning_rate |
||
origin_instance |
Identifier for the instance that created this task (e.g., 'production', 'staging') | |
origin_tenant_id |
Optional tenant/organization identifier for multi-tenant setups | |
origin_version |
Version of the backend that created this task | |
origin_zone |
Environment identifier (e.g., 'eu', 'us') | |
preprocessing_captioning_prompt |
Custom prompt for captioning | |
preprocessing_captioning_strategy |
Strategy for image captioning | |
preprocessing_transforms |
List of image transformations to apply | |
rank |
||
sample_prompts |
||
source_images |
||
steps |
||
training_type |
TrainingType | |
trigger_word |
string | |
webhook_url |
TrainingType¶
Type: string
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 |
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 |
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
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 |
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 | |
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 | |
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 |
Security schemes¶
| Name | Type | Scheme | Description |
|---|---|---|---|
| HTTPBearer | http | bearer |