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
Tasks¶
POST /api/v1/tasks/¶
Create Task
Description
Create and start a new task.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
Request body
Schema of the request body
{
"anyOf": [
{
"$ref": "#/components/schemas/CreateGenerationTask"
},
{
"$ref": "#/components/schemas/CreateEditingTask"
},
{
"$ref": "#/components/schemas/CreateRefineTask"
},
{
"$ref": "#/components/schemas/CreateExperimentalFalTask"
},
{
"$ref": "#/components/schemas/CreateVideoGenerationTask"
},
{
"$ref": "#/components/schemas/CreateLLMInteractionTask"
},
{
"$ref": "#/components/schemas/CreateBackgroundRemovalTask"
},
{
"$ref": "#/components/schemas/CreateDetailEnhancerTask"
},
{
"$ref": "#/components/schemas/CreateBackgroundFixTask"
},
{
"$ref": "#/components/schemas/CreateImageAdjusterTask"
},
{
"$ref": "#/components/schemas/CreateFaceEnhancerTask"
},
{
"$ref": "#/components/schemas/CreateSegmenterTask"
},
{
"$ref": "#/components/schemas/CreateTransformationsSolverTask"
},
{
"$ref": "#/components/schemas/CreateImageTransformerTask"
},
{
"$ref": "#/components/schemas/CreateBackgroundFixerTask"
},
{
"$ref": "#/components/schemas/CreateCheckerTask"
}
],
"title": "Task Data"
}
Responses
Schema of the response body
{
"anyOf": [
{
"$ref": "#/components/schemas/GenerationTaskPublic"
},
{
"$ref": "#/components/schemas/EditingTaskPublic"
},
{
"$ref": "#/components/schemas/RefineTaskPublic"
},
{
"$ref": "#/components/schemas/ExperimentalFalTaskPublic"
},
{
"$ref": "#/components/schemas/VideoGenerationTaskPublic"
},
{
"$ref": "#/components/schemas/LLMInteractionTaskPublic"
},
{
"$ref": "#/components/schemas/BackgroundRemovalTaskPublic"
},
{
"$ref": "#/components/schemas/DetailEnhancerTaskPublic"
},
{
"$ref": "#/components/schemas/BackgroundFixTaskPublic"
},
{
"$ref": "#/components/schemas/ImageAdjusterTaskPublic"
},
{
"$ref": "#/components/schemas/FaceEnhancerTaskPublic"
},
{
"$ref": "#/components/schemas/SegmenterTaskPublic"
},
{
"$ref": "#/components/schemas/TransformationsSolverTaskPublic"
},
{
"$ref": "#/components/schemas/ImageTransformerTaskPublic"
},
{
"$ref": "#/components/schemas/BackgroundFixerTaskPublic"
},
{
"$ref": "#/components/schemas/CheckerTaskPublic"
}
],
"title": "Response Create Task"
}
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"
},
{
"$ref": "#/components/schemas/SegmenterTaskPublic"
},
{
"$ref": "#/components/schemas/TransformationsSolverTaskPublic"
},
{
"$ref": "#/components/schemas/ImageTransformerTaskPublic"
},
{
"$ref": "#/components/schemas/BackgroundFixerTaskPublic"
},
{
"$ref": "#/components/schemas/CheckerTaskPublic"
}
]
},
"title": "Response List Tasks"
}
GET /api/v1/tasks/generation¶
List Generation Tasks
Description
List generation tasks with optional filtering and pagination.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
limit |
query | integer | 100 | No | Maximum number of tasks to return |
origin_instance |
query | No | Filter by origin instance | ||
origin_tenant_id |
query | No | Filter by origin tenant ID | ||
origin_zone |
query | No | Filter by origin zone | ||
skip |
query | integer | 0 | No | Number of tasks to skip |
status |
query | No | Filter by task status | ||
workflow_id |
query | No | Filter by workflow ID |
Responses
[
{
"task_type": "string",
"priority": 0,
"config": null,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"origin_reference": null,
"id": "e2dbb0b4-089f-4dae-822a-390933ae6e2c",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"status": "PENDING",
"started_at": null,
"completed_at": null,
"executor_type": null,
"executor_instance": null,
"celery_task_id": null,
"service_task_id": null,
"provider_type": null,
"active_provider_capabilities": null,
"fallback_provider_type": null,
"fallback_provider_config": null,
"fallback_provider_capabilities": null,
"errors": null,
"error_category": null,
"retry_count": 0,
"progress": 10.12,
"provider_config": null,
"subject_model_path": null,
"product_model_path": null,
"style_model_path": null,
"product2_model_path": null,
"subject_lora_weight": null,
"product_lora_weight": null,
"style_lora_weight": null,
"product2_lora_weight": null,
"workflow_id": null,
"prompt": null,
"width": null,
"height": null,
"seed": null,
"result_image_path": null,
"reference_image_path": null,
"reference_image_strength": null,
"fal_app_id": null,
"fal_request_id": null
}
]
GET /api/v1/tasks/{task_id}¶
Get Task
Description
Get a specific task by ID.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
task_id |
path | string | No |
Responses
Schema of the response body
{
"anyOf": [
{
"$ref": "#/components/schemas/GenerationTaskPublic"
},
{
"$ref": "#/components/schemas/EditingTaskPublic"
},
{
"$ref": "#/components/schemas/RefineTaskPublic"
},
{
"$ref": "#/components/schemas/ExperimentalFalTaskPublic"
},
{
"$ref": "#/components/schemas/VideoGenerationTaskPublic"
},
{
"$ref": "#/components/schemas/LLMInteractionTaskPublic"
},
{
"$ref": "#/components/schemas/BackgroundRemovalTaskPublic"
},
{
"$ref": "#/components/schemas/DetailEnhancerTaskPublic"
},
{
"$ref": "#/components/schemas/BackgroundFixTaskPublic"
},
{
"$ref": "#/components/schemas/ImageAdjusterTaskPublic"
},
{
"$ref": "#/components/schemas/FaceEnhancerTaskPublic"
},
{
"$ref": "#/components/schemas/SegmenterTaskPublic"
},
{
"$ref": "#/components/schemas/TransformationsSolverTaskPublic"
},
{
"$ref": "#/components/schemas/ImageTransformerTaskPublic"
},
{
"$ref": "#/components/schemas/BackgroundFixerTaskPublic"
},
{
"$ref": "#/components/schemas/CheckerTaskPublic"
}
],
"title": "Response Get Task"
}
PUT /api/v1/tasks/{task_id}¶
Update Task
Description
Update a specific task.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
task_id |
path | string | No |
Request body
Schema of the request body
{
"anyOf": [
{
"$ref": "#/components/schemas/GenerationTaskPublicUpdate"
},
{
"$ref": "#/components/schemas/EditingTaskPublicUpdate"
},
{
"$ref": "#/components/schemas/RefineTaskPublicUpdate"
},
{
"$ref": "#/components/schemas/ExperimentalFalTaskPublicUpdate"
},
{
"$ref": "#/components/schemas/VideoGenerationTaskPublicUpdate"
},
{
"$ref": "#/components/schemas/LLMInteractionTaskPublicUpdate"
},
{
"$ref": "#/components/schemas/BackgroundRemovalTaskPublicUpdate"
},
{
"$ref": "#/components/schemas/DetailEnhancerTaskPublicUpdate"
},
{
"$ref": "#/components/schemas/BackgroundFixTaskPublicUpdate"
},
{
"$ref": "#/components/schemas/ImageAdjusterTaskPublicUpdate"
},
{
"$ref": "#/components/schemas/FaceEnhancerTaskPublicUpdate"
},
{
"$ref": "#/components/schemas/SegmenterTaskPublicUpdate"
},
{
"$ref": "#/components/schemas/TransformationsSolverTaskPublicUpdate"
},
{
"$ref": "#/components/schemas/ImageTransformerTaskPublicUpdate"
},
{
"$ref": "#/components/schemas/BackgroundFixerTaskPublicUpdate"
},
{
"$ref": "#/components/schemas/CheckerTaskPublicUpdate"
}
],
"title": "Update Data"
}
Responses
Schema of the response body
{
"anyOf": [
{
"$ref": "#/components/schemas/GenerationTaskPublic"
},
{
"$ref": "#/components/schemas/EditingTaskPublic"
},
{
"$ref": "#/components/schemas/RefineTaskPublic"
},
{
"$ref": "#/components/schemas/ExperimentalFalTaskPublic"
},
{
"$ref": "#/components/schemas/VideoGenerationTaskPublic"
},
{
"$ref": "#/components/schemas/LLMInteractionTaskPublic"
},
{
"$ref": "#/components/schemas/BackgroundRemovalTaskPublic"
},
{
"$ref": "#/components/schemas/DetailEnhancerTaskPublic"
},
{
"$ref": "#/components/schemas/BackgroundFixTaskPublic"
},
{
"$ref": "#/components/schemas/ImageAdjusterTaskPublic"
},
{
"$ref": "#/components/schemas/FaceEnhancerTaskPublic"
},
{
"$ref": "#/components/schemas/SegmenterTaskPublic"
},
{
"$ref": "#/components/schemas/TransformationsSolverTaskPublic"
},
{
"$ref": "#/components/schemas/ImageTransformerTaskPublic"
},
{
"$ref": "#/components/schemas/BackgroundFixerTaskPublic"
},
{
"$ref": "#/components/schemas/CheckerTaskPublic"
}
],
"title": "Response Update Task"
}
DELETE /api/v1/tasks/{task_id}¶
Delete Task
Description
Delete a task and permanently remove its associated files.
This endpoint: 1. Permanently deletes all associated image files 2. Removes the task record from the database
For image-based tasks (EDITING, GENERATION, REFINE), this will permanently delete all files in: - editings/{task_id}/ for EDITING tasks - generations/{task_id}/ for GENERATION tasks - refines/{task_id}/ for REFINE tasks
Unlike /cleanup, this endpoint completely removes the task from the database (no audit trail).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
task_id |
path | string | No |
Responses
Schema of the response body
{
"anyOf": [
{
"$ref": "#/components/schemas/GenerationTaskPublic"
},
{
"$ref": "#/components/schemas/EditingTaskPublic"
},
{
"$ref": "#/components/schemas/RefineTaskPublic"
},
{
"$ref": "#/components/schemas/ExperimentalFalTaskPublic"
},
{
"$ref": "#/components/schemas/VideoGenerationTaskPublic"
},
{
"$ref": "#/components/schemas/LLMInteractionTaskPublic"
},
{
"$ref": "#/components/schemas/BackgroundRemovalTaskPublic"
},
{
"$ref": "#/components/schemas/DetailEnhancerTaskPublic"
},
{
"$ref": "#/components/schemas/BackgroundFixTaskPublic"
},
{
"$ref": "#/components/schemas/ImageAdjusterTaskPublic"
},
{
"$ref": "#/components/schemas/FaceEnhancerTaskPublic"
},
{
"$ref": "#/components/schemas/SegmenterTaskPublic"
},
{
"$ref": "#/components/schemas/TransformationsSolverTaskPublic"
},
{
"$ref": "#/components/schemas/ImageTransformerTaskPublic"
},
{
"$ref": "#/components/schemas/BackgroundFixerTaskPublic"
},
{
"$ref": "#/components/schemas/CheckerTaskPublic"
}
],
"title": "Response Delete Task"
}
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"
},
{
"$ref": "#/components/schemas/SegmenterTaskPublic"
},
{
"$ref": "#/components/schemas/TransformationsSolverTaskPublic"
},
{
"$ref": "#/components/schemas/ImageTransformerTaskPublic"
},
{
"$ref": "#/components/schemas/BackgroundFixerTaskPublic"
},
{
"$ref": "#/components/schemas/CheckerTaskPublic"
}
],
"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": "d3f61f40-1be9-4dd7-ab94-a938455b960f",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"status": "PENDING",
"started_at": null,
"completed_at": null,
"executor_type": null,
"executor_instance": null,
"celery_task_id": null,
"service_task_id": null,
"provider_type": null,
"active_provider_capabilities": null,
"fallback_provider_type": null,
"fallback_provider_config": null,
"fallback_provider_capabilities": null,
"errors": null,
"error_category": null,
"retry_count": 0,
"progress": 10.12,
"provider_config": null,
"subject_model_path": null,
"product_model_path": null,
"style_model_path": null,
"product2_model_path": null,
"subject_lora_weight": null,
"product_lora_weight": null,
"style_lora_weight": null,
"product2_lora_weight": null,
"workflow_id": null,
"prompt": null,
"width": null,
"height": null,
"seed": null,
"result_image_path": null,
"reference_image_path": null,
"reference_image_strength": null,
"fal_app_id": null,
"fal_request_id": null
}
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": "7f5478b0-4185-4df6-8349-e1220452eb55",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"status": "PENDING",
"started_at": null,
"completed_at": null,
"executor_type": null,
"executor_instance": null,
"celery_task_id": null,
"service_task_id": null,
"provider_type": null,
"active_provider_capabilities": null,
"fallback_provider_type": null,
"fallback_provider_config": null,
"fallback_provider_capabilities": null,
"errors": null,
"error_category": null,
"retry_count": 0,
"progress": 10.12,
"provider_config": null,
"subject_model_path": null,
"product_model_path": null,
"style_model_path": null,
"product2_model_path": null,
"subject_lora_weight": null,
"product_lora_weight": null,
"style_lora_weight": null,
"product2_lora_weight": null,
"workflow_id": null,
"prompt": null,
"width": null,
"height": null,
"seed": null,
"result_image_path": null,
"reference_image_path": null,
"reference_image_strength": null,
"fal_app_id": null,
"fal_request_id": null
}
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"
}
POST /api/v1/tasks/generation/{task_id}/cancel¶
Cancel Generation Task
Description
Cancel a specific generation task.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
task_id |
path | string | No |
Responses
{
"task_type": "string",
"priority": 0,
"config": null,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"origin_reference": null,
"id": "80e2906a-682e-4cf3-b589-5f53fd9d019d",
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"status": "PENDING",
"started_at": null,
"completed_at": null,
"executor_type": null,
"executor_instance": null,
"celery_task_id": null,
"service_task_id": null,
"provider_type": null,
"active_provider_capabilities": null,
"fallback_provider_type": null,
"fallback_provider_config": null,
"fallback_provider_capabilities": null,
"errors": null,
"error_category": null,
"retry_count": 0,
"progress": 10.12,
"provider_config": null,
"subject_model_path": null,
"product_model_path": null,
"style_model_path": null,
"product2_model_path": null,
"subject_lora_weight": null,
"product_lora_weight": null,
"style_lora_weight": null,
"product2_lora_weight": null,
"workflow_id": null,
"prompt": null,
"width": null,
"height": null,
"seed": null,
"result_image_path": null,
"reference_image_path": null,
"reference_image_strength": null,
"fal_app_id": null,
"fal_request_id": null
}
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/validate¶
Validate Workflow Definition
Description
Validate a workflow definition without creating DB rows or files.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
Request body
{
"description": "Generate and refine fashion images",
"name": "Fashion Image Pipeline",
"origin_instance": "api-prod",
"steps": [
{
"config": {
"height": 1024,
"prompt": "fashion model wearing elegant dress",
"width": 1024
},
"id": "generate",
"task_type": "GENERATION"
},
{
"config": {
"upscale_factor": 2.0
},
"depends_on": [
"generate"
],
"id": "refine",
"input_mappings": [
{
"from_field": "result_image_path",
"from_step": "generate",
"to_field": "base_image_url"
}
],
"task_type": "REFINE"
}
]
}
Schema of the request body
{
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Id",
"description": "Optional caller-assigned ID used to make workflow creation idempotent"
},
"name": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"title": "Name",
"description": "Human-readable workflow name"
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 1000
},
{
"type": "null"
}
],
"title": "Description",
"description": "Optional workflow description"
},
"steps": {
"items": {
"$ref": "#/components/schemas/WorkflowStepDefinition"
},
"type": "array",
"minItems": 1,
"title": "Steps",
"description": "List of steps defining the workflow DAG"
},
"config": {
"additionalProperties": true,
"type": "object",
"title": "Config",
"description": "Global workflow configuration"
},
"origin_instance": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"title": "Origin Instance",
"description": "Origin instance identifier"
},
"origin_zone": {
"anyOf": [
{
"type": "string",
"maxLength": 50
},
{
"type": "null"
}
],
"title": "Origin Zone",
"description": "Origin zone identifier"
},
"origin_tenant_id": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
],
"title": "Origin Tenant Id",
"description": "Tenant identifier for multi-tenant setups"
},
"origin_reference": {
"anyOf": [
{
"type": "string",
"maxLength": 512
},
{
"type": "null"
}
],
"title": "Origin Reference",
"description": "External reference ID for tracking"
},
"webhook_url": {
"anyOf": [
{
"type": "string",
"maxLength": 512
},
{
"type": "null"
}
],
"title": "Webhook Url",
"description": "URL to call when workflow completes"
},
"suppress_subtask_events": {
"type": "boolean",
"title": "Suppress Subtask Events",
"description": "Whether to suppress individual task events",
"default": true
}
},
"type": "object",
"required": [
"name",
"steps",
"origin_instance"
],
"title": "CreateWorkflow",
"description": "Schema for creating a new workflow.",
"example": {
"description": "Generate and refine fashion images",
"name": "Fashion Image Pipeline",
"origin_instance": "api-prod",
"steps": [
{
"config": {
"height": 1024,
"prompt": "fashion model wearing elegant dress",
"width": 1024
},
"id": "generate",
"task_type": "GENERATION"
},
{
"config": {
"upscale_factor": 2.0
},
"depends_on": [
"generate"
],
"id": "refine",
"input_mappings": [
{
"from_field": "result_image_path",
"from_step": "generate",
"to_field": "base_image_url"
}
],
"task_type": "REFINE"
}
]
}
}
Responses
{
"valid": true,
"errors": [
"string"
],
"errors_detail": [
{
"step_id": null,
"field": null,
"code": "dag_structure",
"message": "string"
}
],
"warnings": [
{
"step_id": null,
"code": "unknown_config_keys",
"message": "string"
}
],
"terminal_step_id": null,
"execution_levels": [
[
"string"
]
],
"resolved_queues": {}
}
Schema of the response body
{
"properties": {
"valid": {
"type": "boolean",
"title": "Valid"
},
"errors": {
"items": {
"type": "string"
},
"type": "array",
"title": "Errors"
},
"errors_detail": {
"items": {
"$ref": "#/components/schemas/WorkflowValidateErrorDetail"
},
"type": "array",
"title": "Errors Detail"
},
"warnings": {
"items": {
"$ref": "#/components/schemas/WorkflowValidateWarning"
},
"type": "array",
"title": "Warnings"
},
"terminal_step_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Terminal Step Id"
},
"execution_levels": {
"items": {
"items": {
"type": "string"
},
"type": "array"
},
"type": "array",
"title": "Execution Levels"
},
"resolved_queues": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Resolved Queues"
}
},
"type": "object",
"required": [
"valid",
"errors",
"errors_detail",
"warnings",
"terminal_step_id",
"execution_levels",
"resolved_queues"
],
"title": "WorkflowValidateResponse",
"description": "Response from the workflow validate-only endpoint."
}
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": {
"id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Id",
"description": "Optional caller-assigned ID used to make workflow creation idempotent"
},
"name": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"title": "Name",
"description": "Human-readable workflow name"
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 1000
},
{
"type": "null"
}
],
"title": "Description",
"description": "Optional workflow description"
},
"steps": {
"items": {
"$ref": "#/components/schemas/WorkflowStepDefinition"
},
"type": "array",
"minItems": 1,
"title": "Steps",
"description": "List of steps defining the workflow DAG"
},
"config": {
"additionalProperties": true,
"type": "object",
"title": "Config",
"description": "Global workflow configuration"
},
"origin_instance": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"title": "Origin Instance",
"description": "Origin instance identifier"
},
"origin_zone": {
"anyOf": [
{
"type": "string",
"maxLength": 50
},
{
"type": "null"
}
],
"title": "Origin Zone",
"description": "Origin zone identifier"
},
"origin_tenant_id": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
],
"title": "Origin Tenant Id",
"description": "Tenant identifier for multi-tenant setups"
},
"origin_reference": {
"anyOf": [
{
"type": "string",
"maxLength": 512
},
{
"type": "null"
}
],
"title": "Origin Reference",
"description": "External reference ID for tracking"
},
"webhook_url": {
"anyOf": [
{
"type": "string",
"maxLength": 512
},
{
"type": "null"
}
],
"title": "Webhook Url",
"description": "URL to call when workflow completes"
},
"suppress_subtask_events": {
"type": "boolean",
"title": "Suppress Subtask Events",
"description": "Whether to suppress individual task events",
"default": true
}
},
"type": "object",
"required": [
"name",
"steps",
"origin_instance"
],
"title": "CreateWorkflow",
"description": "Schema for creating a new workflow.",
"example": {
"description": "Generate and refine fashion images",
"name": "Fashion Image Pipeline",
"origin_instance": "api-prod",
"steps": [
{
"config": {
"height": 1024,
"prompt": "fashion model wearing elegant dress",
"width": 1024
},
"id": "generate",
"task_type": "GENERATION"
},
{
"config": {
"upscale_factor": 2.0
},
"depends_on": [
"generate"
],
"id": "refine",
"input_mappings": [
{
"from_field": "result_image_path",
"from_step": "generate",
"to_field": "base_image_url"
}
],
"task_type": "REFINE"
}
]
}
}
Responses
{
"id": "314a8f17-3677-463a-8e55-93ef18c45338",
"name": "string",
"description": null,
"status": "PENDING",
"total_steps": 0,
"completed_steps": 0,
"progress": 10.12,
"current_step": null,
"final_step_id": null,
"final_step_result": null,
"canvas_task_id": null,
"config": {},
"suppress_subtask_events": true,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"origin_reference": null,
"webhook_url": null,
"error_message": null,
"errors": [
"string"
],
"started_at": null,
"completed_at": null,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"is_deleted": true,
"deleted_at": null,
"steps": [
{
"id": "430cfccc-ea29-4db3-85f7-afa1df0a6bf7",
"step_id": "string",
"task_type": "string",
"node_type": null,
"node_schema_version": 0,
"config": {},
"provider_config": null,
"active_provider_capabilities": null,
"fallback_provider_type": null,
"fallback_provider_config": null,
"fallback_provider_capabilities": null,
"dependencies": [
"string"
],
"input_mappings": [
{}
],
"status": "PENDING",
"task_id": null,
"result": null,
"error_message": null,
"started_at": null,
"completed_at": null,
"retry_count": 0,
"max_retries": 0,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z"
}
]
}
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": "b8e219a3-a826-4dca-b2c2-fdddfc63d291",
"name": "string",
"description": null,
"status": "PENDING",
"total_steps": 0,
"completed_steps": 0,
"progress": 10.12,
"current_step": null,
"final_step_id": null,
"final_step_result": null,
"canvas_task_id": null,
"config": {},
"suppress_subtask_events": true,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"origin_reference": null,
"webhook_url": null,
"error_message": null,
"errors": [
"string"
],
"started_at": null,
"completed_at": null,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"is_deleted": true,
"deleted_at": null,
"steps": [
{
"id": "f6b6261e-b313-49de-897e-fe581b445e2a",
"step_id": "string",
"task_type": "string",
"node_type": null,
"node_schema_version": 0,
"config": {},
"provider_config": null,
"active_provider_capabilities": null,
"fallback_provider_type": null,
"fallback_provider_config": null,
"fallback_provider_capabilities": null,
"dependencies": [
"string"
],
"input_mappings": [
{}
],
"status": "PENDING",
"task_id": null,
"result": null,
"error_message": null,
"started_at": null,
"completed_at": null,
"retry_count": 0,
"max_retries": 0,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z"
}
]
}
],
"total": 0,
"skip": 0,
"limit": 0
}
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": "b0ec691b-7dd0-442e-8e88-3fd1d5b194ff",
"name": "string",
"description": null,
"status": "PENDING",
"total_steps": 0,
"completed_steps": 0,
"progress": 10.12,
"current_step": null,
"final_step_id": null,
"final_step_result": null,
"canvas_task_id": null,
"config": {},
"suppress_subtask_events": true,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"origin_reference": null,
"webhook_url": null,
"error_message": null,
"errors": [
"string"
],
"started_at": null,
"completed_at": null,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"is_deleted": true,
"deleted_at": null,
"steps": [
{
"id": "2a989ada-263c-4f4a-9595-26531701e83c",
"step_id": "string",
"task_type": "string",
"node_type": null,
"node_schema_version": 0,
"config": {},
"provider_config": null,
"active_provider_capabilities": null,
"fallback_provider_type": null,
"fallback_provider_config": null,
"fallback_provider_capabilities": null,
"dependencies": [
"string"
],
"input_mappings": [
{}
],
"status": "PENDING",
"task_id": null,
"result": null,
"error_message": null,
"started_at": null,
"completed_at": null,
"retry_count": 0,
"max_retries": 0,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z"
}
]
}
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": "a5d9dea7-be03-4dc9-aef2-3c48126762fa",
"name": "string",
"description": null,
"status": "PENDING",
"total_steps": 0,
"completed_steps": 0,
"progress": 10.12,
"current_step": null,
"final_step_id": null,
"final_step_result": null,
"canvas_task_id": null,
"config": {},
"suppress_subtask_events": true,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"origin_reference": null,
"webhook_url": null,
"error_message": null,
"errors": [
"string"
],
"started_at": null,
"completed_at": null,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"is_deleted": true,
"deleted_at": null,
"steps": [
{
"id": "c6f9f878-d7e9-41bf-b722-131bddc94393",
"step_id": "string",
"task_type": "string",
"node_type": null,
"node_schema_version": 0,
"config": {},
"provider_config": null,
"active_provider_capabilities": null,
"fallback_provider_type": null,
"fallback_provider_config": null,
"fallback_provider_capabilities": null,
"dependencies": [
"string"
],
"input_mappings": [
{}
],
"status": "PENDING",
"task_id": null,
"result": null,
"error_message": null,
"started_at": null,
"completed_at": null,
"retry_count": 0,
"max_retries": 0,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z"
}
]
}
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": "4e3778c2-0f35-45c5-b968-41ea0450cd4f",
"name": "string",
"description": null,
"status": "PENDING",
"total_steps": 0,
"completed_steps": 0,
"progress": 10.12,
"current_step": null,
"final_step_id": null,
"final_step_result": null,
"canvas_task_id": null,
"config": {},
"suppress_subtask_events": true,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"origin_reference": null,
"webhook_url": null,
"error_message": null,
"errors": [
"string"
],
"started_at": null,
"completed_at": null,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"is_deleted": true,
"deleted_at": null,
"steps": [
{
"id": "00359114-3d0b-4c46-bc9e-afcb0bb0a56d",
"step_id": "string",
"task_type": "string",
"node_type": null,
"node_schema_version": 0,
"config": {},
"provider_config": null,
"active_provider_capabilities": null,
"fallback_provider_type": null,
"fallback_provider_config": null,
"fallback_provider_capabilities": null,
"dependencies": [
"string"
],
"input_mappings": [
{}
],
"status": "PENDING",
"task_id": null,
"result": null,
"error_message": null,
"started_at": null,
"completed_at": null,
"retry_count": 0,
"max_retries": 0,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z"
}
]
}
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/{workflow_id}/artifacts¶
Get Workflow Artifacts
Description
Resolve per-step media artifacts for a workflow from its task rows.
Read-only. TRANSFORMATIONS_SOLVER steps report zero output artifacts by design (numeric result, no media fields).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
include_inputs |
query | boolean | False | No | |
workflow_id |
path | string | No |
Responses
{
"workflow_id": "92f1901f-1190-448a-8d80-286949992235",
"steps": [
{
"step_id": "string",
"task_id": null,
"task_type": "string",
"node_type": null,
"status": "string",
"artifacts": [
{
"name": "string",
"field": "string",
"url": "string",
"kind": "image",
"mime": null,
"source": "input"
}
]
}
]
}
Schema of the response body
{
"properties": {
"workflow_id": {
"type": "string",
"format": "uuid",
"title": "Workflow Id"
},
"steps": {
"items": {
"$ref": "#/components/schemas/WorkflowStepArtifacts"
},
"type": "array",
"title": "Steps"
}
},
"type": "object",
"required": [
"workflow_id"
],
"title": "WorkflowArtifactsResponse",
"description": "Response from GET /workflows/{id}/artifacts.\n\nSteps with a TRANSFORMATIONS_SOLVER task report zero output artifacts by\ndesign (its result is numeric transform data, not media) — a\nsolver-terminal workflow legitimately shows completed-with-no-artifacts."
}
POST /api/v1/workflows/{workflow_id}/start¶
Start Workflow
Description
Start a pending workflow.
The workflow must be in PENDING state. This compiles the workflow DAG into Celery tasks and begins execution.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
workflow_id |
path | string | No |
Responses
{
"id": "ce7fb33b-14c0-4d86-bede-afa0c787074e",
"name": "string",
"description": null,
"status": "PENDING",
"total_steps": 0,
"completed_steps": 0,
"progress": 10.12,
"current_step": null,
"final_step_id": null,
"final_step_result": null,
"canvas_task_id": null,
"config": {},
"suppress_subtask_events": true,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"origin_reference": null,
"webhook_url": null,
"error_message": null,
"errors": [
"string"
],
"started_at": null,
"completed_at": null,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"is_deleted": true,
"deleted_at": null,
"steps": [
{
"id": "7081daaf-05cf-4da2-af6a-aa26100f76d8",
"step_id": "string",
"task_type": "string",
"node_type": null,
"node_schema_version": 0,
"config": {},
"provider_config": null,
"active_provider_capabilities": null,
"fallback_provider_type": null,
"fallback_provider_config": null,
"fallback_provider_capabilities": null,
"dependencies": [
"string"
],
"input_mappings": [
{}
],
"status": "PENDING",
"task_id": null,
"result": null,
"error_message": null,
"started_at": null,
"completed_at": null,
"retry_count": 0,
"max_retries": 0,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z"
}
]
}
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": "93c6e66b-3235-48c9-9534-58ae22cdc42f",
"name": "string",
"description": null,
"status": "PENDING",
"total_steps": 0,
"completed_steps": 0,
"progress": 10.12,
"current_step": null,
"final_step_id": null,
"final_step_result": null,
"canvas_task_id": null,
"config": {},
"suppress_subtask_events": true,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"origin_reference": null,
"webhook_url": null,
"error_message": null,
"errors": [
"string"
],
"started_at": null,
"completed_at": null,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"is_deleted": true,
"deleted_at": null,
"steps": [
{
"id": "b2d09bb5-a204-4832-8656-e298af163c41",
"step_id": "string",
"task_type": "string",
"node_type": null,
"node_schema_version": 0,
"config": {},
"provider_config": null,
"active_provider_capabilities": null,
"fallback_provider_type": null,
"fallback_provider_config": null,
"fallback_provider_capabilities": null,
"dependencies": [
"string"
],
"input_mappings": [
{}
],
"status": "PENDING",
"task_id": null,
"result": null,
"error_message": null,
"started_at": null,
"completed_at": null,
"retry_count": 0,
"max_retries": 0,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z"
}
]
}
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": "d5a3de68-edd2-46ed-9ece-e3e7a98384a1",
"name": "string",
"description": null,
"status": "PENDING",
"total_steps": 0,
"completed_steps": 0,
"progress": 10.12,
"current_step": null,
"final_step_id": null,
"final_step_result": null,
"canvas_task_id": null,
"config": {},
"suppress_subtask_events": true,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"origin_reference": null,
"webhook_url": null,
"error_message": null,
"errors": [
"string"
],
"started_at": null,
"completed_at": null,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"is_deleted": true,
"deleted_at": null,
"steps": [
{
"id": "5ff9a49b-fb10-4b05-91fe-677fe1b18886",
"step_id": "string",
"task_type": "string",
"node_type": null,
"node_schema_version": 0,
"config": {},
"provider_config": null,
"active_provider_capabilities": null,
"fallback_provider_type": null,
"fallback_provider_config": null,
"fallback_provider_capabilities": null,
"dependencies": [
"string"
],
"input_mappings": [
{}
],
"status": "PENDING",
"task_id": null,
"result": null,
"error_message": null,
"started_at": null,
"completed_at": null,
"retry_count": 0,
"max_retries": 0,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z"
}
]
},
"cleanup": {
"tasks_processed": 0,
"tasks_cleaned": 0,
"deleted_paths": [
"string"
],
"errors": [
{
"task_id": "ec78290a-0175-432b-8377-79e1db6fc54c",
"step_id": "string",
"task_type": "string",
"error": "string"
}
]
}
}
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 | ||
node_type |
query | No | Filter by node type (e.g. 'preview_edit' isolates the look-preview flow, which otherwise blends into EDITING). 'none' selects legacy tasks with no node. | ||
origin_instance |
query | No | Filter by origin instance | ||
origin_tenant_id |
query | No | Filter by origin tenant ID | ||
origin_zone |
query | No | Filter by origin zone | ||
page |
query | integer | 1 | No | Page number (1-indexed) |
page_size |
query | integer | 50 | No | Items per page |
provider_type |
query | No | Filter by provider type | ||
search |
query | No | Search by task ID prefix or origin_reference substring (e.g. 'look_preview' isolates the look-preview flow; a backend entity id pasted here finds its task). | ||
sort_by |
query | string | created_at | No | Sort field |
sort_order |
query | string | desc | No | Sort order |
status |
query | No | Filter by status | ||
task_type |
query | No | Filter by task type |
Responses
{
"items": [
{
"id": "31da22cb-3323-4b10-a965-1c78805cc759",
"task_type": "GENERATION",
"node_type": null,
"provider_type": null,
"status": "PENDING",
"progress": 10.12,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"created_at": "2022-04-13T15:42:05.901Z",
"started_at": null,
"completed_at": null,
"duration_ms": null,
"has_error": true
}
],
"total": 0,
"page": 0,
"page_size": 0,
"pages": 0
}
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": "07285738-b42c-4a1f-8a89-8ad072150dfe",
"task_type": "GENERATION",
"node_type": null,
"node_schema_version": null,
"provider_type": null,
"status": "PENDING",
"progress": 10.12,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"origin_reference": null,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"started_at": null,
"completed_at": null,
"duration_ms": null,
"queue_name": "string",
"priority": 0,
"celery_task_id": null,
"service_task_id": null,
"executor_type": null,
"executor_instance": null,
"config": null,
"webhook_url": null,
"errors": null,
"retry_count": 0,
"is_resumed": true,
"resume_attempt_count": 0,
"last_resume_attempt": null,
"service_requests": null,
"task_data": {}
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"task_type": {
"$ref": "#/components/schemas/TaskType"
},
"node_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Node Type"
},
"node_schema_version": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Node Schema Version"
},
"provider_type": {
"anyOf": [
{
"$ref": "#/components/schemas/ProviderType"
},
{
"type": "null"
}
]
},
"status": {
"$ref": "#/components/schemas/TaskStatus"
},
"progress": {
"type": "number",
"title": "Progress",
"default": 0.0
},
"origin_instance": {
"type": "string",
"title": "Origin Instance"
},
"origin_zone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Zone"
},
"origin_tenant_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Tenant Id"
},
"origin_reference": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Reference"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"started_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Started At"
},
"completed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Completed At"
},
"duration_ms": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Duration Ms",
"description": "Duration in milliseconds"
},
"queue_name": {
"type": "string",
"title": "Queue Name",
"description": "Celery queue name",
"default": "inference"
},
"priority": {
"type": "integer",
"title": "Priority",
"description": "Task priority (higher = more priority)",
"default": 0
},
"celery_task_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Celery Task Id"
},
"service_task_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Service Task Id"
},
"executor_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Executor Type"
},
"executor_instance": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Executor Instance"
},
"config": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Config"
},
"webhook_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Webhook Url",
"description": "Webhook URL for notifications"
},
"errors": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Errors"
},
"retry_count": {
"type": "integer",
"title": "Retry Count",
"default": 0
},
"is_resumed": {
"type": "boolean",
"title": "Is Resumed",
"description": "Whether task was resumed",
"default": false
},
"resume_attempt_count": {
"type": "integer",
"title": "Resume Attempt Count",
"description": "Number of resume attempts",
"default": 0
},
"last_resume_attempt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Last Resume Attempt",
"description": "Timestamp of last resume attempt"
},
"service_requests": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Service Requests",
"description": "Log of external service requests made during task processing"
},
"task_data": {
"additionalProperties": true,
"type": "object",
"title": "Task Data",
"description": "Task-type specific fields (prompt, width, height, result_image_path, etc.)"
}
},
"type": "object",
"required": [
"id",
"task_type",
"status",
"origin_instance",
"created_at",
"updated_at"
],
"title": "TaskDetailResponse",
"description": "Detailed task view with full configuration."
}
GET /api/v1/monitoring/tasks/{task_id}/media¶
Get Task Media
Description
Get input and output media URLs for a task.
Returns URLs that can be used directly in or
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
task_id |
path | string | No |
Responses
{
"task_id": "832b18ea-6fd2-4224-889a-eefc42c804bf",
"inputs": [
{
"name": "string",
"path": "string",
"url": "string",
"media_type": "string"
}
],
"outputs": null
}
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/stats/overview¶
Get Stats Overview
Description
Windowed dashboard metrics for tasks and workflows.
For each of last_hour / last_day / total returns counts, failure rate (kept distinct between tasks and workflows), and — for the bounded windows — completion-time, wait-time and (tasks) retry percentiles alongside averages.
Filters apply to tasks; provider/task-type filters do not apply to workflows (workflows have no provider), so the workflow side honours only origin filters.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
origin_instance |
query | No | Filter by origin instance | ||
origin_zone |
query | No | Filter by origin zone | ||
provider_type |
query | No | Filter by provider type | ||
task_type |
query | No | Filter by task type |
Responses
Schema of the response body
{
"properties": {
"tasks": {
"additionalProperties": {
"$ref": "#/components/schemas/TaskWindowStats"
},
"type": "object",
"title": "Tasks",
"description": "Task metrics keyed by window (last_hour/last_day/total)"
},
"workflows": {
"additionalProperties": {
"$ref": "#/components/schemas/WorkflowWindowStats"
},
"type": "object",
"title": "Workflows",
"description": "Workflow metrics keyed by window"
},
"filters": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Filters",
"description": "Echo of the filters applied (for display)"
},
"timestamp": {
"type": "string",
"format": "date-time",
"title": "Timestamp",
"description": "When the stats were collected"
}
},
"type": "object",
"required": [
"timestamp"
],
"title": "StatsOverviewResponse",
"description": "Windowed dashboard metrics for tasks and workflows."
}
GET /api/v1/monitoring/stats/timeseries¶
Get Stats Timeseries
Description
Bucketed task counts (created / completed / failed) for dashboard charts.
interval=hour → hourly buckets over the last 24h; interval=day → daily buckets over the last 7 days. Bounded range + indexed created_at keep the scan cheap; cached like the overview endpoint.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
interval |
query | string | hour | No | Bucket granularity |
origin_instance |
query | No | Filter by origin instance | ||
origin_zone |
query | No | Filter by origin zone | ||
provider_type |
query | No | Filter by provider type | ||
task_type |
query | No | Filter by task type |
Responses
{
"interval": "hour",
"buckets": [
{
"bucket": "2022-04-13T15:42:05.901Z",
"created": 0,
"completed": 0,
"failed": 0
}
],
"filters": {},
"timestamp": "2022-04-13T15:42:05.901Z"
}
Schema of the response body
{
"properties": {
"interval": {
"type": "string",
"enum": [
"hour",
"day"
],
"title": "Interval",
"description": "Bucket granularity"
},
"buckets": {
"items": {
"$ref": "#/components/schemas/TimeseriesBucket"
},
"type": "array",
"title": "Buckets"
},
"filters": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Filters"
},
"timestamp": {
"type": "string",
"format": "date-time",
"title": "Timestamp"
}
},
"type": "object",
"required": [
"interval",
"timestamp"
],
"title": "TimeseriesResponse",
"description": "Bucketed task counts over a range, for dashboard charts."
}
GET /api/v1/monitoring/workflows¶
List Monitored Workflows
Description
List workflows with filtering, pagination, and sorting.
Returns a paginated list of workflows with computed duration and error status. All filters are optional and can be combined.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
created_after |
query | No | Filter workflows created after this datetime | ||
created_before |
query | No | Filter workflows created before this datetime | ||
origin_instance |
query | No | Filter by origin instance | ||
origin_tenant_id |
query | No | Filter by origin tenant ID | ||
origin_zone |
query | No | Filter by origin zone | ||
page |
query | integer | 1 | No | Page number (1-indexed) |
page_size |
query | integer | 50 | No | Items per page |
search |
query | No | Search by workflow name or ID prefix | ||
sort_by |
query | string | created_at | No | Sort field |
sort_order |
query | string | desc | No | Sort order |
status |
query | No | Filter by status |
Responses
{
"items": [
{
"id": "6b7c7653-803d-4bbb-9327-60353adb717e",
"name": "string",
"description": null,
"status": "PENDING",
"total_steps": 0,
"completed_steps": 0,
"progress": 10.12,
"current_step": null,
"final_step_id": null,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"created_at": "2022-04-13T15:42:05.901Z",
"started_at": null,
"completed_at": null,
"duration_ms": null,
"has_error": true
}
],
"total": 0,
"page": 0,
"page_size": 0,
"pages": 0
}
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": "094d6b0c-1e90-4acc-b887-f27142dc0f8f",
"name": "string",
"description": null,
"status": "PENDING",
"total_steps": 0,
"completed_steps": 0,
"progress": 10.12,
"current_step": null,
"final_step_id": null,
"canvas_task_id": null,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"origin_reference": null,
"config": {},
"webhook_url": null,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"started_at": null,
"completed_at": null,
"duration_ms": null,
"error_message": null,
"errors": [
"string"
],
"steps": [
{
"id": "12954a93-e1cd-4b92-990d-405abf346488",
"step_id": "string",
"task_type": "string",
"node_type": null,
"node_schema_version": null,
"status": "PENDING",
"task_id": null,
"dependencies": [
"string"
],
"input_mappings": [
{}
],
"config": {},
"started_at": null,
"completed_at": null,
"duration_ms": null,
"error_message": null,
"retry_count": 0,
"max_retries": 0,
"result": null
}
]
}
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,
"wait_time": {
"avg_ms": null,
"p50_ms": null,
"p95_ms": null,
"p99_ms": null,
"sample_size": 0
},
"exec_time": null,
"tasks_completed_last_hour": 0
}
],
"total_pending": 0,
"total_active": 0,
"timestamp": "2022-04-13T15:42:05.901Z"
}
Schema of the response body
{
"properties": {
"queues": {
"items": {
"$ref": "#/components/schemas/QueueStats"
},
"type": "array",
"title": "Queues",
"description": "Statistics per queue"
},
"total_pending": {
"type": "integer",
"title": "Total Pending",
"description": "Total pending tasks across all queues",
"default": 0
},
"total_active": {
"type": "integer",
"title": "Total Active",
"description": "Total active tasks across all queues",
"default": 0
},
"timestamp": {
"type": "string",
"format": "date-time",
"title": "Timestamp",
"description": "Timestamp when stats were collected"
}
},
"type": "object",
"required": [
"timestamp"
],
"title": "QueueStatsResponse",
"description": "Response for queue statistics endpoint."
}
GET /api/v1/monitoring/workers¶
Get Worker Stats
Description
Get worker utilization, capacity, and throughput.
Returns statistics for all active Celery workers including: - Worker name and queues - Concurrency and active tasks - Utilization percentage - Capacity status - Total tasks completed and throughput rate
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
Responses
{
"workers": [
{
"name": "string",
"queues": [
"string"
],
"concurrency": 0,
"active_tasks": 0,
"utilization_pct": 10.12,
"has_capacity": true,
"tasks_completed_total": 0,
"tasks_per_minute": 10.12,
"memory_mb": null,
"last_active_at": null
}
],
"total_workers": 0,
"total_capacity": 0,
"total_active": 0,
"total_utilization_pct": 10.12,
"workers_at_capacity": 0,
"timestamp": "2022-04-13T15:42:05.901Z"
}
Schema of the response body
{
"properties": {
"workers": {
"items": {
"$ref": "#/components/schemas/WorkerInfo"
},
"type": "array",
"title": "Workers",
"description": "Statistics per worker"
},
"total_workers": {
"type": "integer",
"title": "Total Workers",
"description": "Total number of workers",
"default": 0
},
"total_capacity": {
"type": "integer",
"title": "Total Capacity",
"description": "Total capacity (sum of all worker concurrency)",
"default": 0
},
"total_active": {
"type": "integer",
"title": "Total Active",
"description": "Total active tasks across all workers",
"default": 0
},
"total_utilization_pct": {
"type": "number",
"title": "Total Utilization Pct",
"description": "Overall utilization percentage",
"default": 0.0
},
"workers_at_capacity": {
"type": "integer",
"title": "Workers At Capacity",
"description": "Number of workers at full capacity",
"default": 0
},
"timestamp": {
"type": "string",
"format": "date-time",
"title": "Timestamp",
"description": "Timestamp when stats were collected"
}
},
"type": "object",
"required": [
"timestamp"
],
"title": "WorkerStatsResponse",
"description": "Response for worker statistics endpoint."
}
GET /api/v1/monitoring/workers/scaling¶
Get Scaling Stats
Description
Get CREMA autoscaling state for each worker-pool queue.
Surfaces, per queue, the live/busy instance counts, in-flight and queued task counts, per-instance concurrency, and the desired-load / desired-instance values CREMA derives from Redis — so operators can see why a pool is (or isn't) scaling without inspecting Redis directly.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
Responses
{
"queues": [
{
"queue": "string",
"live_instances": 0,
"busy_instances": 0,
"idle_instances": 0,
"in_flight_tasks": 0,
"queued_tasks": 0,
"concurrency": 0,
"desired_load": 0,
"desired_instances": 0
}
],
"available": true,
"timestamp": "2022-04-13T15:42:05.901Z"
}
Schema of the response body
{
"properties": {
"queues": {
"items": {
"$ref": "#/components/schemas/QueueScalingInfo"
},
"type": "array",
"title": "Queues",
"description": "Per-queue scaling state"
},
"available": {
"type": "boolean",
"title": "Available",
"description": "False when scaling state could not be read from Redis (stale/unavailable)",
"default": true
},
"timestamp": {
"type": "string",
"format": "date-time",
"title": "Timestamp",
"description": "Timestamp when stats were collected"
}
},
"type": "object",
"required": [
"timestamp"
],
"title": "ScalingStatsResponse",
"description": "Response for the CREMA scaling-stats endpoint."
}
GET /api/v1/monitoring/workers/health¶
Get Workers Health
Description
Quick health check for worker availability.
Returns a simple health status indicating: - Overall health (at least one worker with capacity) - Total workers and workers with available capacity - Queues with and without workers
Use this endpoint for alerting on capacity issues.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
Responses
{
"healthy": true,
"total_workers": 0,
"workers_with_capacity": 0,
"queues_with_workers": [
"string"
],
"queues_without_workers": [
"string"
],
"timestamp": "2022-04-13T15:42:05.901Z"
}
Schema of the response body
{
"properties": {
"healthy": {
"type": "boolean",
"title": "Healthy",
"description": "Overall health status"
},
"total_workers": {
"type": "integer",
"title": "Total Workers",
"description": "Total number of workers",
"default": 0
},
"workers_with_capacity": {
"type": "integer",
"title": "Workers With Capacity",
"description": "Number of workers with available capacity",
"default": 0
},
"queues_with_workers": {
"items": {
"type": "string"
},
"type": "array",
"title": "Queues With Workers",
"description": "Queues that have at least one worker"
},
"queues_without_workers": {
"items": {
"type": "string"
},
"type": "array",
"title": "Queues Without Workers",
"description": "Queues that have no workers"
},
"timestamp": {
"type": "string",
"format": "date-time",
"title": "Timestamp",
"description": "Timestamp when health was checked"
}
},
"type": "object",
"required": [
"healthy",
"timestamp"
],
"title": "WorkerHealthResponse",
"description": "Quick health check response for worker availability."
}
Catalog¶
GET /api/v1/catalog/nodes¶
Get Catalog Nodes
Description
Return the node and legacy task catalog for workflow authoring.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
Responses
{
"catalog_version": 0,
"schema_hash": "string",
"nodes": [
{
"id": "string",
"kind": "node",
"task_type": "string",
"node_type": null,
"node_schema_version": 0,
"implemented": true,
"workflow_authorable": true,
"display_name": "string",
"category": "string",
"description": "string",
"providers": null,
"params_schema": {},
"io": null,
"strategies": null
}
],
"enums": {
"task_types": [
"string"
],
"provider_types": [
"string"
],
"task_statuses": [
"string"
],
"workflow_statuses": [
"string"
],
"step_statuses": [
"string"
],
"transform_types": [
"string"
],
"provider_to_queue": {}
}
}
Schema of the response body
{
"properties": {
"catalog_version": {
"type": "integer",
"title": "Catalog Version",
"description": "Catalog contract version."
},
"schema_hash": {
"type": "string",
"title": "Schema Hash",
"description": "Deterministic sha256 of the envelope without this field."
},
"nodes": {
"items": {
"$ref": "#/components/schemas/NodeCatalogCard"
},
"type": "array",
"title": "Nodes",
"description": "Catalog cards."
},
"enums": {
"$ref": "#/components/schemas/NodeCatalogEnums",
"description": "Enum values used by catalog clients."
}
},
"additionalProperties": false,
"type": "object",
"required": [
"catalog_version",
"schema_hash",
"nodes",
"enums"
],
"title": "NodeCatalogEnvelope",
"description": "Top-level node catalog response."
}
Events¶
POST /api/v1/events/token¶
Mint Token
Description
Mint a short-lived scoped token for the SSE endpoints.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
Request body
Schema of the request body
{
"properties": {
"workflow_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Workflow Id"
},
"task_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Task Id"
}
},
"type": "object",
"title": "MintEventsTokenRequest",
"description": "Body for POST /events/token — exactly one id, or neither (wildcard scope)."
}
Responses
Schema of the response body
{
"properties": {
"token": {
"type": "string",
"title": "Token"
},
"expires_in": {
"type": "integer",
"title": "Expires In"
},
"scope": {
"type": "string",
"title": "Scope"
}
},
"type": "object",
"required": [
"token",
"expires_in",
"scope"
],
"title": "MintEventsTokenResponse",
"description": "Minted short-lived events token."
}
GET /api/v1/events/workflows/{workflow_id}¶
Stream Workflow Events
Description
Follow a workflow's event stream over SSE (snapshot frame first).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
last_event_id |
query | No | |||
token |
query | No | |||
workflow_id |
path | string | No |
Responses
GET /api/v1/events/tasks/{task_id}¶
Stream Task Events
Description
Follow a task's event stream over SSE.
The per-task stream carries status TRANSITIONS only (no mid-task progress ticks); its wire format is consumed read-only and unchanged.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
last_event_id |
query | No | |||
task_id |
path | string | No | ||
token |
query | No |
Responses
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
ArtifactRef¶
| Name | Type | Description |
|---|---|---|
field |
string | Task attribute the artifact came from |
kind |
string | Coarse media kind |
mime |
Guessed MIME type, or null | |
name |
string | Display name (historical monitoring naming, e.g. result_mask_1) |
source |
string | Whether the task consumed or produced it |
url |
string | Public URL; EMPTY string when the stored path is invalid |
BackgroundFixerTaskPublic¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
||
celery_task_id |
||
completed_at |
||
config |
||
created_at |
string(date-time) | |
error_category |
||
errors |
||
executor_instance |
||
executor_type |
||
fallback_provider_capabilities |
||
fallback_provider_config |
||
fallback_provider_type |
||
id |
string(uuid) | |
input_image_path |
||
mask_image_path |
||
node_params |
||
node_type |
||
origin_instance |
string | Task origin instance |
origin_reference |
Optional reference ID or string from the origin system | |
origin_tenant_id |
Task origin tenant ID | |
origin_zone |
Task origin zone | |
palette_image_path |
||
priority |
integer | Task priority |
progress |
number | |
protect_bbox |
||
provider_config |
||
provider_type |
||
result_image_path |
||
retry_count |
integer | |
service_task_id |
||
started_at |
||
status |
TaskStatus | |
target_rgb |
||
task_type |
string | |
updated_at |
string(date-time) |
BackgroundFixerTaskPublicUpdate¶
| Name | Type | Description |
|---|---|---|
config |
||
errors |
||
executor_instance |
||
executor_type |
||
priority |
||
status |
BackgroundFixStrategy¶
Type: string
BackgroundFixTaskPublic¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
||
base_image_path |
string | |
celery_task_id |
||
completed_at |
||
config |
||
created_at |
string(date-time) | |
edge_blur_sigma |
DEPRECATED and ignored; superseded by inner/outer_blur_sigma. | |
error_category |
||
errors |
||
exclude |
DEPRECATED and ignored; retained for backward compatibility. | |
executor_instance |
||
executor_type |
||
fallback_provider_capabilities |
||
fallback_provider_config |
||
fallback_provider_type |
||
id |
string(uuid) | |
inner_blur_sigma |
||
light_threshold |
||
mask_palettes |
DEPRECATED and ignored; per-region palette overrides are no longer supported. | |
origin_instance |
string | Task origin instance |
origin_reference |
Optional reference ID or string from the origin system | |
origin_tenant_id |
Task origin tenant ID | |
origin_zone |
Task origin zone | |
outer_blur_sigma |
||
palette_image_path |
string | |
priority |
integer | Task priority |
progress |
number | |
provider_config |
||
provider_type |
||
result_image_path |
||
retry_count |
integer | |
service_task_id |
||
shadow_threshold |
||
started_at |
||
status |
TaskStatus | |
strategy |
BackgroundFixStrategy | |
task_type |
string | |
updated_at |
string(date-time) |
BackgroundFixTaskPublicUpdate¶
| Name | Type | Description |
|---|---|---|
config |
||
errors |
||
executor_instance |
||
executor_type |
||
priority |
||
status |
BackgroundRemovalTaskPublic¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
||
celery_task_id |
||
completed_at |
||
config |
||
created_at |
string(date-time) | |
error_category |
||
errors |
||
executor_instance |
||
executor_type |
||
fallback_provider_capabilities |
||
fallback_provider_config |
||
fallback_provider_type |
||
id |
string(uuid) | |
input_image_paths |
Array<string> | |
origin_instance |
string | Task origin instance |
origin_reference |
Optional reference ID or string from the origin system | |
origin_tenant_id |
Task origin tenant ID | |
origin_zone |
Task origin zone | |
priority |
integer | Task priority |
progress |
number | |
provider_config |
||
provider_type |
||
result_image_paths |
||
retry_count |
integer | |
service_task_id |
||
started_at |
||
status |
TaskStatus | |
task_type |
string | |
updated_at |
string(date-time) |
BackgroundRemovalTaskPublicUpdate¶
| Name | Type | Description |
|---|---|---|
config |
||
errors |
||
executor_instance |
||
executor_type |
||
priority |
||
status |
BaseEvent¶
| Name | Type | Description |
|---|---|---|
entity_id |
||
event_type |
EventType | |
metadata |
||
origin_instance |
||
origin_reference |
||
origin_version |
||
origin_zone |
||
status |
string | |
task_id |
string(uuid) | |
timestamp |
Body_admin_upload_lora¶
| Name | Type | Description |
|---|---|---|
entity_type |
The entity type (clothes, faces, identities, product, styles) | |
file |
string(binary) | The LoRA model file to upload |
use_safe_filename |
boolean | Whether to enable automatic versioning for duplicate filenames |
Body_save_image_api_v1_storage_images__path__post¶
| Name | Type | Description |
|---|---|---|
file |
string(binary) |
Body_upload_lora¶
| Name | Type | Description |
|---|---|---|
entity_type |
The entity type (clothes, identities, product, styles) | |
file |
string(binary) | The LoRA model file to upload |
use_safe_filename |
boolean | Whether to enable automatic versioning for duplicate filenames |
CheckerTaskPublic¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
||
base_bboxes |
||
base_image_path |
||
base_mask_path |
||
bboxes |
||
candidate_image_path |
||
candidate_mask_path |
||
celery_task_id |
||
completed_at |
||
config |
||
created_at |
string(date-time) | |
diagnostics |
||
error_category |
||
errors |
||
executor_instance |
||
executor_type |
||
fallback_provider_capabilities |
||
fallback_provider_config |
||
fallback_provider_type |
||
id |
string(uuid) | |
node_type |
||
origin_instance |
string | Task origin instance |
origin_reference |
Optional reference ID or string from the origin system | |
origin_tenant_id |
Task origin tenant ID | |
origin_zone |
Task origin zone | |
passed |
||
priority |
integer | Task priority |
progress |
number | |
provider_config |
||
provider_type |
||
reference_details |
||
report |
||
retry_count |
integer | |
service_task_id |
||
shot_type |
||
started_at |
||
status |
TaskStatus | |
summary |
||
task_type |
string | |
updated_at |
string(date-time) |
CheckerTaskPublicUpdate¶
| Name | Type | Description |
|---|---|---|
config |
||
errors |
||
executor_instance |
||
executor_type |
||
priority |
||
status |
CreateBackgroundFixerTask¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
List of active capabilities for this task | |
config |
Flexible configuration storage | |
fallback_provider_capabilities |
Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation. | |
fallback_provider_config |
Provider-specific config for the fallback provider. Shape varies by provider type. | |
fallback_provider_type |
Fallback provider activated when primary exhausts all retries (non-ValueError only). | |
input_image |
string | Input image as base64, data URL, local path, or remote URL |
mask_image |
Mask image (base64, data URL, local path, or remote URL), typically fanned out from an upstream SEGMENTER's result_mask_path. Required by every node; 255 = subject, the same convention every mask producer in this codebase emits. Passed through as-is. | |
node_params |
Per-node tuning knobs (one blob; each node self-extracts its own keys). shift_color: shadow_threshold, light_threshold, dither. replace_color: bbox_enlargement, bbox_blur_sigma, dither. heal_artifacts: sigma, bayesshrink_k, garrote_strength. All nodes: mask_kind ('soft'|'binary'). | |
node_type |
string | Which node executes this task: 'shift_color' / 'replace_color' (color ops toward a target) or 'heal_artifacts' (frequency-separation artifact removal). All LOCAL. |
origin_instance |
string | Identifier for the instance that created this task |
origin_reference |
Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend) | |
origin_tenant_id |
Optional tenant/organization identifier | |
origin_zone |
Environment/zone identifier (e.g., 'eu', 'us') | |
palette_image |
Optional palette image whose whole-image mean RGB is the shift target for shift_color / replace_color (an alternative to the scalar target_rgb). Ignored by heal_artifacts. | |
priority |
integer | |
protect_bbox |
Relative bbox [x, y, width, height] (0-1), or a list of such bboxes whose first item is used, that replace_color must NOT substitute. Typically wired from an upstream SEGMENTER detect node's bboxes output. None -> the whole background is substituted. An empty bbox list is treated as None. Unused by the other nodes. | |
provider_config |
Provider-specific configuration | |
provider_type |
Provider type for task execution | |
queue_name |
Optional queue override. If not specified, determined by provider_type | |
target_rgb |
Scalar target color [r, g, b] (0-255) for shift_color / replace_color. Takes precedence over palette_image when both are provided. | |
task_type |
string | |
webhook_url |
Webhook URL |
CreateBackgroundFixTask¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
List of active capabilities for this task | |
base_image |
string | Base image as base64, data URL (data:image/...), remote URL (http://...), or local path |
config |
Flexible configuration storage | |
edge_blur_sigma |
DEPRECATED and ignored. Superseded by inner_blur_sigma / outer_blur_sigma. Retained for backward compatibility; has no effect. | |
exclude |
DEPRECATED and ignored. The DEFAULT strategy always protects the foreground subject via BiRefNet (SAM-3 fallback). Retained for backward compatibility; has no effect and will be removed in a future version. | |
fallback_provider_capabilities |
Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation. | |
fallback_provider_config |
Provider-specific config for the fallback provider. Shape varies by provider type. | |
fallback_provider_type |
Fallback provider activated when primary exhausts all retries (non-ValueError only). | |
inner_blur_sigma |
Gaussian sigma for inner edge inward gradient. DEFAULT strategy only. | |
light_threshold |
Brightness above which full color shift applied (0-255, default 220) | |
mask_palettes |
DEPRECATED and ignored. The DEFAULT strategy applies a single palette to the resolved background; per-region palette overrides are no longer supported. Retained for backward compatibility; has no effect and will be removed in a future version. | |
origin_instance |
string | Identifier for the instance that created this task |
origin_reference |
Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend) | |
origin_tenant_id |
Optional tenant/organization identifier | |
origin_zone |
Environment/zone identifier (e.g., 'eu', 'us') | |
outer_blur_sigma |
Gaussian sigma for outer edge outward gradient. DEFAULT strategy only. | |
palette_image |
string | Palette/reference image for target background color as base64, data URL, remote URL, or local path |
priority |
integer | |
provider_config |
Provider-specific configuration | |
provider_type |
Provider type for task execution | |
queue_name |
Optional queue override. If not specified, determined by provider_type | |
shadow_threshold |
Brightness below which no color shift applied (0-255, default 150) | |
strategy |
Processing strategy | |
task_type |
string | |
webhook_url |
Webhook URL |
CreateBackgroundRemovalTask¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
List of active capabilities for this task | |
config |
Flexible configuration storage | |
fallback_provider_capabilities |
Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation. | |
fallback_provider_config |
Provider-specific config for the fallback provider. Shape varies by provider type. | |
fallback_provider_type |
Fallback provider activated when primary exhausts all retries (non-ValueError only). | |
input_image_paths |
Array<string> | List of image paths or URLs for batch background removal |
origin_instance |
string | Identifier for the instance that created this task |
origin_reference |
Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend) | |
origin_tenant_id |
Optional tenant/organization identifier | |
origin_zone |
Environment/zone identifier (e.g., 'eu', 'us') | |
priority |
integer | |
provider_config |
Provider-specific configuration | |
provider_type |
Provider type for task execution | |
queue_name |
Optional queue override. If not specified, determined by provider_type | |
task_type |
string | |
webhook_url |
Webhook URL |
CreateCheckerTask¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
List of active capabilities for this task | |
base_bboxes |
check_product only: relative [x, y, width, height] regions of the REFERENCE still-life to judge — wire a separate Moondream detect step's `bboxes` here. The node unions these boxes and crops only the reference; omit to judge the full still-life. | |
base_image |
Reference image (base64, data URL, local path, or remote URL): the styled base for check_identity/check_proportions or the product still-life for check_product. | |
base_mask |
check_product only: subject matte for the REFERENCE still-life (255 = subject) — wire an upstream mask step's `result_mask_path` here. Supplied together with `candidate_mask`, it enables a numeric garment colour measurement (ΔE00) alongside the VLM verdict. Omit both to skip the measurement. | |
bboxes |
Relative [x, y, width, height] regions of the candidate to judge — wire an upstream detect step's `bboxes` here. check_identity and check_product judge a single crop and use the union of these boxes; omit to judge the whole frame. | |
candidate_image |
Candidate shot to verify against the base (base64, data URL, local path, or remote URL). | |
candidate_mask |
check_product: subject matte for the CANDIDATE shot (255 = subject) — wire an upstream mask step's `result_mask_path` here. check_margins: final subject mask aligned to the delivered image. | |
config |
Flexible configuration storage | |
fallback_provider_capabilities |
Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation. | |
fallback_provider_config |
Provider-specific config for the fallback provider. Shape varies by provider type. | |
fallback_provider_type |
Fallback provider activated when primary exhausts all retries (non-ValueError only). | |
margin_bottom |
check_margins bottom target as a final-height fraction. | |
margin_left |
check_margins left target as a final-width fraction. | |
margin_right |
check_margins right target as a final-width fraction. | |
margin_top |
check_margins top target as a final-height fraction. | |
node_type |
string | Which node executes this task: 'check_identity' (VLM same-person verdict), 'check_product' (VLM product fidelity verdict), 'check_proportions' (VLM body, hand, and foot proportion verdicts), 'check_margins' (LOCAL numeric final margins from a candidate mask), or 'aggregate_checks' (LOCAL deterministic aggregation). |
origin_instance |
string | Identifier for the instance that created this task |
origin_reference |
Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend) | |
origin_tenant_id |
Optional tenant/organization identifier | |
origin_zone |
Environment/zone identifier (e.g., 'eu', 'us') | |
priority |
integer | |
provider_config |
Provider-specific configuration | |
provider_type |
Provider type for task execution | |
queue_name |
Optional queue override. If not specified, determined by provider_type | |
reference_details |
check_product only: a described inventory of the marks and fittings the REFERENCE garment carries, as [{box, kind, text}] — wire an upstream detect step's `description` here, running the 'gemini' strategy on the still-life. Pasted into the matching aspect prompts so those calls know which small details exist to look for. The boxes are in the full reference frame, are never used to crop, and are remapped to the checker reference crop only when included in a prompt. Omit to judge exactly as before. | |
reports |
aggregate_checks only: ordered checker reports to concatenate. | |
shot_type |
check_margins only: shot-type policy. 'detail' skips the margin check (returns a neutral passing report) because margins are intentionally ignored for detail shots. Ignored by other checker nodes. | |
target |
Stable key and display label for the subject or product being assessed. | |
task_type |
string | |
webhook_url |
Webhook URL |
CreateDetailEnhancerTask¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
List of active capabilities for this task | |
base_image |
string | Base image as base64, data URL (data:image/...), or remote URL (http://...) |
config |
Flexible configuration storage | |
detail_label |
Type of detail to enhance (e.g., tshirt, shirt, pants, logos) | |
fallback_provider_capabilities |
Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation. | |
fallback_provider_config |
Provider-specific config for the fallback provider. Shape varies by provider type. | |
fallback_provider_type |
Fallback provider activated when primary exhausts all retries (non-ValueError only). | |
origin_instance |
string | Identifier for the instance that created this task |
origin_reference |
Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend) | |
origin_tenant_id |
Optional tenant/organization identifier | |
origin_zone |
Environment/zone identifier (e.g., 'eu', 'us') | |
priority |
integer | |
provider_config |
Provider-specific configuration | |
provider_type |
Provider type for task execution | |
queue_name |
Optional queue override. If not specified, determined by provider_type | |
reference_image |
string | Reference image for detail transfer as base64, data URL, or remote URL |
task_type |
string | |
webhook_url |
Webhook URL |
CreateEditingTask¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
List of active capabilities for this task | |
base_image |
string | Base image as base64, data URL (data:image/...), or remote URL (http://...) |
base_image_data |
DEPRECATED: Use base_image instead. Base64-encoded base image data. | |
base_image_url |
DEPRECATED: Use base_image instead. URL to base image file. | |
config |
Flexible configuration storage | |
fal_app_id |
FAL app ID for task execution | |
fallback_provider_capabilities |
Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation. | |
fallback_provider_config |
Provider-specific config for the fallback provider. Shape varies by provider type. | |
fallback_provider_type |
Fallback provider activated when primary exhausts all retries (non-ValueError only). | |
height |
integer | Image height |
node_type |
Which EDITING node executes this task. None (default) runs the legacy provider processors; 'preview_edit' runs the light, disposable preview node. | |
origin_instance |
string | Identifier for the instance that created this task |
origin_reference |
Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend) | |
origin_tenant_id |
Optional tenant/organization identifier | |
origin_zone |
Environment/zone identifier (e.g., 'eu', 'us') | |
priority |
integer | |
prompt |
string | Task prompt |
provider_config |
Provider-specific configuration | |
provider_type |
Provider type for task execution | |
queue_name |
Optional queue override. If not specified, determined by provider_type | |
reference_image_data |
DEPRECATED: Use reference_images instead. Base64-encoded reference image data. | |
reference_image_url |
DEPRECATED: Use reference_images instead. URL to reference image file. | |
reference_images |
List of reference images (base64, data URLs, or remote URLs) | |
seed |
Random seed for generation | |
task_type |
string | |
webhook_url |
Webhook URL | |
width |
integer | Image width |
workflow_id |
Workflow ID |
CreateExperimentalFalTask¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
List of active capabilities for this task | |
config |
Flexible configuration storage | |
fal_app_id |
string | FAL app ID for task execution |
fal_parameters |
Arbitrary parameters to pass to the FAL app | |
fallback_provider_capabilities |
Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation. | |
fallback_provider_config |
Provider-specific config for the fallback provider. Shape varies by provider type. | |
fallback_provider_type |
Fallback provider activated when primary exhausts all retries (non-ValueError only). | |
origin_instance |
string | Identifier for the instance that created this task |
origin_reference |
Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend) | |
origin_tenant_id |
Optional tenant/organization identifier | |
origin_zone |
Environment/zone identifier (e.g., 'eu', 'us') | |
priority |
integer | |
provider_config |
Provider-specific configuration | |
provider_type |
Provider type for task execution | |
queue_name |
Optional queue override. If not specified, determined by provider_type | |
task_type |
string | |
webhook_url |
Webhook URL |
CreateFaceEnhancerTask¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
List of active capabilities for this task | |
config |
Flexible configuration storage | |
fallback_provider_capabilities |
Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation. | |
fallback_provider_config |
Provider-specific config for the fallback provider. Shape varies by provider type. | |
fallback_provider_type |
Fallback provider activated when primary exhausts all retries (non-ValueError only). | |
input_image |
string | Input image as base64, data URL (data:image/...), or remote URL (http://...) |
origin_instance |
string | Identifier for the instance that created this task |
origin_reference |
Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend) | |
origin_tenant_id |
Optional tenant/organization identifier | |
origin_zone |
Environment/zone identifier (e.g., 'eu', 'us') | |
priority |
integer | |
provider_config |
Provider-specific configuration | |
provider_type |
Provider type for task execution | |
queue_name |
Optional queue override. If not specified, determined by provider_type | |
task_type |
string | |
webhook_url |
Webhook URL |
CreateGenerationTask¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
List of active capabilities for this task | |
config |
Flexible configuration storage | |
fal_app_id |
FAL app ID for task execution | |
fallback_provider_capabilities |
Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation. | |
fallback_provider_config |
Provider-specific config for the fallback provider. Shape varies by provider type. | |
fallback_provider_type |
Fallback provider activated when primary exhausts all retries (non-ValueError only). | |
height |
Image height | |
origin_instance |
string | Identifier for the instance that created this task |
origin_reference |
Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend) | |
origin_tenant_id |
Optional tenant/organization identifier | |
origin_zone |
Environment/zone identifier (e.g., 'eu', 'us') | |
priority |
integer | |
product2_lora_weight |
Second product LoRA weight | |
product2_model_path |
Path to the second product model | |
product_lora_weight |
Product LoRA weight | |
product_model_path |
Path to the product model | |
prompt |
string | Task prompt |
provider_config |
Provider-specific configuration | |
provider_type |
Provider type for task execution | |
queue_name |
Optional queue override. If not specified, determined by provider_type | |
reference_image_data |
Base64-encoded reference image data (data:image/jpeg;base64,... format) | |
reference_image_strength |
Influence of the reference image on generation (0-100) | |
reference_image_url |
URL to reference image file | |
seed |
Random seed for generation | |
style_lora_weight |
Style LoRA weight | |
style_model_path |
Path to the style model | |
subject_lora_weight |
Subject LoRA weight | |
subject_model_path |
Path to the subject model | |
task_type |
string | |
webhook_url |
Webhook URL | |
width |
Image width |
CreateImageAdjusterTask¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
List of active capabilities for this task | |
aspect_ratio |
Target aspect ratio (width/height). Use either this or target_width/target_height. | |
bbox_height |
Subject bbox height (relative 0-1) | |
bbox_width |
Subject bbox width (relative 0-1) | |
bbox_x |
Subject bbox left edge (relative 0-1) | |
bbox_y |
Subject bbox top edge (relative 0-1) | |
config |
Flexible configuration storage | |
cropping_position |
Position to crop from (only used when mode='crop') | |
fallback_provider_capabilities |
Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation. | |
fallback_provider_config |
Provider-specific config for the fallback provider. Shape varies by provider type. | |
fallback_provider_type |
Fallback provider activated when primary exhausts all retries (non-ValueError only). | |
input_image |
string | Input image as base64, data URL (data:image/...), remote URL (http://...), or local path |
margin_bottom |
Bottom margin as fraction of final height (0.0-1.0). 0 enforces 0 (subject touches bottom); >0 enforces exactly; None preserves the input's natural bottom margin. Subject detection required. | |
margin_left |
Left margin as fraction of final width (0.0-1.0). 0 enforces 0 (subject touches left); >0 enforces exactly; None preserves the input's natural left margin. Subject detection required. | |
margin_right |
Right margin as fraction of final width (0.0-1.0). 0 enforces 0 (subject touches right); >0 enforces exactly; None preserves the input's natural right margin. Subject detection required. | |
margin_top |
Top margin as fraction of final height (0.0-1.0). 0 enforces 0 (subject touches top); >0 enforces exactly; None preserves the input's natural top margin. Subject detection required. | |
mode |
string | Resize mode: 'auto' intelligently chooses crop or pad based on AR difference (>5% diff = pad to preserve content, <=5% = crop for minimal loss), 'crop' removes pixels, 'pad' adds padding, 'scale' resizes based on proportions |
origin_instance |
string | Identifier for the instance that created this task |
origin_reference |
Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend) | |
origin_tenant_id |
Optional tenant/organization identifier | |
origin_zone |
Environment/zone identifier (e.g., 'eu', 'us') | |
priority |
integer | |
provider_config |
Provider-specific configuration | |
provider_type |
Provider type for task execution | |
queue_name |
Optional queue override. If not specified, determined by provider_type | |
reference_image |
Optional reference image used to derive subject margins automatically (base64, data URL, remote URL, or local path). | |
resampling |
Resampling filter to use | |
scaling_proportions |
Scaling proportions mode. 'height' matches vertical (top/bottom) margins exactly (may crop horizontally); 'width' matches horizontal (left/right) margins exactly (may crop vertically); 'auto' selects height or width by which margin pair the subject reaches first when scaled into the target canvas+margins (enforces that first-touched pair; portrait canvases usually resolve to 'width'). 'height'/'width'/'auto' apply only on the margin-aware path (margins set or reference mode); otherwise they fall back to 'fit'. | |
subject_mask_path |
Subject mask (white=subject) from an upstream SEGMENTER step. If omitted, the processor falls back to in-process BiRefNet segmentation. | |
target_height |
Target height in pixels (required if target_width is set) | |
target_width |
Target width in pixels (required if target_height is set) | |
task_type |
string | |
tolerance |
Tolerance for checking if adjustment is needed (0-1, default 0% for pixel-perfect) | |
webhook_url |
Webhook URL |
CreateImageTransformerTask¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
List of active capabilities for this task | |
config |
Flexible configuration storage | |
fallback_provider_capabilities |
Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation. | |
fallback_provider_config |
Provider-specific config for the fallback provider. Shape varies by provider type. | |
fallback_provider_type |
Fallback provider activated when primary exhausts all retries (non-ValueError only). | |
input_image |
string | Input image as base64, data URL, local path, or remote URL |
mask_image |
Subject-mask image (base64, data URL, local path, or remote URL) for the OUTPAINT node (VERTEX), typically fanned out from an upstream SEGMENTER's result_mask_path. Required by OUTPAINT for subject-alpha paste-back and Voronoi safety censorship when any solver pad is non-zero; a zero-pad plan passes the input through without loading the mask. Unused by the LOCAL pad/crop/scale nodes. | |
max_regions |
For the crop_regions node: cut at most this many regions, keeping the first N in the order given. A BUDGET, not a safety limit (the node keeps its own hard ceiling for detector artefacts): a reference set has a useful size, and past it each extra crop dilutes the attention a consumer pays to the others. Omit to cut them all. | |
min_edge_px |
For the crop_regions node: shortest edge a crop is upscaled to when it lands below it. Upscaling adds no information — it exists for consumers that reject or under-weight small inputs. Omit to keep every crop at native resolution. | |
node_type |
string | Which transformer node executes this task: pad/crop/scale/crop_regions (LOCAL) or outpaint (VERTEX). Provider defaults from the node when omitted. |
origin_instance |
string | Identifier for the instance that created this task |
origin_reference |
Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend) | |
origin_tenant_id |
Optional tenant/organization identifier | |
origin_zone |
Environment/zone identifier (e.g., 'eu', 'us') | |
pad_color |
Solid RGB fill [r, g, b] (0-255) for the pad node; defaults to white when omitted | |
padding_ratio |
For the crop_regions node: fraction of each box's own width/height added per side, clamped to the frame. A box that hugs its subject cuts away the surrounding context; how much context is worth keeping is the caller's policy. Defaults to 0.0 (cut the box as given). | |
priority |
integer | |
provider_config |
Provider-specific configuration | |
provider_type |
Provider type for task execution | |
queue_name |
Optional queue override. If not specified, determined by provider_type | |
regions |
For the crop_regions node: the regions to cut, as [{box: [x, y, width, height], ...}]. Only `box` is interpreted and every other key is ignored, so a detector's rich per-item output can be wired straight in. COORDINATE FRAME: boxes are relative to `input_image` — boxes detected on a different frame cut the wrong regions. | |
result_transform |
PAD->CROP->SCALE plan from TRANSFORMATIONS_SOLVER. Each node reads its own sub-key: the pad node reads 'pad' and the crop node reads 'crop' (pixel amounts per side), the scale node reads 'scale' (uniform float factor). The OUTPAINT node passes input_image through unchanged when every 'pad' amount is zero; otherwise it takes its subject mask from the separate 'mask_image' input. | |
target_height |
Exact output height for the scale node; omitted keeps scale-factor-derived sizing. | |
target_width |
Exact output width for the scale node; omitted keeps scale-factor-derived sizing. | |
task_type |
string | |
webhook_url |
Webhook URL |
CreateLLMInteractionTask¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
List of active capabilities for this task | |
config |
Flexible configuration storage | |
details |
compose_prompt only: detail descriptions aligned with the crops the renderer receives, as [{kind, text}, ...]. Stored on the task's inputs JSONB port. | |
fallback_provider_capabilities |
Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation. | |
fallback_provider_config |
Provider-specific config for the fallback provider. Shape varies by provider type. | |
fallback_provider_type |
Fallback provider activated when primary exhausts all retries (non-ValueError only). | |
input_images |
List of image paths/URLs | |
node_type |
Which node executes this task: 'caption' (VERTEX image -> short label, fixed prompt) or 'compose_prompt' (LOCAL text join of the authored prompt and crop detail descriptions). Omit for the legacy ai_core free-prompt path. | |
origin_instance |
string | Identifier for the instance that created this task |
origin_reference |
Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend) | |
origin_tenant_id |
Optional tenant/organization identifier | |
origin_zone |
Environment/zone identifier (e.g., 'eu', 'us') | |
priority |
integer | |
prompt |
User prompt. Required for the legacy path and compose_prompt; caption carries a fixed prompt. | |
provider_config |
Provider-specific configuration | |
provider_type |
Provider type for task execution | |
queue_name |
Optional queue override. If not specified, determined by provider_type | |
system_prompt |
System prompt | |
task_type |
TaskType | |
webhook_url |
Webhook URL |
CreateRefineTask¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
List of active capabilities for this task | |
base_image_url |
string | Base image URL |
config |
Flexible configuration storage | |
face_detail_denoise |
number | Denoise strength |
face_detail_enabled |
boolean | Whether to enhance face details in the image |
face_detail_prompt |
Face detail prompt | |
face_detail_seed |
Seed for the face detail enhancement | |
face_detail_steps |
integer | Number of inference steps |
fal_app_id |
FAL app ID for task execution | |
fallback_provider_capabilities |
Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation. | |
fallback_provider_config |
Provider-specific config for the fallback provider. Shape varies by provider type. | |
fallback_provider_type |
Fallback provider activated when primary exhausts all retries (non-ValueError only). | |
origin_instance |
string | Identifier for the instance that created this task |
origin_reference |
Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend) | |
origin_tenant_id |
Optional tenant/organization identifier | |
origin_zone |
Environment/zone identifier (e.g., 'eu', 'us') | |
priority |
integer | |
provider_config |
Provider-specific configuration | |
provider_type |
Provider type for task execution | |
queue_name |
Optional queue override. If not specified, determined by provider_type | |
target_height |
Target output height in pixels | |
target_width |
Target output width in pixels | |
task_type |
string | |
upscale_denoise |
number | Denoise strength |
upscale_enabled |
boolean | Whether to upscale the image |
upscale_factor |
Upscale factor (float value). Integer values 2, 4, 8 use specific UPSCALE_*X capabilities. Non-integer values require UPSCALE_FLOAT capability. If not provided, OUTPUT_SIZE capability is required | |
upscale_prompt |
Task prompt | |
upscale_seed |
Seed for the upscale | |
upscale_steps |
integer | Number of inference steps |
webhook_url |
Webhook URL |
CreateSegmenterTask¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
List of active capabilities for this task | |
backend |
Deprecated alias of 'strategy' (kept for pre-rename clients). Ignored when 'strategy' is provided; passing both with different values is a 422. | |
cca |
boolean | Keep only the largest connected component (SAM-3 only; ignored for strategy='birefnet') |
config |
Flexible configuration storage | |
fallback_prompts |
Array<string> | Alternative prompts tried IN ORDER when 'prompt' detects nothing or SAM-3 produces no mask; the first that hits wins. Empty (default) = single attempt. Bounded because each entry costs a separate billable vendor round-trip. |
fallback_provider_capabilities |
Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation. | |
fallback_provider_config |
Provider-specific config for the fallback provider. Shape varies by provider type. | |
fallback_provider_type |
Fallback provider activated when primary exhausts all retries (non-ValueError only). | |
holes_filling_percent |
Fill enclosed holes smaller than X% of image area; null disables (SAM-3 only; ignored for strategy='birefnet') | |
input_image |
string | Input image as base64, data URL (data:image/...), or remote URL (http://...) |
invert_mask |
boolean | Invert the returned mask (SAM-3 only; ignored for strategy='birefnet') |
max_masks |
integer | Number of masks to return (SAM-3 only; ignored for strategy='birefnet') |
node_type |
Which segmenter node executes this task: 'mask' (SAM-3/BiRefNet mask, default) or 'detect' (Moondream3 bounding box). | |
origin_instance |
string | Identifier for the instance that created this task |
origin_reference |
Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend) | |
origin_tenant_id |
Optional tenant/organization identifier | |
origin_zone |
Environment/zone identifier (e.g., 'eu', 'us') | |
priority |
integer | |
prompt |
What to segment/detect (e.g. 'human person', 'background'). Required for prompt-guided strategies (sam3, moondream); ignored by fixed-scaffold strategies (birefnet, gemini_product_inventory, gemini_graphics). | |
provider_config |
FAL segmenter provider configuration. | |
provider_type |
Provider type for task execution | |
queue_name |
Optional queue override. If not specified, determined by provider_type | |
return_bboxes |
boolean | Derive bounding box(es) from the resulting mask |
strategy |
Algorithm for the selected node: 'birefnet' (soft matte, default) or 'sam3' (binary mask) for node_type='mask'; 'moondream' (default) or 'gemini' for node_type='detect'. 'gemini' is the odd one out: it runs on VERTEX (provider_type is pinned for you) and returns a DESCRIBED inventory of the marks and fittings it finds, not just boxes. A strategy set in FAL_SEGMENTER provider_config takes precedence for node_type='mask'. Defaults per node when neither this nor the deprecated 'backend' alias is provided. | |
task_type |
string | |
webhook_url |
Webhook URL |
CreateTransformationsSolverTask¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
List of active capabilities for this task | |
bbox_height |
Subject bbox height (relative 0-1) | |
bbox_width |
Subject bbox width (relative 0-1) | |
bbox_x |
Subject bbox left edge (relative 0-1) | |
bbox_y |
Subject bbox top edge (relative 0-1) | |
config |
Flexible configuration storage | |
fallback_provider_capabilities |
Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation. | |
fallback_provider_config |
Provider-specific config for the fallback provider. Shape varies by provider type. | |
fallback_provider_type |
Fallback provider activated when primary exhausts all retries (non-ValueError only). | |
input_image |
string | Input image as base64, data URL (data:image/...), remote URL (http://...), or local path |
margin_bottom |
Bottom margin as fraction of final height (0.0-1.0). 0 enforces 0 (subject touches bottom); >0 enforces exactly; None preserves the input's natural bottom margin. | |
margin_left |
Left margin as fraction of final width (0.0-1.0). 0 enforces 0 (subject touches left); >0 enforces exactly; None preserves the input's natural left margin. | |
margin_right |
Right margin as fraction of final width (0.0-1.0). 0 enforces 0 (subject touches right); >0 enforces exactly; None preserves the input's natural right margin. | |
margin_strategy |
string | Margin-processing priority, used only when margins are given. 'vertical' pins top+bottom (scale by scale_h); 'horizontal' pins left+right (scale by scale_w); 'auto' picks the pair the subject reaches first (scale_w < scale_h -> horizontal, else vertical, tie -> vertical). |
margin_tolerance |
number | Absolute per-side difference accepted as already matching an explicit margin target. For example, 0.005 means 0.5 percentage points. |
margin_top |
Top margin as fraction of final height (0.0-1.0). 0 enforces 0 (subject touches top); >0 enforces exactly; None preserves the input's natural top margin. | |
origin_instance |
string | Identifier for the instance that created this task |
origin_reference |
Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend) | |
origin_tenant_id |
Optional tenant/organization identifier | |
origin_zone |
Environment/zone identifier (e.g., 'eu', 'us') | |
placement_strategy |
string | No-margins placement: 'preserve' keeps the subject center at its original fraction p; 'center' lands it at 0.5 (clamped). Requires a bbox. The solver auto-decides crop-to-AR (if it would not cut the subject) vs pad-to-AR; there is no pad/crop input. |
priority |
integer | |
protected_bboxes |
Relative [x, y, width, height] boxes of writings/logos/graphics the detail crop must not cut. Ignored when shot_type != 'detail'. | |
provider_config |
Provider-specific configuration | |
provider_type |
Provider type for task execution | |
queue_name |
Optional queue override. If not specified, determined by provider_type | |
shot_type |
Shot-type policy. 'detail' forces crop/scale only (pad=0, OUTPAINT short-circuited) and ignores margins. Any other value (full_body, upper_body, ...) is accepted but has no effect yet; None keeps legacy. | |
target_height |
Target height in pixels (required, paired with target_width) | |
target_width |
Target width in pixels (required, paired with target_height) | |
task_type |
string | |
webhook_url |
Webhook URL |
CreateVideoGenerationTask¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
List of active capabilities for this task | |
cfg_scale |
number | Classifier-free guidance scale (0.0-2.0) |
config |
Flexible configuration storage | |
duration_seconds |
integer | Video duration in seconds (1-60) |
fallback_provider_capabilities |
Capabilities for the fallback provider. Replaces active_provider_capabilities on fallback activation. | |
fallback_provider_config |
Provider-specific config for the fallback provider. Shape varies by provider type. | |
fallback_provider_type |
Fallback provider activated when primary exhausts all retries (non-ValueError only). | |
input_image_data |
Base64-encoded input image data (data:image/jpeg;base64,... format) | |
input_image_url |
URL to input image for video generation | |
negative_prompt |
Negative prompt to avoid unwanted elements | |
origin_instance |
string | Identifier for the instance that created this task |
origin_reference |
Optional field that can be used to map an id or a reference string from the origin (such as prediction id in the external backend) | |
origin_tenant_id |
Optional tenant/organization identifier | |
origin_zone |
Environment/zone identifier (e.g., 'eu', 'us') | |
priority |
integer | |
prompt |
string | Text prompt describing the desired video content |
provider_config |
Provider-specific configuration | |
provider_type |
Provider type for task execution | |
queue_name |
Optional queue override. If not specified, determined by provider_type | |
task_type |
string | |
webhook_url |
Webhook URL |
CreateWorkflow¶
| Name | Type | Description |
|---|---|---|
config |
Global workflow configuration | |
description |
Optional workflow description | |
id |
Optional caller-assigned ID used to make workflow creation idempotent | |
name |
string | Human-readable workflow name |
origin_instance |
string | Origin instance identifier |
origin_reference |
External reference ID for tracking | |
origin_tenant_id |
Tenant identifier for multi-tenant setups | |
origin_zone |
Origin zone identifier | |
steps |
Array<WorkflowStepDefinition> | List of steps defining the workflow DAG |
suppress_subtask_events |
boolean | Whether to suppress individual task events |
webhook_url |
URL to call when workflow completes |
DetailEnhancerTaskPublic¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
||
base_image_path |
string | |
celery_task_id |
||
completed_at |
||
config |
||
created_at |
string(date-time) | |
detail_label |
||
error_category |
||
errors |
||
executor_instance |
||
executor_type |
||
fallback_provider_capabilities |
||
fallback_provider_config |
||
fallback_provider_type |
||
fallback_used |
boolean | |
id |
string(uuid) | |
origin_instance |
string | Task origin instance |
origin_reference |
Optional reference ID or string from the origin system | |
origin_tenant_id |
Task origin tenant ID | |
origin_zone |
Task origin zone | |
priority |
integer | Task priority |
progress |
number | |
provider_config |
||
provider_type |
||
reference_image_path |
string | |
result_image_path |
||
retry_count |
integer | |
service_task_id |
||
started_at |
||
status |
TaskStatus | |
task_type |
string | |
updated_at |
string(date-time) |
DetailEnhancerTaskPublicUpdate¶
| Name | Type | Description |
|---|---|---|
config |
||
errors |
||
executor_instance |
||
executor_type |
||
priority |
||
status |
EditingTaskPublic¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
||
base_image_path |
string | |
celery_task_id |
||
completed_at |
||
config |
||
created_at |
string(date-time) | |
error_category |
||
errors |
||
executor_instance |
||
executor_type |
||
fal_app_id |
Get FAL app ID from provider config. | |
fal_request_id |
Get FAL request ID from provider config. | |
fallback_provider_capabilities |
||
fallback_provider_config |
||
fallback_provider_type |
||
height |
integer | |
id |
string(uuid) | |
node_type |
||
origin_instance |
string | Task origin instance |
origin_reference |
Optional reference ID or string from the origin system | |
origin_tenant_id |
Task origin tenant ID | |
origin_zone |
Task origin zone | |
priority |
integer | Task priority |
progress |
number | |
prompt |
string | |
provider_config |
||
provider_type |
||
reference_image_path |
||
reference_images |
||
result_image_path |
||
retry_count |
integer | |
seed |
||
service_task_id |
||
started_at |
||
status |
TaskStatus | |
task_type |
string | |
updated_at |
string(date-time) | |
width |
integer | |
workflow_id |
Workflow ID |
EditingTaskPublicUpdate¶
| Name | Type | Description |
|---|---|---|
config |
||
errors |
||
executor_instance |
||
executor_type |
||
priority |
||
status |
ErrorCategory¶
Type: string
EvaluationRequest¶
| Name | Type | Description |
|---|---|---|
custom_instructions |
Custom instructions for the evaluation | |
expected_framing |
Framing | Expected framing type for the image |
expected_gender |
Expected gender for the image | |
expected_view_angle |
ViewAngle | Expected view angle for the image |
image_data |
Base64-encoded image data (data:image/jpeg;base64,... format) | |
image_url |
URL to image file | |
include_descriptions |
boolean | Include garment and subject descriptions |
EvaluationResponse¶
| Name | Type | Description |
|---|---|---|
anatomy_confidence |
Confidence score for anatomy analysis | |
anatomy_correct |
Whether anatomy appears correct | |
anatomy_issues |
List of detected anatomy issues | |
collage_detected |
Whether a collage or stitched image was detected | |
confidence_summary |
Average confidence across all evaluations | |
detected_framing |
Detected framing type | |
detected_gender |
Detected gender | |
detected_view_angle |
Detected view angle | |
error |
Error message if evaluation failed | |
evaluation_time_ms |
Time taken for evaluation in milliseconds | |
garment_description |
Description of garments in the image | |
gender_confidence |
Confidence score for gender detection | |
human_detected |
Whether humans were detected in the image | |
human_presence_confidence |
Confidence score for human detection | |
matches_expected |
Whether detected shot type matches expected | |
number_of_people |
Number of people detected | |
scene_description |
Description of the scene | |
shot_type_confidence |
Confidence score for shot type detection | |
subject_description |
Description of the subject | |
success |
boolean | Whether the evaluation was successful |
EventType¶
Type: string
ExperimentalFalTaskPublic¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
||
celery_task_id |
||
completed_at |
||
config |
||
created_at |
string(date-time) | |
error_category |
||
errors |
||
executor_instance |
||
executor_type |
||
fal_app_id |
string | FAL app ID for task execution |
fal_parameters |
Parameters passed to the FAL app | |
fal_request_id |
FAL request ID | |
fallback_provider_capabilities |
||
fallback_provider_config |
||
fallback_provider_type |
||
id |
string(uuid) | |
origin_instance |
string | Task origin instance |
origin_reference |
Optional reference ID or string from the origin system | |
origin_tenant_id |
Task origin tenant ID | |
origin_zone |
Task origin zone | |
priority |
integer | Task priority |
progress |
number | |
provider_config |
||
provider_type |
||
result_url |
URL of the result from FAL | |
retry_count |
integer | |
service_task_id |
||
started_at |
||
status |
TaskStatus | |
task_type |
string | |
updated_at |
string(date-time) |
ExperimentalFalTaskPublicUpdate¶
| Name | Type | Description |
|---|---|---|
config |
||
errors |
||
executor_instance |
||
executor_type |
||
fal_app_id |
FAL app ID for task execution | |
fal_parameters |
Parameters to pass to the FAL app | |
priority |
||
status |
FaceEnhancerTaskPublic¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
||
attempts_used |
integer | |
celery_task_id |
||
completed_at |
||
config |
||
created_at |
string(date-time) | |
error_category |
||
errors |
||
executor_instance |
||
executor_type |
||
face_detected |
boolean | |
fallback_provider_capabilities |
||
fallback_provider_config |
||
fallback_provider_type |
||
fallback_used |
boolean | |
final_dists_score |
||
final_lpips_score |
||
final_ssim_score |
||
id |
string(uuid) | |
input_image_path |
string | |
origin_instance |
string | Task origin instance |
origin_reference |
Optional reference ID or string from the origin system | |
origin_tenant_id |
Task origin tenant ID | |
origin_zone |
Task origin zone | |
priority |
integer | Task priority |
progress |
number | |
provider_config |
||
provider_type |
||
result_image_path |
||
retry_count |
integer | |
service_task_id |
||
started_at |
||
status |
TaskStatus | |
task_type |
string | |
updated_at |
string(date-time) |
FaceEnhancerTaskPublicUpdate¶
| Name | Type | Description |
|---|---|---|
config |
||
errors |
||
executor_instance |
||
executor_type |
||
priority |
||
status |
FalGarmentFixerConfig¶
| Name | Type | Description |
|---|---|---|
provider_type |
string |
FalSegmenterConfig¶
| Name | Type | Description |
|---|---|---|
backend |
string | Deprecated alias of 'strategy'; kept (with its default) for back-compat. |
provider_type |
string | |
strategy |
Segmentation strategy used by the provider (preferred over 'backend'). |
FalShootifyRefinerConfig¶
| Name | Type | Description |
|---|---|---|
fal_app_id |
string | FAL application ID for refinement |
fal_request_id |
FAL request ID for tracking | |
provider_type |
string |
FalStandardConfig¶
| Name | Type | Description |
|---|---|---|
additional_static_params |
Additional static parameters to pass directly to FAL API | |
fal_app_id |
string | FAL application ID |
fal_request_id |
FAL request ID for tracking | |
provider_type |
string |
FashnStandardConfig¶
| Name | Type | Description |
|---|---|---|
fashn_task_id |
FASHN task ID for polling and resumability | |
max_image_height |
integer | Maximum image height in pixels for preprocessing (FASHN recommends 2000px) |
max_wait_seconds |
Maximum wait time in seconds (default: uses EDITING_TASK_TIMEOUT from settings) | |
poll_interval |
integer | Polling interval in seconds (1-60) |
provider_type |
string |
FieldMapping¶
| Name | Type | Description |
|---|---|---|
from_field |
string | Output field name from source step |
from_step |
string | Step ID to get output from |
to_field |
string | Input field name in target step |
transform |
Optional transformation to apply when mapping |
Framing¶
Type: string
FreepikMagnificConfig¶
| Name | Type | Description |
|---|---|---|
creativity |
integer | Creativity level (-10 to 10) |
defaultPrompt |
Default prompt to use if none provided | |
engine |
string | Processing engine to use |
fractality |
integer | Fractality level (-10 to 10) |
hdr |
integer | HDR enhancement level (-10 to 10) |
optimized_for |
string | Optimization target for the upscaling |
provider_type |
string | |
resemblance |
integer | Resemblance to original (-10 to 10) |
FreepikMagnificPrecisionConfig¶
| Name | Type | Description |
|---|---|---|
defaultPrompt |
Default prompt to use if none provided | |
provider_type |
string | |
sharpen |
integer | Sharpening level (0 to 100) |
smart_grain |
integer | Smart grain level (0 to 100) |
ultra_detail |
integer | Ultra detail level (0 to 100) |
Gender¶
Type: string
GenerationTaskPublic¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
||
celery_task_id |
||
completed_at |
||
config |
||
created_at |
string(date-time) | |
error_category |
||
errors |
||
executor_instance |
||
executor_type |
||
fal_app_id |
Get FAL app ID from provider config. | |
fal_request_id |
Get FAL request ID from provider config. | |
fallback_provider_capabilities |
||
fallback_provider_config |
||
fallback_provider_type |
||
height |
||
id |
string(uuid) | |
origin_instance |
string | Task origin instance |
origin_reference |
Optional reference ID or string from the origin system | |
origin_tenant_id |
Task origin tenant ID | |
origin_zone |
Task origin zone | |
priority |
integer | Task priority |
product2_lora_weight |
||
product2_model_path |
||
product_lora_weight |
||
product_model_path |
||
progress |
number | |
prompt |
||
provider_config |
||
provider_type |
||
reference_image_path |
||
reference_image_strength |
||
result_image_path |
||
retry_count |
integer | |
seed |
||
service_task_id |
||
started_at |
||
status |
TaskStatus | |
style_lora_weight |
||
style_model_path |
||
subject_lora_weight |
||
subject_model_path |
||
task_type |
string | |
updated_at |
string(date-time) | |
width |
||
workflow_id |
GenerationTaskPublicUpdate¶
| Name | Type | Description |
|---|---|---|
config |
||
errors |
||
executor_instance |
||
executor_type |
||
priority |
||
status |
GenerationTaskUpdate¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
List of active capabilities for this task | |
celery_task_id |
Task Celery task ID | |
completed_at |
Task completion timestamp | |
config |
Flexible configuration storage | |
created_at |
Task creation timestamp | |
error_category |
Error category classification | |
errors |
||
executor_instance |
||
executor_type |
||
fal_app_id |
FAL app ID | |
fal_request_id |
FAL request ID | |
fallback_provider_capabilities |
Fallback provider capabilities | |
fallback_provider_config |
Fallback provider-specific config | |
fallback_provider_type |
Fallback provider type | |
is_resumed |
Whether task is being resumed | |
last_resume_attempt |
Last resume attempt timestamp | |
origin_instance |
Task origin instance | |
origin_reference |
Optional reference ID or string from the origin system | |
origin_tenant_id |
Task origin tenant ID | |
origin_zone |
Task origin zone | |
priority |
||
product2_lora_weight |
Second product LoRA weight | |
product2_model_path |
Path to the second product model | |
product_lora_weight |
Product LoRA weight | |
product_model_path |
Path to the product model | |
progress |
Task progress (0.0 to 100.0) | |
provider_type |
Provider type for task execution | |
queue_name |
Task queue name | |
reference_image_path |
Path to the reference image | |
reference_image_strength |
Influence of the reference image on generation (0-100) | |
result_image_path |
Path to the result image | |
resume_attempt_count |
Number of resume attempts | |
retry_count |
Task retry count | |
service_requests |
External service request log for observability | |
service_task_id |
Task service task ID | |
started_at |
Task start timestamp | |
status |
||
style_lora_weight |
Style LoRA weight | |
style_model_path |
Path to the style model | |
subject_lora_weight |
Subject LoRA weight | |
subject_model_path |
Path to the subject model | |
task_type |
Task type | |
updated_at |
Task last update timestamp |
HealthStatus¶
| Name | Type | Description |
|---|---|---|
average_response_time |
number | Average response time in seconds |
circuit_breaker_state |
string | Circuit breaker state |
health_score |
number | Health score (0.0-1.0) |
is_healthy |
boolean | Whether the evaluator is healthy |
success_rate |
number | Success rate (0.0-1.0) |
total_evaluations |
integer | Total number of evaluations performed |
HTTPValidationError¶
| Name | Type | Description |
|---|---|---|
detail |
Array<ValidationError> |
ImageAdjusterTaskPublic¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
||
aspect_ratio |
||
bbox_height |
||
bbox_width |
||
bbox_x |
||
bbox_y |
||
celery_task_id |
||
completed_at |
||
config |
||
created_at |
string(date-time) | |
cropping_position |
||
error_category |
||
errors |
||
executor_instance |
||
executor_type |
||
fallback_provider_capabilities |
||
fallback_provider_config |
||
fallback_provider_type |
||
id |
string(uuid) | |
input_image_path |
string | |
margin_bottom |
||
margin_left |
||
margin_right |
||
margin_top |
||
mode |
string | |
origin_instance |
string | Task origin instance |
origin_reference |
Optional reference ID or string from the origin system | |
origin_tenant_id |
Task origin tenant ID | |
origin_zone |
Task origin zone | |
priority |
integer | Task priority |
progress |
number | |
provider_config |
||
provider_type |
||
reference_image_path |
||
resampling |
||
result_image_path |
||
retry_count |
integer | |
scaling_proportions |
||
service_task_id |
||
started_at |
||
status |
TaskStatus | |
subject_mask_path |
||
target_height |
||
target_width |
||
task_type |
string | |
tolerance |
||
updated_at |
string(date-time) |
ImageAdjusterTaskPublicUpdate¶
| Name | Type | Description |
|---|---|---|
config |
||
errors |
||
executor_instance |
||
executor_type |
||
priority |
||
status |
ImageTransformerTaskPublic¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
||
celery_task_id |
||
completed_at |
||
config |
||
created_at |
string(date-time) | |
crop_paths |
||
error_category |
||
errors |
||
executor_instance |
||
executor_type |
||
fallback_provider_capabilities |
||
fallback_provider_config |
||
fallback_provider_type |
||
id |
string(uuid) | |
input_image_path |
||
mask_image_path |
||
max_regions |
||
min_edge_px |
||
node_type |
||
origin_instance |
string | Task origin instance |
origin_reference |
Optional reference ID or string from the origin system | |
origin_tenant_id |
Task origin tenant ID | |
origin_zone |
Task origin zone | |
pad_color |
||
padding_ratio |
||
priority |
integer | Task priority |
progress |
number | |
provider_config |
||
provider_type |
||
regions |
||
result_image_path |
||
result_transform |
||
retry_count |
integer | |
service_task_id |
||
started_at |
||
status |
TaskStatus | |
task_type |
string | |
updated_at |
string(date-time) |
ImageTransformerTaskPublicUpdate¶
| Name | Type | Description |
|---|---|---|
config |
||
errors |
||
executor_instance |
||
executor_type |
||
priority |
||
status |
InferenceStatusEvent¶
| Name | Type | Description |
|---|---|---|
backend_generation_id |
string(uuid) | |
backend_prediction_id |
string(uuid) | |
completed_at |
||
entity_id |
||
error_message |
||
event_type |
EventType | |
metadata |
||
origin_instance |
||
origin_reference |
||
origin_version |
||
origin_zone |
||
prompt_id |
||
refined_image_path |
||
result_image_path |
||
status |
string | |
task_id |
string(uuid) | |
timestamp |
LatencyStats¶
| Name | Type | Description |
|---|---|---|
avg_ms |
Mean latency (ms) | |
p50_ms |
Median (50th percentile) latency (ms) | |
p95_ms |
95th percentile latency (ms) | |
p99_ms |
99th percentile latency (ms) | |
sample_size |
integer | Number of samples the stats were computed over |
LLMInteractionTaskPublic¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
||
celery_task_id |
||
completed_at |
||
config |
||
created_at |
string(date-time) | |
error_category |
||
errors |
||
executor_instance |
||
executor_type |
||
fallback_provider_capabilities |
||
fallback_provider_config |
||
fallback_provider_type |
||
id |
string(uuid) | |
input_images |
||
input_tokens |
||
node_type |
||
origin_instance |
string | Task origin instance |
origin_reference |
Optional reference ID or string from the origin system | |
origin_tenant_id |
Task origin tenant ID | |
origin_zone |
Task origin zone | |
output_tokens |
||
priority |
integer | Task priority |
progress |
number | |
prompt |
string | |
provider_config |
||
provider_type |
||
result_text |
||
retry_count |
integer | |
service_task_id |
||
started_at |
||
status |
TaskStatus | |
system_prompt |
||
task_type |
TaskType | Task type |
updated_at |
string(date-time) |
LLMInteractionTaskPublicUpdate¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
List of active capabilities for this task | |
celery_task_id |
Task Celery task ID | |
completed_at |
Task completion timestamp | |
config |
Flexible configuration storage | |
created_at |
Task creation timestamp | |
error_category |
Error category classification | |
errors |
||
executor_instance |
||
executor_type |
||
fallback_provider_capabilities |
Fallback provider capabilities | |
fallback_provider_config |
Fallback provider-specific config | |
fallback_provider_type |
Fallback provider type | |
is_resumed |
Whether task is being resumed | |
last_resume_attempt |
Last resume attempt timestamp | |
origin_instance |
Task origin instance | |
origin_reference |
Optional reference ID or string from the origin system | |
origin_tenant_id |
Task origin tenant ID | |
origin_zone |
Task origin zone | |
priority |
||
progress |
||
provider_type |
Provider type for task execution | |
queue_name |
Task queue name | |
resume_attempt_count |
Number of resume attempts | |
retry_count |
Task retry count | |
service_requests |
External service request log for observability | |
service_task_id |
Task service task ID | |
started_at |
Task start timestamp | |
status |
||
task_type |
Task type | |
updated_at |
Task last update timestamp |
LocalProviderConfig¶
| Name | Type | Description |
|---|---|---|
provider_type |
string | |
rembg_model |
string | Rembg model for background removal. Available models: u2net, u2netp, u2net_human_seg, u2net_cloth_seg, silueta, isnet-general-use, isnet-anime, sam |
LoRADeleteRequest¶
| Name | Type | Description |
|---|---|---|
partial_path |
string | Relative path of the LoRA file (as returned by upload) |
LoRADeleteResponse¶
| Name | Type | Description |
|---|---|---|
bin_path |
Path where the file was moved in the bin | |
deleted |
boolean | Whether the file was successfully deleted |
full_path |
string | Full path of the deleted file |
timestamp |
string | ISO format timestamp of the deletion |
LoRAUploadResponse¶
| Name | Type | Description |
|---|---|---|
file_path |
string | Full path where the LoRA file was stored |
file_size |
integer | Size of the uploaded file in bytes |
filename |
string | Original filename of the uploaded file |
partial_path |
string | Partial path relative to base models directory (e.g., 'identities/lora_name.safetensors') |
upload_timestamp |
string | ISO timestamp of when the file was uploaded |
MediaItem¶
| Name | Type | Description |
|---|---|---|
media_type |
string | Type of media: 'image' or 'video' |
name |
string | Descriptive name (e.g., 'base_image', 'result_image') |
path |
string | Relative path in storage |
url |
string | Full URL for preview |
MintEventsTokenRequest¶
| Name | Type | Description |
|---|---|---|
task_id |
||
workflow_id |
MintEventsTokenResponse¶
| Name | Type | Description |
|---|---|---|
expires_in |
integer | |
scope |
string | |
token |
string |
MonitoringWorkflowListResponse¶
| Name | Type | Description |
|---|---|---|
items |
Array<WorkflowListItem> | |
page |
integer | Current page number (1-indexed) |
page_size |
integer | Number of items per page |
pages |
integer | Total number of pages |
total |
integer | Total number of workflows matching filters |
NanoBananaUpscalerConfig¶
| Name | Type | Description |
|---|---|---|
default_prompt |
Custom prompt for upscaling. If not provided, uses the default upscale prompt. | |
max_retries |
integer | Maximum API retries for failed consistency checks. |
provider_type |
string | |
ssim_threshold |
number | SSIM threshold for structural consistency. Set to 0 to disable. |
NodeCatalogCard¶
| Name | Type | Description |
|---|---|---|
category |
string | UI grouping category. |
description |
string | UI description. |
display_name |
string | UI display name. |
id |
string | Stable card id: node: |
implemented |
boolean | Whether this card maps to implemented execution. |
io |
Workflow I/O JSON Schemas, or null when not workflow-authorable. | |
kind |
string | Card source. |
node_schema_version |
integer | Schema version stamped onto node-authored steps. |
node_type |
Node dispatch key, or null for legacy cards. | |
params_schema |
Self-contained task create JSON Schema document. | |
providers |
Provider and queue choices for node cards; null for legacy cards. | |
strategies |
Strategy choices for nodes that expose strategy selection. | |
task_type |
string | TaskType enum value. |
workflow_authorable |
boolean | True when both workflow input and output schemas resolve. |
NodeCatalogEnums¶
| Name | Type | Description |
|---|---|---|
provider_to_queue |
||
provider_types |
Array<string> | |
step_statuses |
Array<string> | |
task_statuses |
Array<string> | |
task_types |
Array<string> | |
transform_types |
Array<string> | |
workflow_statuses |
Array<string> |
NodeCatalogEnvelope¶
| Name | Type | Description |
|---|---|---|
catalog_version |
integer | Catalog contract version. |
enums |
NodeCatalogEnums | Enum values used by catalog clients. |
nodes |
Array<NodeCatalogCard> | Catalog cards. |
schema_hash |
string | Deterministic sha256 of the envelope without this field. |
NodeCatalogIO¶
| Name | Type | Description |
|---|---|---|
inputs |
Self-contained JSON Schema for workflow inputs. | |
outputs |
Self-contained JSON Schema for workflow outputs. |
NodeCatalogProvider¶
| Name | Type | Description |
|---|---|---|
provider_type |
string | ProviderType enum value. |
queue |
string | Celery queue used for this provider. |
NodeCatalogStrategy¶
| Name | Type | Description |
|---|---|---|
description |
string | Short strategy behavior summary. |
display_name |
string | Human-readable strategy name. |
is_default |
boolean | True for the node's default strategy (exactly one per node). |
name |
string | Strategy dispatch name accepted by the node. |
uses_prompt |
boolean | Whether the strategy reads the task's 'prompt' field. When false, the prompt and fallback_prompts fields are not required and the editor hides them. |
ProviderCapability¶
Type: string
ProviderConfig¶
Type:
ProviderType¶
Type: string
QaAssessment-Input¶
| Name | Type | Description |
|---|---|---|
checks |
Array<QaCheck> | |
key |
string | |
label |
string | |
passed |
boolean | |
target |
QaTarget |
QaAssessment-Output¶
| Name | Type | Description |
|---|---|---|
checks |
Array<QaCheck> | |
key |
string | |
label |
string | |
passed |
boolean | |
target |
QaTarget |
QaCheck¶
| Name | Type | Description |
|---|---|---|
key |
string | |
label |
string | |
locations |
Array<QaLocation> | |
passed |
boolean | |
reasoning |
string |
QaLocation¶
| Name | Type | Description |
|---|---|---|
x_max |
number | |
x_min |
number | |
y_max |
number | |
y_min |
number |
QaReport-Input¶
| Name | Type | Description |
|---|---|---|
assessments |
Array<QaAssessment-Input> | |
passed |
boolean | |
schema_version |
integer | |
summary |
string |
QaReport-Output¶
| Name | Type | Description |
|---|---|---|
assessments |
Array<QaAssessment-Output> | |
passed |
boolean | |
schema_version |
integer | |
summary |
string |
QaTarget¶
| Name | Type | Description |
|---|---|---|
key |
string | |
label |
string |
QueueScalingInfo¶
| Name | Type | Description |
|---|---|---|
busy_instances |
integer | Live instances with at least one active task |
concurrency |
integer | Per-instance concurrency (CREMA's listLength divisor) |
desired_instances |
integer | Instances CREMA targets: ceil(desired_load / concurrency) |
desired_load |
integer | Published CREMA load (LLEN of crema:load: |
idle_instances |
integer | Live instances with no active tasks |
in_flight_tasks |
integer | Sum of active tasks across live instances serving the queue |
live_instances |
integer | Workers currently serving this queue (online heartbeats) |
queue |
string | Queue / worker-pool name |
queued_tasks |
integer | Tasks waiting in the broker (LLEN of the queue) |
QueueStats¶
| Name | Type | Description |
|---|---|---|
active_tasks |
integer | Number of tasks currently being executed |
active_workers |
integer | Number of workers consuming this queue |
depth |
integer | Number of pending tasks in queue |
exec_time |
LatencyStats | Execution duration (started→completed), last hour |
name |
string | Queue name |
reserved_tasks |
integer | Number of tasks reserved by workers (prefetched) |
tasks_completed_last_hour |
integer | Number of tasks completed in the last hour |
wait_time |
LatencyStats | Time tasks wait in queue before execution (created→started), last hour |
QueueStatsResponse¶
| Name | Type | Description |
|---|---|---|
queues |
Array<QueueStats> | Statistics per queue |
timestamp |
string(date-time) | Timestamp when stats were collected |
total_active |
integer | Total active tasks across all queues |
total_pending |
integer | Total pending tasks across all queues |
RefineTaskPublic¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
||
celery_task_id |
||
completed_at |
||
config |
||
created_at |
string(date-time) | |
error_category |
||
errors |
||
executor_instance |
||
executor_type |
||
face_detail_denoise |
number | |
face_detail_seed |
integer | |
face_detail_steps |
integer | |
fal_app_id |
Get FAL app ID from provider config. | |
fal_request_id |
Get FAL request ID from provider config. | |
fallback_provider_capabilities |
||
fallback_provider_config |
||
fallback_provider_type |
||
id |
string(uuid) | |
origin_instance |
string | Task origin instance |
origin_reference |
Optional reference ID or string from the origin system | |
origin_tenant_id |
Task origin tenant ID | |
origin_zone |
Task origin zone | |
priority |
integer | Task priority |
progress |
number | |
provider_config |
||
provider_type |
||
result_image_path |
||
retry_count |
integer | |
service_task_id |
||
started_at |
||
status |
TaskStatus | |
target_height |
||
target_width |
||
task_type |
string | |
updated_at |
string(date-time) | |
upscale_denoise |
number | |
upscale_factor |
||
upscale_seed |
integer | |
upscale_steps |
integer |
RefineTaskPublicUpdate¶
| Name | Type | Description |
|---|---|---|
config |
||
errors |
||
executor_instance |
||
executor_type |
||
priority |
||
status |
RetryStats¶
| Name | Type | Description |
|---|---|---|
avg |
Mean retry count | |
p95 |
95th percentile retry count | |
pct_with_retries |
Percent of terminal tasks that needed >=1 retry (0-100) | |
sample_size |
integer | Terminal tasks the stats were computed over |
SartiqUltimateFaceFixerConfig¶
| Name | Type | Description |
|---|---|---|
dists_threshold |
number | DISTS similarity threshold. 0 to disable (saves ~2GB RAM). |
expand_percent |
number | Face bbox expansion percentage (0.5 = 50%) |
face_prompt |
Custom face detection prompt (uses default if not provided) | |
feather_px |
integer | Feather width in pixels for blending |
lpips_threshold |
number | LPIPS similarity threshold. 0 to disable (saves ~2GB RAM). |
max_retries |
integer | Maximum API retries for failed consistency checks |
provider_type |
string | |
save_debug_images |
boolean | Save intermediate images for debugging |
ssim_threshold |
number | SSIM threshold for structural consistency. 0 to disable. |
SartiqUltimateGarmentFixerConfig¶
| Name | Type | Description |
|---|---|---|
bbox_expand_percent |
number | How much to expand garment bounding box (0.05 = 5% larger). |
dists_threshold |
number | DISTS similarity threshold. 0 to disable (saves ~2GB RAM). |
feather_px |
integer | Feather width in pixels for garment tile blending. 0 to disable. |
lpips_threshold |
number | LPIPS similarity threshold. 0 to disable (saves ~2GB RAM). |
max_retries |
integer | Max retries per tile for failed consistency checks. |
provider_type |
string | |
save_debug_images |
boolean | Save intermediate images for debugging. |
split_threshold |
number | Aspect ratio threshold for splitting elongated bboxes into 2 tiles. |
ssim_threshold |
number | SSIM threshold for structural consistency. 0 to disable. |
SartiqUltimateRefinerConfig¶
| Name | Type | Description |
|---|---|---|
dists_threshold |
number | DISTS similarity threshold. 0 to disable (saves ~2GB RAM). |
face_expand_percent |
number | How much to expand face bounding box (0.5 = 50% larger). V1 only, ignored in V2. |
feather_px |
integer | Feather width in pixels for tile blending. 0 to disable. |
lpips_threshold |
number | LPIPS similarity threshold. 0 to disable (saves ~2GB RAM). |
max_retries |
integer | Max retries per tile for failed consistency checks. |
max_workers |
Max concurrent tiles. None for unlimited. | |
num_tiles |
integer | Target number of tiles. Grid layout matches image aspect ratio. |
provider_type |
string | |
save_debug_tiles |
boolean | Save intermediate tiles for debugging. |
ssim_threshold |
number | SSIM threshold for structural consistency. 0 to disable. |
version |
string | Pipeline version. '1' = face detection + Lab color correction + adaptive resolution. '2' = simplified with histogram color correction + always 4K + no face processing. |
ScalingStatsResponse¶
| Name | Type | Description |
|---|---|---|
available |
boolean | False when scaling state could not be read from Redis (stale/unavailable) |
queues |
Array<QueueScalingInfo> | Per-queue scaling state |
timestamp |
string(date-time) | Timestamp when stats were collected |
SegmenterTaskPublic¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
||
additional_mask_paths |
||
backend |
string | |
bbox_height |
||
bbox_width |
||
bbox_x |
||
bbox_y |
||
cca |
boolean | |
celery_task_id |
||
completed_at |
||
config |
||
created_at |
string(date-time) | |
error_category |
||
errors |
||
executor_instance |
||
executor_type |
||
fallback_prompts |
||
fallback_provider_capabilities |
||
fallback_provider_config |
||
fallback_provider_type |
||
holes_filling_percent |
||
id |
string(uuid) | |
input_image_path |
string | |
invert_mask |
boolean | |
mask_kind |
||
mask_url |
||
max_masks |
integer | |
node_type |
||
origin_instance |
string | Task origin instance |
origin_reference |
Optional reference ID or string from the origin system | |
origin_tenant_id |
Task origin tenant ID | |
origin_zone |
Task origin zone | |
priority |
integer | Task priority |
progress |
number | |
prompt |
||
provider_config |
||
provider_type |
||
result_mask_path |
||
retry_count |
integer | |
return_bboxes |
boolean | |
service_task_id |
||
started_at |
||
status |
TaskStatus | |
strategy |
string | |
task_type |
string | |
updated_at |
string(date-time) |
SegmenterTaskPublicUpdate¶
| Name | Type | Description |
|---|---|---|
config |
||
errors |
||
executor_instance |
||
executor_type |
||
priority |
||
status |
StatsOverviewResponse¶
| Name | Type | Description |
|---|---|---|
filters |
Echo of the filters applied (for display) | |
tasks |
Task metrics keyed by window (last_hour/last_day/total) | |
timestamp |
string(date-time) | When the stats were collected |
workflows |
Workflow metrics keyed by window |
StepStatus¶
Type: string
TaskCreatedEvent¶
| Name | Type | Description |
|---|---|---|
created_at |
string(date-time) | |
entity_id |
||
event_type |
EventType | |
metadata |
||
origin_instance |
||
origin_reference |
||
origin_version |
||
origin_zone |
||
status |
string | |
task_id |
string(uuid) | |
task_type |
string | |
timestamp |
||
total_steps |
integer |
TaskDetailResponse¶
| Name | Type | Description |
|---|---|---|
celery_task_id |
||
completed_at |
||
config |
||
created_at |
string(date-time) | |
duration_ms |
Duration in milliseconds | |
errors |
||
executor_instance |
||
executor_type |
||
id |
string(uuid) | |
is_resumed |
boolean | Whether task was resumed |
last_resume_attempt |
Timestamp of last resume attempt | |
node_schema_version |
||
node_type |
||
origin_instance |
string | |
origin_reference |
||
origin_tenant_id |
||
origin_zone |
||
priority |
integer | Task priority (higher = more priority) |
progress |
number | |
provider_type |
||
queue_name |
string | Celery queue name |
resume_attempt_count |
integer | Number of resume attempts |
retry_count |
integer | |
service_requests |
Log of external service requests made during task processing | |
service_task_id |
||
started_at |
||
status |
TaskStatus | |
task_data |
Task-type specific fields (prompt, width, height, result_image_path, etc.) | |
task_type |
TaskType | |
updated_at |
string(date-time) | |
webhook_url |
Webhook URL for notifications |
TaskListItem¶
| Name | Type | Description |
|---|---|---|
completed_at |
||
created_at |
string(date-time) | |
duration_ms |
Duration in milliseconds (computed from started_at to completed_at) | |
has_error |
boolean | Whether task has any errors |
id |
string(uuid) | |
node_type |
||
origin_instance |
string | |
origin_tenant_id |
||
origin_zone |
||
progress |
number | |
provider_type |
||
started_at |
||
status |
TaskStatus | |
task_type |
TaskType |
TaskListResponse¶
| Name | Type | Description |
|---|---|---|
items |
Array<TaskListItem> | |
page |
integer | Current page number (1-indexed) |
page_size |
integer | Number of items per page |
pages |
integer | Total number of pages |
total |
integer | Total number of tasks matching filters |
TaskMediaResponse¶
| Name | Type | Description |
|---|---|---|
inputs |
Array<MediaItem> | Input media files |
outputs |
Array<MediaItem> | Output media files |
task_id |
string(uuid) |
TaskStatus¶
Type: string
TaskStatusEvent¶
| Name | Type | Description |
|---|---|---|
completed_at |
||
entity_id |
||
error_category |
||
error_message |
||
event_type |
EventType | |
metadata |
||
origin_instance |
||
origin_reference |
||
origin_version |
||
origin_zone |
||
progress |
number | Task progress percentage |
started_at |
||
status |
TaskStatus | |
task_id |
string(uuid) | |
task_type |
string | |
timestamp |
TaskType¶
Type: string
TaskWindowStats¶
| Name | Type | Description |
|---|---|---|
cancelled |
integer | |
completed |
integer | |
completion_time |
LatencyStats | Execution duration (started→completed) |
executing |
integer | |
failed |
integer | |
failure_rate |
failed / (completed + failed), 0-1; None if no terminal tasks | |
pending |
integer | |
retries |
RetryStats | |
total |
integer | Tasks created in this window |
wait_time |
LatencyStats | Queue wait (created→started) |
window |
string |
TimeseriesBucket¶
| Name | Type | Description |
|---|---|---|
bucket |
string(date-time) | Start of the bucket (UTC) |
completed |
integer | |
created |
integer | |
failed |
integer |
TimeseriesResponse¶
| Name | Type | Description |
|---|---|---|
buckets |
Array<TimeseriesBucket> | |
filters |
||
interval |
string | Bucket granularity |
timestamp |
string(date-time) |
TransformationsSolverTaskPublic¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
||
bbox_height |
||
bbox_width |
||
bbox_x |
||
bbox_y |
||
celery_task_id |
||
completed_at |
||
config |
||
created_at |
string(date-time) | |
error_category |
||
errors |
||
executor_instance |
||
executor_type |
||
fallback_provider_capabilities |
||
fallback_provider_config |
||
fallback_provider_type |
||
id |
string(uuid) | |
input_image_path |
string | |
margin_bottom |
||
margin_left |
||
margin_right |
||
margin_strategy |
string | |
margin_tolerance |
number | |
margin_top |
||
origin_instance |
string | Task origin instance |
origin_reference |
Optional reference ID or string from the origin system | |
origin_tenant_id |
Task origin tenant ID | |
origin_zone |
Task origin zone | |
placement_strategy |
string | |
priority |
integer | Task priority |
progress |
number | |
protected_bboxes |
||
provider_config |
||
provider_type |
||
result_transform |
||
retry_count |
integer | |
service_task_id |
||
shot_type |
||
started_at |
||
status |
TaskStatus | |
target_height |
||
target_width |
||
task_type |
string | |
updated_at |
string(date-time) |
TransformationsSolverTaskPublicUpdate¶
| Name | Type | Description |
|---|---|---|
config |
||
errors |
||
executor_instance |
||
executor_type |
||
priority |
||
status |
TransformType¶
Type: string
ValidationError¶
| Name | Type | Description |
|---|---|---|
loc |
Array<> | |
msg |
string | |
type |
string |
VertexConfig¶
| Name | Type | Description |
|---|---|---|
aspect_ratio |
Aspect ratio for image output. If not set, calculated from task width/height. Valid: 1:1, 3:2, 2:3, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9 | |
image_size |
string | Output image size: '1K', '2K', or '4K'. |
model |
Override model (e.g., gemini-3-pro-image-preview, gemini-3.1-pro-preview) | |
provider_type |
string | |
system_instructions |
Custom system instruction. Defaults to fashion specialist prompt if not set. | |
temperature |
number | Sampling temperature (0.0-2.0). Higher = more creative. |
top_p |
number | Top-p (nucleus) sampling threshold (0.0-1.0). |
VideoGenerationTaskPublic¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
||
celery_task_id |
||
cfg_scale |
number | |
completed_at |
||
config |
||
created_at |
string(date-time) | |
duration_seconds |
integer | |
error_category |
||
errors |
||
executor_instance |
||
executor_type |
||
fallback_provider_capabilities |
||
fallback_provider_config |
||
fallback_provider_type |
||
id |
string(uuid) | |
input_image_path |
string | |
negative_prompt |
||
origin_instance |
string | Task origin instance |
origin_reference |
Optional reference ID or string from the origin system | |
origin_tenant_id |
Task origin tenant ID | |
origin_zone |
Task origin zone | |
priority |
integer | Task priority |
progress |
number | |
prompt |
string | |
provider_config |
||
provider_type |
||
result_video_path |
||
retry_count |
integer | |
service_task_id |
||
started_at |
||
status |
TaskStatus | |
task_type |
string | |
updated_at |
string(date-time) |
VideoGenerationTaskPublicUpdate¶
| Name | Type | Description |
|---|---|---|
config |
||
errors |
||
executor_instance |
||
executor_type |
||
priority |
||
status |
ViewAngle¶
Type: string
WorkerHealthResponse¶
| Name | Type | Description |
|---|---|---|
healthy |
boolean | Overall health status |
queues_with_workers |
Array<string> | Queues that have at least one worker |
queues_without_workers |
Array<string> | Queues that have no workers |
timestamp |
string(date-time) | Timestamp when health was checked |
total_workers |
integer | Total number of workers |
workers_with_capacity |
integer | Number of workers with available capacity |
WorkerInfo¶
| Name | Type | Description |
|---|---|---|
active_tasks |
integer | Number of tasks currently executing |
concurrency |
integer | Maximum concurrent tasks |
has_capacity |
boolean | Whether worker has capacity for more tasks |
last_active_at |
When this worker last completed (or failed) a task; used as the 'last active' signal for idle workers. None if unknown. | |
memory_mb |
Total memory usage in MB (main process + pool children) | |
name |
string | Worker name (e.g., worker-fal@host1) |
queues |
Array<string> | Queues this worker consumes |
tasks_completed_total |
integer | Total tasks completed by this worker |
tasks_per_minute |
number | Average tasks completed per minute |
utilization_pct |
number | Utilization percentage (active_tasks / concurrency * 100) |
WorkerStatsResponse¶
| Name | Type | Description |
|---|---|---|
timestamp |
string(date-time) | Timestamp when stats were collected |
total_active |
integer | Total active tasks across all workers |
total_capacity |
integer | Total capacity (sum of all worker concurrency) |
total_utilization_pct |
number | Overall utilization percentage |
total_workers |
integer | Total number of workers |
workers |
Array<WorkerInfo> | Statistics per worker |
workers_at_capacity |
integer | Number of workers at full capacity |
WorkflowAggregateStats¶
| Name | Type | Description |
|---|---|---|
avg_steps_per_workflow |
number | Average number of steps per workflow |
by_status |
Workflow count by status (PENDING, RUNNING, PAUSED, COMPLETED, FAILED, CANCELLED) | |
total_workflows |
integer | Total number of workflows |
workflows_last_24h |
integer | Workflows created in the last 24 hours |
workflows_last_hour |
integer | Workflows created in the last hour |
WorkflowArtifactsResponse¶
| Name | Type | Description |
|---|---|---|
steps |
Array<WorkflowStepArtifacts> | |
workflow_id |
string(uuid) |
WorkflowCleanupDetail¶
| Name | Type | Description |
|---|---|---|
deleted_paths |
Array<string> | |
errors |
Array<WorkflowCleanupError> | |
tasks_cleaned |
integer | |
tasks_processed |
integer |
WorkflowCleanupError¶
| Name | Type | Description |
|---|---|---|
error |
string | |
step_id |
string | |
task_id |
string(uuid) | |
task_type |
string |
WorkflowCleanupResponse¶
| Name | Type | Description |
|---|---|---|
cleanup |
WorkflowCleanupDetail | |
workflow |
WorkflowPublic |
WorkflowDetailResponse¶
| Name | Type | Description |
|---|---|---|
canvas_task_id |
||
completed_at |
||
completed_steps |
integer | |
config |
Workflow configuration | |
created_at |
string(date-time) | |
current_step |
||
description |
||
duration_ms |
Duration in milliseconds | |
error_message |
||
errors |
Array<string> | List of error messages |
final_step_id |
||
id |
string(uuid) | |
name |
string | |
origin_instance |
string | |
origin_reference |
||
origin_tenant_id |
||
origin_zone |
||
progress |
number | |
started_at |
||
status |
WorkflowStatus | |
steps |
Array<WorkflowStepMonitor> | Workflow steps in execution order |
total_steps |
integer | |
updated_at |
string(date-time) | |
webhook_url |
WorkflowListItem¶
| Name | Type | Description |
|---|---|---|
completed_at |
||
completed_steps |
integer | |
created_at |
string(date-time) | |
current_step |
||
description |
||
duration_ms |
Duration in milliseconds (computed from started_at to completed_at) | |
final_step_id |
||
has_error |
boolean | Whether workflow has any errors |
id |
string(uuid) | |
name |
string | |
origin_instance |
string | |
origin_tenant_id |
||
origin_zone |
||
progress |
number | |
started_at |
||
status |
WorkflowStatus | |
total_steps |
integer |
WorkflowListResponse¶
| Name | Type | Description |
|---|---|---|
limit |
integer | |
skip |
integer | |
total |
integer | |
workflows |
Array<WorkflowPublic> |
WorkflowPublic¶
| Name | Type | Description |
|---|---|---|
canvas_task_id |
||
completed_at |
||
completed_steps |
integer | |
config |
||
created_at |
string(date-time) | |
current_step |
||
deleted_at |
||
description |
||
error_message |
||
errors |
Array<string> | |
final_step_id |
||
final_step_result |
||
id |
string(uuid) | |
is_deleted |
boolean | |
name |
string | |
origin_instance |
string | |
origin_reference |
||
origin_tenant_id |
||
origin_zone |
||
progress |
number | |
started_at |
||
status |
WorkflowStatus | |
steps |
Array<WorkflowStepPublic> | |
suppress_subtask_events |
boolean | |
total_steps |
integer | |
updated_at |
string(date-time) | |
webhook_url |
WorkflowStatus¶
Type: string
WorkflowStepArtifacts¶
| Name | Type | Description |
|---|---|---|
artifacts |
Array<ArtifactRef> | |
node_type |
||
status |
string | |
step_id |
string | |
task_id |
||
task_type |
string |
WorkflowStepDefinition¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
List of active capabilities for this task | |
config |
Static configuration for the task (prompt, dimensions, etc.) | |
depends_on |
Array<string> | List of step IDs this step depends on |
fallback_provider_capabilities |
Capabilities for the fallback provider. | |
fallback_provider_config |
Provider-specific config for the fallback provider. | |
fallback_provider_type |
Fallback provider activated when primary exhausts all retries. | |
id |
string | Unique identifier for this step within the workflow |
input_mappings |
Array<FieldMapping> | Mappings from previous step outputs to this step's inputs |
max_retries |
integer | Maximum retry attempts for this step |
node_schema_version |
integer | Node input/output schema version |
node_type |
Node dispatch key; None = legacy task_type dispatch | |
provider_config |
Provider-specific configuration (provider_type, fal_app_id, etc.) | |
task_type |
TaskType | Type of task to execute |
WorkflowStepMonitor¶
| Name | Type | Description |
|---|---|---|
completed_at |
||
config |
Step configuration | |
dependencies |
Array<string> | List of step IDs this step depends on |
duration_ms |
Duration in milliseconds | |
error_message |
||
id |
string(uuid) | |
input_mappings |
Array<> | Input mappings from previous steps |
max_retries |
integer | |
node_schema_version |
||
node_type |
||
result |
Output data from this step | |
retry_count |
integer | |
started_at |
||
status |
StepStatus | |
step_id |
string | Logical step identifier (e.g., 'generate', 'refine') |
task_id |
ID of the task created for this step | |
task_type |
string | Task type for this step |
WorkflowStepPublic¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
||
completed_at |
||
config |
||
created_at |
string(date-time) | |
dependencies |
Array<string> | |
error_message |
||
fallback_provider_capabilities |
||
fallback_provider_config |
||
fallback_provider_type |
||
id |
string(uuid) | |
input_mappings |
Array<> | |
max_retries |
integer | |
node_schema_version |
integer | |
node_type |
||
provider_config |
||
result |
||
retry_count |
integer | |
started_at |
||
status |
StepStatus | |
step_id |
string | |
task_id |
||
task_type |
string | |
updated_at |
string(date-time) |
WorkflowUpdate¶
| Name | Type | Description |
|---|---|---|
description |
||
name |
||
webhook_url |
WorkflowValidateErrorDetail¶
| Name | Type | Description |
|---|---|---|
code |
string | |
field |
||
message |
string | |
step_id |
WorkflowValidateResponse¶
| Name | Type | Description |
|---|---|---|
errors |
Array<string> | |
errors_detail |
Array<WorkflowValidateErrorDetail> | |
execution_levels |
Array<Array<string>> | |
resolved_queues |
||
terminal_step_id |
||
valid |
boolean | |
warnings |
Array<WorkflowValidateWarning> |
WorkflowValidateWarning¶
| Name | Type | Description |
|---|---|---|
code |
string | |
message |
string | |
step_id |
WorkflowWindowStats¶
| Name | Type | Description |
|---|---|---|
completed |
integer | |
duration |
LatencyStats | Workflow duration (started→completed) |
failed |
integer | |
failure_rate |
failed / (completed + failed), 0-1; None if no terminal workflows | |
running |
integer | |
total |
integer | Workflows created in this window |
window |
string |
Security schemes¶
| Name | Type | Scheme | Description |
|---|---|---|---|
| HTTPBearer | http | bearer |