{
    "openapi": "3.0.2",
    "paths": {
        "/api/v1/projects": {
            "post": {
                "summary": "Create a project",
                "tags": ["project"],
                "parameters": [],
                "operationId": "project.create",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "title": {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 500
                                    },
                                    "description": {
                                        "type": "string",
                                        "maxLength": 5000
                                    },
                                    "isPublic": {
                                        "type": "boolean"
                                    },
                                    "folderId": {
                                        "type": "string",
                                        "format": "uuid",
                                        "nullable": true
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "201",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "title": {
                                            "type": "string"
                                        },
                                        "description": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "teamId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "folderId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "createdByUserId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "createdByName": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "canvasId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "canvases": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "title": {
                                                        "type": "string"
                                                    },
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "nodeCount": {
                                                        "type": "integer"
                                                    },
                                                    "sortOrder": {
                                                        "type": "integer"
                                                    },
                                                    "previewAssets": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "url": {
                                                                    "type": "string"
                                                                },
                                                                "mediaType": {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "image",
                                                                        "video"
                                                                    ]
                                                                },
                                                                "thumbnailUrl": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                }
                                                            },
                                                            "required": [
                                                                "url",
                                                                "mediaType",
                                                                "thumbnailUrl"
                                                            ]
                                                        }
                                                    },
                                                    "createdAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "title",
                                                    "nodeCount",
                                                    "sortOrder",
                                                    "createdAt"
                                                ]
                                            }
                                        },
                                        "shareMode": {
                                            "type": "string",
                                            "enum": ["restricted", "view"]
                                        },
                                        "isPublic": {
                                            "type": "boolean"
                                        },
                                        "previewAssets": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "url": {
                                                        "type": "string"
                                                    },
                                                    "mediaType": {
                                                        "type": "string",
                                                        "enum": [
                                                            "image",
                                                            "video"
                                                        ]
                                                    },
                                                    "thumbnailUrl": {
                                                        "type": "string",
                                                        "nullable": true
                                                    }
                                                },
                                                "required": [
                                                    "url",
                                                    "mediaType",
                                                    "thumbnailUrl"
                                                ]
                                            }
                                        },
                                        "createdAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "updatedAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "lastEditAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "teamId",
                                        "folderId",
                                        "title",
                                        "description",
                                        "createdByUserId",
                                        "createdByName",
                                        "canvasId",
                                        "canvases",
                                        "shareMode",
                                        "isPublic",
                                        "previewAssets",
                                        "createdAt",
                                        "updatedAt",
                                        "lastEditAt"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "409",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/projects/all": {
            "get": {
                "summary": "List projects",
                "tags": ["project"],
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "schema": {
                            "default": 50,
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "schema": {
                            "default": 0,
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "name": "teamId",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "default": "last_edited",
                            "type": "string",
                            "enum": ["last_edited", "created", "title", "owner"]
                        }
                    },
                    {
                        "name": "direction",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": ["asc", "desc"]
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "includePreviewAssets",
                        "in": "query",
                        "schema": {
                            "default": true,
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "folderId",
                        "in": "query",
                        "schema": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "format": "uuid"
                                },
                                {
                                    "type": "string",
                                    "enum": ["root"]
                                }
                            ]
                        }
                    }
                ],
                "operationId": "project.list",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "title": {
                                                        "type": "string"
                                                    },
                                                    "description": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "teamId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "folderId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "createdByUserId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "createdByName": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "canvasId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "canvases": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "title": {
                                                                    "type": "string"
                                                                },
                                                                "id": {
                                                                    "type": "string",
                                                                    "format": "uuid"
                                                                },
                                                                "nodeCount": {
                                                                    "type": "integer"
                                                                },
                                                                "sortOrder": {
                                                                    "type": "integer"
                                                                },
                                                                "previewAssets": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "url": {
                                                                                "type": "string"
                                                                            },
                                                                            "mediaType": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "image",
                                                                                    "video"
                                                                                ]
                                                                            },
                                                                            "thumbnailUrl": {
                                                                                "type": "string",
                                                                                "nullable": true
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "url",
                                                                            "mediaType",
                                                                            "thumbnailUrl"
                                                                        ]
                                                                    }
                                                                },
                                                                "createdAt": {
                                                                    "type": "string",
                                                                    "format": "date-time"
                                                                }
                                                            },
                                                            "required": [
                                                                "id",
                                                                "title",
                                                                "nodeCount",
                                                                "sortOrder",
                                                                "createdAt"
                                                            ]
                                                        }
                                                    },
                                                    "shareMode": {
                                                        "type": "string",
                                                        "enum": [
                                                            "restricted",
                                                            "view"
                                                        ]
                                                    },
                                                    "isPublic": {
                                                        "type": "boolean"
                                                    },
                                                    "previewAssets": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "url": {
                                                                    "type": "string"
                                                                },
                                                                "mediaType": {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "image",
                                                                        "video"
                                                                    ]
                                                                },
                                                                "thumbnailUrl": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                }
                                                            },
                                                            "required": [
                                                                "url",
                                                                "mediaType",
                                                                "thumbnailUrl"
                                                            ]
                                                        }
                                                    },
                                                    "createdAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "updatedAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "lastEditAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "teamId",
                                                    "folderId",
                                                    "title",
                                                    "description",
                                                    "createdByUserId",
                                                    "createdByName",
                                                    "canvasId",
                                                    "canvases",
                                                    "shareMode",
                                                    "isPublic",
                                                    "previewAssets",
                                                    "createdAt",
                                                    "updatedAt",
                                                    "lastEditAt"
                                                ]
                                            }
                                        },
                                        "total": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["data", "total"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/projects/{projectId}": {
            "get": {
                "summary": "Get a project",
                "tags": ["project"],
                "parameters": [
                    {
                        "name": "projectId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "project.get",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "title": {
                                            "type": "string"
                                        },
                                        "description": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "teamId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "folderId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "createdByUserId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "createdByName": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "canvasId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "canvases": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "title": {
                                                        "type": "string"
                                                    },
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "nodeCount": {
                                                        "type": "integer"
                                                    },
                                                    "sortOrder": {
                                                        "type": "integer"
                                                    },
                                                    "previewAssets": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "url": {
                                                                    "type": "string"
                                                                },
                                                                "mediaType": {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "image",
                                                                        "video"
                                                                    ]
                                                                },
                                                                "thumbnailUrl": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                }
                                                            },
                                                            "required": [
                                                                "url",
                                                                "mediaType",
                                                                "thumbnailUrl"
                                                            ]
                                                        }
                                                    },
                                                    "createdAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "title",
                                                    "nodeCount",
                                                    "sortOrder",
                                                    "createdAt"
                                                ]
                                            }
                                        },
                                        "shareMode": {
                                            "type": "string",
                                            "enum": ["restricted", "view"]
                                        },
                                        "isPublic": {
                                            "type": "boolean"
                                        },
                                        "previewAssets": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "url": {
                                                        "type": "string"
                                                    },
                                                    "mediaType": {
                                                        "type": "string",
                                                        "enum": [
                                                            "image",
                                                            "video"
                                                        ]
                                                    },
                                                    "thumbnailUrl": {
                                                        "type": "string",
                                                        "nullable": true
                                                    }
                                                },
                                                "required": [
                                                    "url",
                                                    "mediaType",
                                                    "thumbnailUrl"
                                                ]
                                            }
                                        },
                                        "createdAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "updatedAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "lastEditAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "teamId",
                                        "folderId",
                                        "title",
                                        "description",
                                        "createdByUserId",
                                        "createdByName",
                                        "canvasId",
                                        "canvases",
                                        "shareMode",
                                        "isPublic",
                                        "previewAssets",
                                        "createdAt",
                                        "updatedAt",
                                        "lastEditAt"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "summary": "Update a project",
                "tags": ["project"],
                "parameters": [
                    {
                        "name": "projectId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "project.update",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "title": {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 500
                                    },
                                    "description": {
                                        "type": "string",
                                        "maxLength": 5000,
                                        "nullable": true
                                    },
                                    "isPublic": {
                                        "type": "boolean"
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "title": {
                                            "type": "string"
                                        },
                                        "description": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "teamId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "folderId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "createdByUserId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "createdByName": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "canvasId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "canvases": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "title": {
                                                        "type": "string"
                                                    },
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "nodeCount": {
                                                        "type": "integer"
                                                    },
                                                    "sortOrder": {
                                                        "type": "integer"
                                                    },
                                                    "previewAssets": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "url": {
                                                                    "type": "string"
                                                                },
                                                                "mediaType": {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "image",
                                                                        "video"
                                                                    ]
                                                                },
                                                                "thumbnailUrl": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                }
                                                            },
                                                            "required": [
                                                                "url",
                                                                "mediaType",
                                                                "thumbnailUrl"
                                                            ]
                                                        }
                                                    },
                                                    "createdAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "title",
                                                    "nodeCount",
                                                    "sortOrder",
                                                    "createdAt"
                                                ]
                                            }
                                        },
                                        "shareMode": {
                                            "type": "string",
                                            "enum": ["restricted", "view"]
                                        },
                                        "isPublic": {
                                            "type": "boolean"
                                        },
                                        "previewAssets": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "url": {
                                                        "type": "string"
                                                    },
                                                    "mediaType": {
                                                        "type": "string",
                                                        "enum": [
                                                            "image",
                                                            "video"
                                                        ]
                                                    },
                                                    "thumbnailUrl": {
                                                        "type": "string",
                                                        "nullable": true
                                                    }
                                                },
                                                "required": [
                                                    "url",
                                                    "mediaType",
                                                    "thumbnailUrl"
                                                ]
                                            }
                                        },
                                        "createdAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "updatedAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "lastEditAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "teamId",
                                        "folderId",
                                        "title",
                                        "description",
                                        "createdByUserId",
                                        "createdByName",
                                        "canvasId",
                                        "canvases",
                                        "shareMode",
                                        "isPublic",
                                        "previewAssets",
                                        "createdAt",
                                        "updatedAt",
                                        "lastEditAt"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "409",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "summary": "Delete a project",
                "tags": ["project"],
                "parameters": [
                    {
                        "name": "projectId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "project.delete",
                "responses": {
                    "204": {
                        "description": "204"
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/projects/{projectId}/canvases": {
            "post": {
                "summary": "Create a canvas",
                "tags": ["canvas"],
                "parameters": [
                    {
                        "name": "projectId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "canvas.create",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "title": {
                                        "type": "string",
                                        "maxLength": 500
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "201",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "title": {
                                            "type": "string"
                                        },
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "teamId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "projectId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "nodeCount": {
                                            "type": "integer"
                                        },
                                        "sortOrder": {
                                            "type": "integer"
                                        },
                                        "worldConfig": {
                                            "type": "object",
                                            "additionalProperties": {}
                                        },
                                        "createdByUserId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "previewAssets": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "url": {
                                                        "type": "string"
                                                    },
                                                    "mediaType": {
                                                        "type": "string",
                                                        "enum": [
                                                            "image",
                                                            "video"
                                                        ]
                                                    },
                                                    "thumbnailUrl": {
                                                        "type": "string",
                                                        "nullable": true
                                                    }
                                                },
                                                "required": [
                                                    "url",
                                                    "mediaType",
                                                    "thumbnailUrl"
                                                ]
                                            }
                                        },
                                        "createdAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "updatedAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "teamId",
                                        "projectId",
                                        "title",
                                        "nodeCount",
                                        "sortOrder",
                                        "worldConfig",
                                        "createdByUserId",
                                        "previewAssets",
                                        "createdAt",
                                        "updatedAt"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "409",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "summary": "List canvases in a project",
                "tags": ["canvas"],
                "parameters": [
                    {
                        "name": "projectId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "schema": {
                            "default": 50,
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "schema": {
                            "default": 0,
                            "type": "integer",
                            "minimum": 0
                        }
                    }
                ],
                "operationId": "canvas.list",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "title": {
                                                        "type": "string"
                                                    },
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "teamId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "projectId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "nodeCount": {
                                                        "type": "integer"
                                                    },
                                                    "sortOrder": {
                                                        "type": "integer"
                                                    },
                                                    "worldConfig": {
                                                        "type": "object",
                                                        "additionalProperties": {}
                                                    },
                                                    "createdByUserId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "previewAssets": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "url": {
                                                                    "type": "string"
                                                                },
                                                                "mediaType": {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "image",
                                                                        "video"
                                                                    ]
                                                                },
                                                                "thumbnailUrl": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                }
                                                            },
                                                            "required": [
                                                                "url",
                                                                "mediaType",
                                                                "thumbnailUrl"
                                                            ]
                                                        }
                                                    },
                                                    "createdAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "updatedAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "teamId",
                                                    "projectId",
                                                    "title",
                                                    "nodeCount",
                                                    "sortOrder",
                                                    "worldConfig",
                                                    "createdByUserId",
                                                    "previewAssets",
                                                    "createdAt",
                                                    "updatedAt"
                                                ]
                                            }
                                        },
                                        "total": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["data", "total"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/canvases": {
            "get": {
                "summary": "List all canvases",
                "tags": ["canvas"],
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "schema": {
                            "default": 100,
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "schema": {
                            "default": 0,
                            "type": "integer",
                            "minimum": 0
                        }
                    }
                ],
                "operationId": "canvas.listForTeam",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "title": {
                                                        "type": "string"
                                                    },
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "teamId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "projectId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "nodeCount": {
                                                        "type": "integer"
                                                    },
                                                    "sortOrder": {
                                                        "type": "integer"
                                                    },
                                                    "worldConfig": {
                                                        "type": "object",
                                                        "additionalProperties": {}
                                                    },
                                                    "createdByUserId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "previewAssets": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "url": {
                                                                    "type": "string"
                                                                },
                                                                "mediaType": {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "image",
                                                                        "video"
                                                                    ]
                                                                },
                                                                "thumbnailUrl": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                }
                                                            },
                                                            "required": [
                                                                "url",
                                                                "mediaType",
                                                                "thumbnailUrl"
                                                            ]
                                                        }
                                                    },
                                                    "createdAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "updatedAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "teamId",
                                                    "projectId",
                                                    "title",
                                                    "nodeCount",
                                                    "sortOrder",
                                                    "worldConfig",
                                                    "createdByUserId",
                                                    "previewAssets",
                                                    "createdAt",
                                                    "updatedAt"
                                                ]
                                            }
                                        },
                                        "total": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["data", "total"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/canvases/{canvasId}": {
            "get": {
                "summary": "Get a canvas",
                "tags": ["canvas"],
                "parameters": [
                    {
                        "name": "canvasId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "canvas.get",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "title": {
                                            "type": "string"
                                        },
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "teamId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "projectId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "nodeCount": {
                                            "type": "integer"
                                        },
                                        "sortOrder": {
                                            "type": "integer"
                                        },
                                        "worldConfig": {
                                            "type": "object",
                                            "additionalProperties": {}
                                        },
                                        "createdByUserId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "previewAssets": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "url": {
                                                        "type": "string"
                                                    },
                                                    "mediaType": {
                                                        "type": "string",
                                                        "enum": [
                                                            "image",
                                                            "video"
                                                        ]
                                                    },
                                                    "thumbnailUrl": {
                                                        "type": "string",
                                                        "nullable": true
                                                    }
                                                },
                                                "required": [
                                                    "url",
                                                    "mediaType",
                                                    "thumbnailUrl"
                                                ]
                                            }
                                        },
                                        "createdAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "updatedAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "teamId",
                                        "projectId",
                                        "title",
                                        "nodeCount",
                                        "sortOrder",
                                        "worldConfig",
                                        "createdByUserId",
                                        "previewAssets",
                                        "createdAt",
                                        "updatedAt"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "summary": "Update a canvas",
                "tags": ["canvas"],
                "parameters": [
                    {
                        "name": "canvasId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "canvas.update",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "title": {
                                        "type": "string",
                                        "maxLength": 500
                                    },
                                    "worldConfig": {
                                        "type": "object",
                                        "additionalProperties": {}
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "title": {
                                            "type": "string"
                                        },
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "teamId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "projectId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "nodeCount": {
                                            "type": "integer"
                                        },
                                        "sortOrder": {
                                            "type": "integer"
                                        },
                                        "worldConfig": {
                                            "type": "object",
                                            "additionalProperties": {}
                                        },
                                        "createdByUserId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "previewAssets": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "url": {
                                                        "type": "string"
                                                    },
                                                    "mediaType": {
                                                        "type": "string",
                                                        "enum": [
                                                            "image",
                                                            "video"
                                                        ]
                                                    },
                                                    "thumbnailUrl": {
                                                        "type": "string",
                                                        "nullable": true
                                                    }
                                                },
                                                "required": [
                                                    "url",
                                                    "mediaType",
                                                    "thumbnailUrl"
                                                ]
                                            }
                                        },
                                        "createdAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "updatedAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "teamId",
                                        "projectId",
                                        "title",
                                        "nodeCount",
                                        "sortOrder",
                                        "worldConfig",
                                        "createdByUserId",
                                        "previewAssets",
                                        "createdAt",
                                        "updatedAt"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "409",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/projects/{projectId}/canvases/{canvasId}": {
            "delete": {
                "summary": "Delete a canvas",
                "tags": ["canvas"],
                "parameters": [
                    {
                        "name": "projectId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "canvasId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "canvas.delete",
                "responses": {
                    "204": {
                        "description": "204"
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/canvases/{canvasId}/content": {
            "get": {
                "summary": "Get canvas content",
                "tags": ["canvas"],
                "parameters": [
                    {
                        "name": "canvasId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "nodeId",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "includeAllVersions",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "mediaSummaries",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "includeToolInputReferences",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "includeVariationVersions",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "operationId": "canvas.getContent",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "nodes": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "title": {
                                                        "type": "string"
                                                    },
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "nodeType": {
                                                        "type": "string",
                                                        "enum": [
                                                            "text",
                                                            "image",
                                                            "video",
                                                            "audio",
                                                            "file",
                                                            "group",
                                                            "custom_text",
                                                            "pdf",
                                                            "composite",
                                                            "stitch",
                                                            "magic_resize"
                                                        ]
                                                    },
                                                    "geometry": {
                                                        "type": "object",
                                                        "properties": {
                                                            "x": {
                                                                "type": "number"
                                                            },
                                                            "y": {
                                                                "type": "number"
                                                            },
                                                            "w": {
                                                                "type": "number"
                                                            },
                                                            "h": {
                                                                "type": "number"
                                                            },
                                                            "zIndex": {
                                                                "type": "number"
                                                            }
                                                        },
                                                        "required": [
                                                            "x",
                                                            "y",
                                                            "w",
                                                            "h"
                                                        ]
                                                    },
                                                    "groupId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "autoModel": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "fastModel": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "activeVersionId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "generatedText": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "textPrompt": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "modelConfig": {
                                                        "type": "object",
                                                        "properties": {
                                                            "model": {
                                                                "type": "string"
                                                            },
                                                            "variant": {
                                                                "type": "string"
                                                            },
                                                            "tier": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "thinkingLevel": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "off",
                                                                    "on",
                                                                    "minimal",
                                                                    "low",
                                                                    "medium",
                                                                    "high",
                                                                    "xhigh",
                                                                    "max"
                                                                ]
                                                            },
                                                            "heygenAvatar": {
                                                                "type": "string"
                                                            },
                                                            "ratios": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "resolution": {
                                                                "type": "string"
                                                            },
                                                            "voiceId": {
                                                                "type": "string"
                                                            },
                                                            "customVoiceId": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "font": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "source": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "custom",
                                                                            "google"
                                                                        ]
                                                                    },
                                                                    "familyName": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "source",
                                                                    "familyName"
                                                                ]
                                                            },
                                                            "loras": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "id": {
                                                                            "type": "string"
                                                                        },
                                                                        "name": {
                                                                            "type": "string"
                                                                        },
                                                                        "weight": {
                                                                            "type": "number"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "id",
                                                                        "name",
                                                                        "weight"
                                                                    ]
                                                                }
                                                            },
                                                            "steps": {
                                                                "type": "number"
                                                            },
                                                            "guidanceScale": {
                                                                "type": "number"
                                                            }
                                                        },
                                                        "required": [
                                                            "model",
                                                            "variant"
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "outputAspectRatio": {
                                                        "type": "string",
                                                        "enum": [
                                                            "21:9",
                                                            "16:9",
                                                            "3:2",
                                                            "4:3",
                                                            "5:4",
                                                            "1:1",
                                                            "4:5",
                                                            "3:4",
                                                            "2:3",
                                                            "9:16",
                                                            "9:21",
                                                            null
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "outputDuration": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "exclusiveMinimum": true,
                                                        "nullable": true
                                                    },
                                                    "outputResolution": {
                                                        "oneOf": [
                                                            {
                                                                "type": "string",
                                                                "enum": [
                                                                    "360p",
                                                                    "480p",
                                                                    "540p",
                                                                    "580p",
                                                                    "720p",
                                                                    "1080p",
                                                                    "1440p",
                                                                    "2160p",
                                                                    "4k",
                                                                    "0.5K",
                                                                    "1K",
                                                                    "2K",
                                                                    "4K",
                                                                    "1k",
                                                                    "2k"
                                                                ]
                                                            },
                                                            {
                                                                "type": "string"
                                                            }
                                                        ]
                                                    },
                                                    "seed": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "maximum": 2147483647,
                                                        "nullable": true
                                                    },
                                                    "generateAudio": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "modelSupportsEndImage": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "modelSupportsReferenceImage": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "modelSupportsOptionalStartImage": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "modelSupportsAudioInput": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "modelGeneratesAudio": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "voiceId": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "customVoiceId": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "negativePrompt": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "supportedInputs": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string",
                                                            "enum": [
                                                                "image",
                                                                "video"
                                                            ]
                                                        },
                                                        "nullable": true
                                                    },
                                                    "stitchClipOrder": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        },
                                                        "nullable": true
                                                    },
                                                    "stitchScaleFit": {
                                                        "type": "string",
                                                        "enum": [
                                                            "fit",
                                                            "stretch",
                                                            null
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "stitchAudioOverlays": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "nodeId": {
                                                                    "type": "string"
                                                                },
                                                                "startTimeSeconds": {
                                                                    "type": "number",
                                                                    "minimum": 0
                                                                },
                                                                "trimStartMs": {
                                                                    "type": "integer",
                                                                    "minimum": 0
                                                                },
                                                                "trimEndMs": {
                                                                    "type": "integer",
                                                                    "minimum": 0,
                                                                    "exclusiveMinimum": true
                                                                }
                                                            },
                                                            "required": [
                                                                "nodeId",
                                                                "startTimeSeconds"
                                                            ]
                                                        },
                                                        "nullable": true
                                                    },
                                                    "stitchClipTrims": {
                                                        "type": "object",
                                                        "additionalProperties": {
                                                            "type": "object",
                                                            "properties": {
                                                                "trimStartMs": {
                                                                    "type": "integer",
                                                                    "minimum": 0
                                                                },
                                                                "trimEndMs": {
                                                                    "type": "integer",
                                                                    "minimum": 0,
                                                                    "exclusiveMinimum": true
                                                                }
                                                            }
                                                        },
                                                        "nullable": true
                                                    },
                                                    "groupType": {
                                                        "type": "string",
                                                        "enum": [
                                                            "default",
                                                            "unified",
                                                            "template",
                                                            null
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "templatePorts": {
                                                        "type": "array",
                                                        "items": {
                                                            "oneOf": [
                                                                {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "required": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "direction": {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "input"
                                                                            ]
                                                                        },
                                                                        "maxConnections": {
                                                                            "type": "integer",
                                                                            "minimum": 0,
                                                                            "exclusiveMinimum": true
                                                                        },
                                                                        "locked": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "internalTargets": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "object",
                                                                                "properties": {
                                                                                    "nodeId": {
                                                                                        "type": "string",
                                                                                        "format": "uuid"
                                                                                    },
                                                                                    "internalHandle": {
                                                                                        "type": "string",
                                                                                        "nullable": true
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "nodeId",
                                                                                    "internalHandle"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "connectedSourceIds": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "portId": {
                                                                            "type": "string"
                                                                        },
                                                                        "label": {
                                                                            "type": "string"
                                                                        },
                                                                        "handleType": {
                                                                            "type": "string"
                                                                        },
                                                                        "nodeId": {
                                                                            "type": "string",
                                                                            "format": "uuid"
                                                                        },
                                                                        "internalHandle": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "top": {
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "direction",
                                                                        "portId",
                                                                        "label",
                                                                        "handleType",
                                                                        "nodeId",
                                                                        "internalHandle"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "direction": {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "output"
                                                                            ]
                                                                        },
                                                                        "layerIndex": {
                                                                            "type": "integer",
                                                                            "minimum": 0,
                                                                            "nullable": true
                                                                        },
                                                                        "portId": {
                                                                            "type": "string"
                                                                        },
                                                                        "label": {
                                                                            "type": "string"
                                                                        },
                                                                        "handleType": {
                                                                            "type": "string"
                                                                        },
                                                                        "nodeId": {
                                                                            "type": "string",
                                                                            "format": "uuid"
                                                                        },
                                                                        "internalHandle": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "top": {
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "direction",
                                                                        "portId",
                                                                        "label",
                                                                        "handleType",
                                                                        "nodeId",
                                                                        "internalHandle"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "nullable": true
                                                    },
                                                    "templateId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "isExpandable": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "childNodeIds": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string",
                                                            "format": "uuid"
                                                        }
                                                    },
                                                    "magicResizeOutputs": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "layerIndex": {
                                                                    "type": "integer"
                                                                },
                                                                "ratio": {
                                                                    "type": "string"
                                                                },
                                                                "assetId": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "assetUrl": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "previewUrl": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "failed": {
                                                                    "type": "boolean"
                                                                },
                                                                "errorMessage": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "errorSeverity": {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "error",
                                                                        "warning",
                                                                        null
                                                                    ],
                                                                    "nullable": true
                                                                }
                                                            },
                                                            "required": [
                                                                "layerIndex",
                                                                "ratio",
                                                                "assetId",
                                                                "assetUrl",
                                                                "previewUrl"
                                                            ]
                                                        },
                                                        "nullable": true
                                                    },
                                                    "createdByUserId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "versions": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "title": {
                                                                    "type": "string"
                                                                },
                                                                "id": {
                                                                    "type": "string",
                                                                    "format": "uuid"
                                                                },
                                                                "modelConfig": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "model": {
                                                                            "type": "string"
                                                                        },
                                                                        "variant": {
                                                                            "type": "string"
                                                                        },
                                                                        "tier": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "thinkingLevel": {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "off",
                                                                                "on",
                                                                                "minimal",
                                                                                "low",
                                                                                "medium",
                                                                                "high",
                                                                                "xhigh",
                                                                                "max"
                                                                            ]
                                                                        },
                                                                        "heygenAvatar": {
                                                                            "type": "string"
                                                                        },
                                                                        "ratios": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "resolution": {
                                                                            "type": "string"
                                                                        },
                                                                        "voiceId": {
                                                                            "type": "string"
                                                                        },
                                                                        "customVoiceId": {
                                                                            "type": "string",
                                                                            "format": "uuid"
                                                                        },
                                                                        "font": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "source": {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        "custom",
                                                                                        "google"
                                                                                    ]
                                                                                },
                                                                                "familyName": {
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "source",
                                                                                "familyName"
                                                                            ]
                                                                        },
                                                                        "loras": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "object",
                                                                                "properties": {
                                                                                    "id": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "name": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "weight": {
                                                                                        "type": "number"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "id",
                                                                                    "name",
                                                                                    "weight"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "steps": {
                                                                            "type": "number"
                                                                        },
                                                                        "guidanceScale": {
                                                                            "type": "number"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "model",
                                                                        "variant"
                                                                    ],
                                                                    "nullable": true
                                                                },
                                                                "sourceToolName": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "seed": {
                                                                    "type": "integer",
                                                                    "minimum": 0,
                                                                    "maximum": 2147483647,
                                                                    "nullable": true
                                                                },
                                                                "generateAudio": {
                                                                    "type": "boolean",
                                                                    "nullable": true
                                                                },
                                                                "negativePrompt": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "outputAspectRatio": {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "21:9",
                                                                        "16:9",
                                                                        "3:2",
                                                                        "4:3",
                                                                        "5:4",
                                                                        "1:1",
                                                                        "4:5",
                                                                        "3:4",
                                                                        "2:3",
                                                                        "9:16",
                                                                        "9:21",
                                                                        null
                                                                    ],
                                                                    "nullable": true
                                                                },
                                                                "outputDuration": {
                                                                    "type": "integer",
                                                                    "minimum": 0,
                                                                    "exclusiveMinimum": true,
                                                                    "nullable": true
                                                                },
                                                                "outputResolution": {
                                                                    "oneOf": [
                                                                        {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "360p",
                                                                                "480p",
                                                                                "540p",
                                                                                "580p",
                                                                                "720p",
                                                                                "1080p",
                                                                                "1440p",
                                                                                "2160p",
                                                                                "4k",
                                                                                "0.5K",
                                                                                "1K",
                                                                                "2K",
                                                                                "4K",
                                                                                "1k",
                                                                                "2k"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "string"
                                                                        }
                                                                    ]
                                                                },
                                                                "textPrompt": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "generatedText": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "modelDisplayName": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "asset": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "assetId": {
                                                                            "type": "string",
                                                                            "format": "uuid"
                                                                        },
                                                                        "url": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "originalUrl": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "previewUrl": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "previewExtraLowResolutionUrl": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "previewLowResolutionUrl": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "previewHighResolutionUrl": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "thumbnailUrl": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "mediaType": {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "image",
                                                                                "video",
                                                                                "audio",
                                                                                "pdf",
                                                                                null
                                                                            ],
                                                                            "nullable": true
                                                                        },
                                                                        "assetSummary": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "assetSummaryDetails": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "subject": {
                                                                                    "type": "string",
                                                                                    "nullable": true
                                                                                },
                                                                                "action": {
                                                                                    "type": "string",
                                                                                    "nullable": true
                                                                                },
                                                                                "summary": {
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "subject",
                                                                                "action",
                                                                                "summary"
                                                                            ],
                                                                            "nullable": true
                                                                        },
                                                                        "fileType": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "fileSizeInKb": {
                                                                            "type": "integer",
                                                                            "minimum": 0,
                                                                            "nullable": true
                                                                        },
                                                                        "originalWidth": {
                                                                            "type": "integer",
                                                                            "minimum": 0,
                                                                            "nullable": true
                                                                        },
                                                                        "originalHeight": {
                                                                            "type": "integer",
                                                                            "minimum": 0,
                                                                            "nullable": true
                                                                        },
                                                                        "durationInMs": {
                                                                            "type": "integer",
                                                                            "minimum": 0,
                                                                            "nullable": true
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "url",
                                                                        "originalUrl",
                                                                        "previewUrl",
                                                                        "mediaType",
                                                                        "fileType",
                                                                        "fileSizeInKb",
                                                                        "originalWidth",
                                                                        "originalHeight",
                                                                        "durationInMs"
                                                                    ],
                                                                    "nullable": true
                                                                },
                                                                "toolInputAsset": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "assetId": {
                                                                            "type": "string",
                                                                            "format": "uuid"
                                                                        },
                                                                        "url": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "originalUrl": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "previewUrl": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "previewExtraLowResolutionUrl": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "previewLowResolutionUrl": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "previewHighResolutionUrl": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "thumbnailUrl": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "mediaType": {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "image",
                                                                                "video",
                                                                                "audio",
                                                                                "pdf",
                                                                                null
                                                                            ],
                                                                            "nullable": true
                                                                        },
                                                                        "assetSummary": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "assetSummaryDetails": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "subject": {
                                                                                    "type": "string",
                                                                                    "nullable": true
                                                                                },
                                                                                "action": {
                                                                                    "type": "string",
                                                                                    "nullable": true
                                                                                },
                                                                                "summary": {
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "subject",
                                                                                "action",
                                                                                "summary"
                                                                            ],
                                                                            "nullable": true
                                                                        },
                                                                        "fileType": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "fileSizeInKb": {
                                                                            "type": "integer",
                                                                            "minimum": 0,
                                                                            "nullable": true
                                                                        },
                                                                        "originalWidth": {
                                                                            "type": "integer",
                                                                            "minimum": 0,
                                                                            "nullable": true
                                                                        },
                                                                        "originalHeight": {
                                                                            "type": "integer",
                                                                            "minimum": 0,
                                                                            "nullable": true
                                                                        },
                                                                        "durationInMs": {
                                                                            "type": "integer",
                                                                            "minimum": 0,
                                                                            "nullable": true
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "url",
                                                                        "originalUrl",
                                                                        "previewUrl",
                                                                        "mediaType",
                                                                        "fileType",
                                                                        "fileSizeInKb",
                                                                        "originalWidth",
                                                                        "originalHeight",
                                                                        "durationInMs"
                                                                    ],
                                                                    "nullable": true
                                                                },
                                                                "pdfExtraction": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "summaryText": {
                                                                            "type": "string"
                                                                        },
                                                                        "extractedImages": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "object",
                                                                                "properties": {
                                                                                    "assetId": {
                                                                                        "type": "string",
                                                                                        "format": "uuid"
                                                                                    },
                                                                                    "url": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "pageIndex": {
                                                                                        "type": "integer",
                                                                                        "minimum": 0
                                                                                    },
                                                                                    "imageIndex": {
                                                                                        "type": "integer",
                                                                                        "minimum": 0
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "assetId",
                                                                                    "url",
                                                                                    "pageIndex",
                                                                                    "imageIndex"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "extractedImageUrls": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "extractedImageCount": {
                                                                            "type": "integer"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "summaryText",
                                                                        "extractedImages",
                                                                        "extractedImageUrls",
                                                                        "extractedImageCount"
                                                                    ],
                                                                    "nullable": true
                                                                },
                                                                "nodeRunId": {
                                                                    "type": "string",
                                                                    "format": "uuid",
                                                                    "nullable": true
                                                                },
                                                                "layerCount": {
                                                                    "type": "integer",
                                                                    "minimum": 0
                                                                },
                                                                "errorMessage": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "errorSeverity": {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "error",
                                                                        "warning",
                                                                        null
                                                                    ],
                                                                    "nullable": true
                                                                },
                                                                "errorRetryable": {
                                                                    "type": "boolean",
                                                                    "nullable": true
                                                                },
                                                                "favoritedByUserId": {
                                                                    "type": "string",
                                                                    "format": "uuid",
                                                                    "nullable": true
                                                                },
                                                                "createdAt": {
                                                                    "type": "string",
                                                                    "format": "date-time"
                                                                },
                                                                "updatedAt": {
                                                                    "type": "string",
                                                                    "format": "date-time"
                                                                }
                                                            },
                                                            "required": [
                                                                "id",
                                                                "title",
                                                                "modelConfig",
                                                                "sourceToolName",
                                                                "seed",
                                                                "generateAudio",
                                                                "negativePrompt",
                                                                "outputAspectRatio",
                                                                "outputDuration",
                                                                "outputResolution",
                                                                "textPrompt",
                                                                "generatedText",
                                                                "asset",
                                                                "layerCount",
                                                                "errorMessage",
                                                                "errorSeverity",
                                                                "favoritedByUserId",
                                                                "createdAt",
                                                                "updatedAt"
                                                            ]
                                                        }
                                                    },
                                                    "createdAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "updatedAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "nodeType",
                                                    "geometry",
                                                    "groupId",
                                                    "activeVersionId",
                                                    "generatedText",
                                                    "versions",
                                                    "createdAt",
                                                    "updatedAt"
                                                ]
                                            }
                                        },
                                        "edges": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "srcNodeId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "dstNodeId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "edgeType": {
                                                        "type": "string",
                                                        "enum": [
                                                            "text",
                                                            "image",
                                                            "video",
                                                            "audio",
                                                            "file"
                                                        ]
                                                    },
                                                    "srcHandle": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "dstHandle": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "createdAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "srcNodeId",
                                                    "dstNodeId",
                                                    "edgeType",
                                                    "srcHandle",
                                                    "dstHandle",
                                                    "createdAt"
                                                ]
                                            }
                                        },
                                        "modelPresets": {
                                            "type": "object",
                                            "properties": {
                                                "image": {
                                                    "type": "object",
                                                    "properties": {
                                                        "model": {
                                                            "type": "string"
                                                        },
                                                        "mode": {
                                                            "type": "string"
                                                        },
                                                        "aspectRatio": {
                                                            "type": "string",
                                                            "enum": [
                                                                "21:9",
                                                                "16:9",
                                                                "3:2",
                                                                "4:3",
                                                                "5:4",
                                                                "1:1",
                                                                "4:5",
                                                                "3:4",
                                                                "2:3",
                                                                "9:16",
                                                                "9:21"
                                                            ]
                                                        },
                                                        "resolution": {
                                                            "oneOf": [
                                                                {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "360p",
                                                                        "480p",
                                                                        "540p",
                                                                        "580p",
                                                                        "720p",
                                                                        "1080p",
                                                                        "1440p",
                                                                        "2160p",
                                                                        "4k",
                                                                        "0.5K",
                                                                        "1K",
                                                                        "2K",
                                                                        "4K",
                                                                        "1k",
                                                                        "2k"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "string"
                                                                }
                                                            ]
                                                        },
                                                        "fast": {
                                                            "type": "boolean"
                                                        },
                                                        "numVariations": {
                                                            "type": "integer",
                                                            "minimum": 1,
                                                            "maximum": 10
                                                        }
                                                    }
                                                },
                                                "video": {
                                                    "type": "object",
                                                    "properties": {
                                                        "model": {
                                                            "type": "string"
                                                        },
                                                        "mode": {
                                                            "type": "string"
                                                        },
                                                        "aspectRatio": {
                                                            "type": "string",
                                                            "enum": [
                                                                "21:9",
                                                                "16:9",
                                                                "3:2",
                                                                "4:3",
                                                                "5:4",
                                                                "1:1",
                                                                "4:5",
                                                                "3:4",
                                                                "2:3",
                                                                "9:16",
                                                                "9:21"
                                                            ]
                                                        },
                                                        "resolution": {
                                                            "oneOf": [
                                                                {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "360p",
                                                                        "480p",
                                                                        "540p",
                                                                        "580p",
                                                                        "720p",
                                                                        "1080p",
                                                                        "1440p",
                                                                        "2160p",
                                                                        "4k",
                                                                        "0.5K",
                                                                        "1K",
                                                                        "2K",
                                                                        "4K",
                                                                        "1k",
                                                                        "2k"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "string"
                                                                }
                                                            ]
                                                        },
                                                        "duration": {
                                                            "type": "integer",
                                                            "minimum": 0,
                                                            "exclusiveMinimum": true
                                                        },
                                                        "fast": {
                                                            "type": "boolean"
                                                        },
                                                        "numVariations": {
                                                            "type": "integer",
                                                            "minimum": 1,
                                                            "maximum": 10
                                                        }
                                                    }
                                                },
                                                "text": {
                                                    "type": "object",
                                                    "properties": {
                                                        "model": {
                                                            "type": "string"
                                                        },
                                                        "mode": {
                                                            "type": "string"
                                                        },
                                                        "fast": {
                                                            "type": "boolean"
                                                        },
                                                        "numVariations": {
                                                            "type": "integer",
                                                            "minimum": 1,
                                                            "maximum": 10
                                                        }
                                                    }
                                                },
                                                "audio": {
                                                    "type": "object",
                                                    "properties": {
                                                        "model": {
                                                            "type": "string"
                                                        },
                                                        "mode": {
                                                            "type": "string"
                                                        },
                                                        "voiceId": {
                                                            "type": "string"
                                                        },
                                                        "customVoiceId": {
                                                            "type": "string",
                                                            "format": "uuid",
                                                            "nullable": true
                                                        },
                                                        "voiceSettings": {
                                                            "type": "object",
                                                            "properties": {
                                                                "speed": {
                                                                    "type": "number",
                                                                    "minimum": 0.25,
                                                                    "maximum": 4
                                                                },
                                                                "stability": {
                                                                    "type": "number",
                                                                    "minimum": 0,
                                                                    "maximum": 1
                                                                },
                                                                "similarityBoost": {
                                                                    "type": "number",
                                                                    "minimum": 0,
                                                                    "maximum": 1
                                                                },
                                                                "style": {
                                                                    "type": "number",
                                                                    "minimum": 0,
                                                                    "maximum": 1
                                                                },
                                                                "speakerBoost": {
                                                                    "type": "boolean"
                                                                },
                                                                "removeBackgroundNoise": {
                                                                    "type": "boolean"
                                                                },
                                                                "outputFormat": {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "mp3_44100_128",
                                                                        "mp3_44100_192",
                                                                        "mp3_22050_32",
                                                                        "pcm_16000",
                                                                        "pcm_22050",
                                                                        "pcm_24000",
                                                                        "pcm_44100"
                                                                    ]
                                                                }
                                                            }
                                                        },
                                                        "duration": {
                                                            "type": "integer",
                                                            "minimum": 0,
                                                            "exclusiveMinimum": true
                                                        },
                                                        "numVariations": {
                                                            "type": "integer",
                                                            "minimum": 1,
                                                            "maximum": 4
                                                        }
                                                    }
                                                }
                                            },
                                            "description": "Canvas-wide default model + variant the user configured in canvas settings, per category (image/video/text/audio). When a node is created with no modelConfig, the server pins these defaults exactly. Use this to know what model+mode will apply, so you can pick correct edge handles and avoid hallucinating the default"
                                        },
                                        "videoDurationOptions": {
                                            "type": "array",
                                            "items": {
                                                "type": "integer",
                                                "minimum": 0,
                                                "exclusiveMinimum": true
                                            },
                                            "description": "The exact clip durations (seconds) the canvas default video model supports, e.g. [3,4,5,…,15]. Pick each video node's duration from this list — it is the real range, so you never need model_list just to find valid durations, and you can use short values (like 3s) and odd values, not only round 5s/10s. A value below a specific variant's floor is clamped up automatically."
                                        }
                                    },
                                    "required": ["nodes", "edges"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/nodes/{nodeId}": {
            "get": {
                "summary": "Get a node",
                "tags": ["node"],
                "parameters": [
                    {
                        "name": "nodeId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "canvasId",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "node.get",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "title": {
                                            "type": "string"
                                        },
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "nodeType": {
                                            "type": "string",
                                            "enum": [
                                                "text",
                                                "image",
                                                "video",
                                                "audio",
                                                "file",
                                                "group",
                                                "custom_text",
                                                "pdf",
                                                "composite",
                                                "stitch",
                                                "magic_resize"
                                            ]
                                        },
                                        "geometry": {
                                            "type": "object",
                                            "properties": {
                                                "x": {
                                                    "type": "number"
                                                },
                                                "y": {
                                                    "type": "number"
                                                },
                                                "w": {
                                                    "type": "number"
                                                },
                                                "h": {
                                                    "type": "number"
                                                },
                                                "zIndex": {
                                                    "type": "number"
                                                }
                                            },
                                            "required": ["x", "y", "w", "h"]
                                        },
                                        "groupId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "autoModel": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "fastModel": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "activeVersionId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "generatedText": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "textPrompt": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "modelConfig": {
                                            "type": "object",
                                            "properties": {
                                                "model": {
                                                    "type": "string"
                                                },
                                                "variant": {
                                                    "type": "string"
                                                },
                                                "tier": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "thinkingLevel": {
                                                    "type": "string",
                                                    "enum": [
                                                        "off",
                                                        "on",
                                                        "minimal",
                                                        "low",
                                                        "medium",
                                                        "high",
                                                        "xhigh",
                                                        "max"
                                                    ]
                                                },
                                                "heygenAvatar": {
                                                    "type": "string"
                                                },
                                                "ratios": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "resolution": {
                                                    "type": "string"
                                                },
                                                "voiceId": {
                                                    "type": "string"
                                                },
                                                "customVoiceId": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "font": {
                                                    "type": "object",
                                                    "properties": {
                                                        "source": {
                                                            "type": "string",
                                                            "enum": [
                                                                "custom",
                                                                "google"
                                                            ]
                                                        },
                                                        "familyName": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "required": [
                                                        "source",
                                                        "familyName"
                                                    ]
                                                },
                                                "loras": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "id": {
                                                                "type": "string"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            },
                                                            "weight": {
                                                                "type": "number"
                                                            }
                                                        },
                                                        "required": [
                                                            "id",
                                                            "name",
                                                            "weight"
                                                        ]
                                                    }
                                                },
                                                "steps": {
                                                    "type": "number"
                                                },
                                                "guidanceScale": {
                                                    "type": "number"
                                                }
                                            },
                                            "required": ["model", "variant"],
                                            "nullable": true
                                        },
                                        "outputAspectRatio": {
                                            "type": "string",
                                            "enum": [
                                                "21:9",
                                                "16:9",
                                                "3:2",
                                                "4:3",
                                                "5:4",
                                                "1:1",
                                                "4:5",
                                                "3:4",
                                                "2:3",
                                                "9:16",
                                                "9:21",
                                                null
                                            ],
                                            "nullable": true
                                        },
                                        "outputDuration": {
                                            "type": "integer",
                                            "minimum": 0,
                                            "exclusiveMinimum": true,
                                            "nullable": true
                                        },
                                        "outputResolution": {
                                            "oneOf": [
                                                {
                                                    "type": "string",
                                                    "enum": [
                                                        "360p",
                                                        "480p",
                                                        "540p",
                                                        "580p",
                                                        "720p",
                                                        "1080p",
                                                        "1440p",
                                                        "2160p",
                                                        "4k",
                                                        "0.5K",
                                                        "1K",
                                                        "2K",
                                                        "4K",
                                                        "1k",
                                                        "2k"
                                                    ]
                                                },
                                                {
                                                    "type": "string"
                                                }
                                            ]
                                        },
                                        "seed": {
                                            "type": "integer",
                                            "minimum": 0,
                                            "maximum": 2147483647,
                                            "nullable": true
                                        },
                                        "generateAudio": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "modelSupportsEndImage": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "modelSupportsReferenceImage": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "modelSupportsOptionalStartImage": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "modelSupportsAudioInput": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "modelGeneratesAudio": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "voiceId": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "customVoiceId": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "negativePrompt": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "supportedInputs": {
                                            "type": "array",
                                            "items": {
                                                "type": "string",
                                                "enum": ["image", "video"]
                                            },
                                            "nullable": true
                                        },
                                        "stitchClipOrder": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            },
                                            "nullable": true
                                        },
                                        "stitchScaleFit": {
                                            "type": "string",
                                            "enum": ["fit", "stretch", null],
                                            "nullable": true
                                        },
                                        "stitchAudioOverlays": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "nodeId": {
                                                        "type": "string"
                                                    },
                                                    "startTimeSeconds": {
                                                        "type": "number",
                                                        "minimum": 0
                                                    },
                                                    "trimStartMs": {
                                                        "type": "integer",
                                                        "minimum": 0
                                                    },
                                                    "trimEndMs": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "exclusiveMinimum": true
                                                    }
                                                },
                                                "required": [
                                                    "nodeId",
                                                    "startTimeSeconds"
                                                ]
                                            },
                                            "nullable": true
                                        },
                                        "stitchClipTrims": {
                                            "type": "object",
                                            "additionalProperties": {
                                                "type": "object",
                                                "properties": {
                                                    "trimStartMs": {
                                                        "type": "integer",
                                                        "minimum": 0
                                                    },
                                                    "trimEndMs": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "exclusiveMinimum": true
                                                    }
                                                }
                                            },
                                            "nullable": true
                                        },
                                        "groupType": {
                                            "type": "string",
                                            "enum": [
                                                "default",
                                                "unified",
                                                "template",
                                                null
                                            ],
                                            "nullable": true
                                        },
                                        "templatePorts": {
                                            "type": "array",
                                            "items": {
                                                "oneOf": [
                                                    {
                                                        "type": "object",
                                                        "properties": {
                                                            "required": {
                                                                "type": "boolean"
                                                            },
                                                            "direction": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "input"
                                                                ]
                                                            },
                                                            "maxConnections": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "exclusiveMinimum": true
                                                            },
                                                            "locked": {
                                                                "type": "boolean"
                                                            },
                                                            "internalTargets": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "nodeId": {
                                                                            "type": "string",
                                                                            "format": "uuid"
                                                                        },
                                                                        "internalHandle": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "nodeId",
                                                                        "internalHandle"
                                                                    ]
                                                                }
                                                            },
                                                            "connectedSourceIds": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "portId": {
                                                                "type": "string"
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "handleType": {
                                                                "type": "string"
                                                            },
                                                            "nodeId": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "internalHandle": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "top": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "required": [
                                                            "direction",
                                                            "portId",
                                                            "label",
                                                            "handleType",
                                                            "nodeId",
                                                            "internalHandle"
                                                        ]
                                                    },
                                                    {
                                                        "type": "object",
                                                        "properties": {
                                                            "direction": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "output"
                                                                ]
                                                            },
                                                            "layerIndex": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "portId": {
                                                                "type": "string"
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "handleType": {
                                                                "type": "string"
                                                            },
                                                            "nodeId": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "internalHandle": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "top": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "required": [
                                                            "direction",
                                                            "portId",
                                                            "label",
                                                            "handleType",
                                                            "nodeId",
                                                            "internalHandle"
                                                        ]
                                                    }
                                                ]
                                            },
                                            "nullable": true
                                        },
                                        "templateId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "isExpandable": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "childNodeIds": {
                                            "type": "array",
                                            "items": {
                                                "type": "string",
                                                "format": "uuid"
                                            }
                                        },
                                        "magicResizeOutputs": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "layerIndex": {
                                                        "type": "integer"
                                                    },
                                                    "ratio": {
                                                        "type": "string"
                                                    },
                                                    "assetId": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "assetUrl": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "previewUrl": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "failed": {
                                                        "type": "boolean"
                                                    },
                                                    "errorMessage": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "errorSeverity": {
                                                        "type": "string",
                                                        "enum": [
                                                            "error",
                                                            "warning",
                                                            null
                                                        ],
                                                        "nullable": true
                                                    }
                                                },
                                                "required": [
                                                    "layerIndex",
                                                    "ratio",
                                                    "assetId",
                                                    "assetUrl",
                                                    "previewUrl"
                                                ]
                                            },
                                            "nullable": true
                                        },
                                        "createdByUserId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "versions": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "title": {
                                                        "type": "string"
                                                    },
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "modelConfig": {
                                                        "type": "object",
                                                        "properties": {
                                                            "model": {
                                                                "type": "string"
                                                            },
                                                            "variant": {
                                                                "type": "string"
                                                            },
                                                            "tier": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "thinkingLevel": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "off",
                                                                    "on",
                                                                    "minimal",
                                                                    "low",
                                                                    "medium",
                                                                    "high",
                                                                    "xhigh",
                                                                    "max"
                                                                ]
                                                            },
                                                            "heygenAvatar": {
                                                                "type": "string"
                                                            },
                                                            "ratios": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "resolution": {
                                                                "type": "string"
                                                            },
                                                            "voiceId": {
                                                                "type": "string"
                                                            },
                                                            "customVoiceId": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "font": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "source": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "custom",
                                                                            "google"
                                                                        ]
                                                                    },
                                                                    "familyName": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "source",
                                                                    "familyName"
                                                                ]
                                                            },
                                                            "loras": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "id": {
                                                                            "type": "string"
                                                                        },
                                                                        "name": {
                                                                            "type": "string"
                                                                        },
                                                                        "weight": {
                                                                            "type": "number"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "id",
                                                                        "name",
                                                                        "weight"
                                                                    ]
                                                                }
                                                            },
                                                            "steps": {
                                                                "type": "number"
                                                            },
                                                            "guidanceScale": {
                                                                "type": "number"
                                                            }
                                                        },
                                                        "required": [
                                                            "model",
                                                            "variant"
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "sourceToolName": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "seed": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "maximum": 2147483647,
                                                        "nullable": true
                                                    },
                                                    "generateAudio": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "negativePrompt": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "outputAspectRatio": {
                                                        "type": "string",
                                                        "enum": [
                                                            "21:9",
                                                            "16:9",
                                                            "3:2",
                                                            "4:3",
                                                            "5:4",
                                                            "1:1",
                                                            "4:5",
                                                            "3:4",
                                                            "2:3",
                                                            "9:16",
                                                            "9:21",
                                                            null
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "outputDuration": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "exclusiveMinimum": true,
                                                        "nullable": true
                                                    },
                                                    "outputResolution": {
                                                        "oneOf": [
                                                            {
                                                                "type": "string",
                                                                "enum": [
                                                                    "360p",
                                                                    "480p",
                                                                    "540p",
                                                                    "580p",
                                                                    "720p",
                                                                    "1080p",
                                                                    "1440p",
                                                                    "2160p",
                                                                    "4k",
                                                                    "0.5K",
                                                                    "1K",
                                                                    "2K",
                                                                    "4K",
                                                                    "1k",
                                                                    "2k"
                                                                ]
                                                            },
                                                            {
                                                                "type": "string"
                                                            }
                                                        ]
                                                    },
                                                    "textPrompt": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "generatedText": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "modelDisplayName": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "asset": {
                                                        "type": "object",
                                                        "properties": {
                                                            "assetId": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "url": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "originalUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewExtraLowResolutionUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewLowResolutionUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewHighResolutionUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "thumbnailUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "mediaType": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "image",
                                                                    "video",
                                                                    "audio",
                                                                    "pdf",
                                                                    null
                                                                ],
                                                                "nullable": true
                                                            },
                                                            "assetSummary": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "assetSummaryDetails": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "subject": {
                                                                        "type": "string",
                                                                        "nullable": true
                                                                    },
                                                                    "action": {
                                                                        "type": "string",
                                                                        "nullable": true
                                                                    },
                                                                    "summary": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "subject",
                                                                    "action",
                                                                    "summary"
                                                                ],
                                                                "nullable": true
                                                            },
                                                            "fileType": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "fileSizeInKb": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "originalWidth": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "originalHeight": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "durationInMs": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "originalUrl",
                                                            "previewUrl",
                                                            "mediaType",
                                                            "fileType",
                                                            "fileSizeInKb",
                                                            "originalWidth",
                                                            "originalHeight",
                                                            "durationInMs"
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "toolInputAsset": {
                                                        "type": "object",
                                                        "properties": {
                                                            "assetId": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "url": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "originalUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewExtraLowResolutionUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewLowResolutionUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewHighResolutionUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "thumbnailUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "mediaType": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "image",
                                                                    "video",
                                                                    "audio",
                                                                    "pdf",
                                                                    null
                                                                ],
                                                                "nullable": true
                                                            },
                                                            "assetSummary": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "assetSummaryDetails": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "subject": {
                                                                        "type": "string",
                                                                        "nullable": true
                                                                    },
                                                                    "action": {
                                                                        "type": "string",
                                                                        "nullable": true
                                                                    },
                                                                    "summary": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "subject",
                                                                    "action",
                                                                    "summary"
                                                                ],
                                                                "nullable": true
                                                            },
                                                            "fileType": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "fileSizeInKb": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "originalWidth": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "originalHeight": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "durationInMs": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "originalUrl",
                                                            "previewUrl",
                                                            "mediaType",
                                                            "fileType",
                                                            "fileSizeInKb",
                                                            "originalWidth",
                                                            "originalHeight",
                                                            "durationInMs"
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "pdfExtraction": {
                                                        "type": "object",
                                                        "properties": {
                                                            "summaryText": {
                                                                "type": "string"
                                                            },
                                                            "extractedImages": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "assetId": {
                                                                            "type": "string",
                                                                            "format": "uuid"
                                                                        },
                                                                        "url": {
                                                                            "type": "string"
                                                                        },
                                                                        "pageIndex": {
                                                                            "type": "integer",
                                                                            "minimum": 0
                                                                        },
                                                                        "imageIndex": {
                                                                            "type": "integer",
                                                                            "minimum": 0
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "assetId",
                                                                        "url",
                                                                        "pageIndex",
                                                                        "imageIndex"
                                                                    ]
                                                                }
                                                            },
                                                            "extractedImageUrls": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "extractedImageCount": {
                                                                "type": "integer"
                                                            }
                                                        },
                                                        "required": [
                                                            "summaryText",
                                                            "extractedImages",
                                                            "extractedImageUrls",
                                                            "extractedImageCount"
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "nodeRunId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "layerCount": {
                                                        "type": "integer",
                                                        "minimum": 0
                                                    },
                                                    "errorMessage": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "errorSeverity": {
                                                        "type": "string",
                                                        "enum": [
                                                            "error",
                                                            "warning",
                                                            null
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "errorRetryable": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "favoritedByUserId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "createdAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "updatedAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "title",
                                                    "modelConfig",
                                                    "sourceToolName",
                                                    "seed",
                                                    "generateAudio",
                                                    "negativePrompt",
                                                    "outputAspectRatio",
                                                    "outputDuration",
                                                    "outputResolution",
                                                    "textPrompt",
                                                    "generatedText",
                                                    "asset",
                                                    "layerCount",
                                                    "errorMessage",
                                                    "errorSeverity",
                                                    "favoritedByUserId",
                                                    "createdAt",
                                                    "updatedAt"
                                                ]
                                            }
                                        },
                                        "createdAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "updatedAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "nodeType",
                                        "geometry",
                                        "groupId",
                                        "activeVersionId",
                                        "generatedText",
                                        "versions",
                                        "createdAt",
                                        "updatedAt"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/canvases/{canvasId}/direct/nodes": {
            "post": {
                "summary": "Create a node",
                "tags": ["node"],
                "parameters": [
                    {
                        "name": "canvasId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "node.create",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "id": {
                                        "type": "string",
                                        "format": "uuid"
                                    },
                                    "nodeType": {
                                        "type": "string",
                                        "enum": [
                                            "text",
                                            "image",
                                            "video",
                                            "audio",
                                            "file",
                                            "group",
                                            "custom_text",
                                            "pdf",
                                            "composite",
                                            "stitch",
                                            "magic_resize"
                                        ]
                                    },
                                    "geometry": {
                                        "type": "object",
                                        "properties": {
                                            "x": {
                                                "type": "number"
                                            },
                                            "y": {
                                                "type": "number"
                                            },
                                            "w": {
                                                "type": "number"
                                            },
                                            "h": {
                                                "type": "number"
                                            },
                                            "zIndex": {
                                                "type": "number"
                                            }
                                        },
                                        "required": ["x", "y", "w", "h"]
                                    },
                                    "groupId": {
                                        "type": "string",
                                        "format": "uuid",
                                        "nullable": true
                                    },
                                    "modelConfig": {
                                        "type": "object",
                                        "properties": {
                                            "model": {
                                                "type": "string"
                                            },
                                            "variant": {
                                                "type": "string"
                                            },
                                            "tier": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "thinkingLevel": {
                                                "type": "string",
                                                "enum": [
                                                    "off",
                                                    "on",
                                                    "minimal",
                                                    "low",
                                                    "medium",
                                                    "high",
                                                    "xhigh",
                                                    "max"
                                                ]
                                            },
                                            "heygenAvatar": {
                                                "type": "string",
                                                "minLength": 1
                                            },
                                            "font": {
                                                "type": "object",
                                                "properties": {
                                                    "source": {
                                                        "type": "string",
                                                        "enum": [
                                                            "custom",
                                                            "google"
                                                        ]
                                                    },
                                                    "familyName": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "source",
                                                    "familyName"
                                                ]
                                            }
                                        },
                                        "required": ["model", "variant"],
                                        "nullable": true
                                    },
                                    "textPrompt": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "text": {
                                        "type": "string",
                                        "maxLength": 100000
                                    },
                                    "outputAspectRatio": {
                                        "type": "string",
                                        "enum": [
                                            "21:9",
                                            "16:9",
                                            "3:2",
                                            "4:3",
                                            "5:4",
                                            "1:1",
                                            "4:5",
                                            "3:4",
                                            "2:3",
                                            "9:16",
                                            "9:21",
                                            null
                                        ],
                                        "nullable": true
                                    },
                                    "outputDuration": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "exclusiveMinimum": true,
                                        "nullable": true
                                    },
                                    "outputResolution": {
                                        "oneOf": [
                                            {
                                                "type": "string",
                                                "enum": [
                                                    "360p",
                                                    "480p",
                                                    "540p",
                                                    "580p",
                                                    "720p",
                                                    "1080p",
                                                    "1440p",
                                                    "2160p",
                                                    "4k",
                                                    "0.5K",
                                                    "1K",
                                                    "2K",
                                                    "4K",
                                                    "1k",
                                                    "2k"
                                                ]
                                            },
                                            {
                                                "type": "string"
                                            }
                                        ]
                                    },
                                    "matchAudioToVideoDuration": {
                                        "type": "boolean",
                                        "nullable": true
                                    },
                                    "seed": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "maximum": 2147483647,
                                        "nullable": true
                                    },
                                    "negativePrompt": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "stitchClipOrder": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "nullable": true
                                    },
                                    "stitchScaleFit": {
                                        "type": "string",
                                        "enum": ["fit", "stretch", null],
                                        "nullable": true
                                    },
                                    "stitchAudioOverlays": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "nodeId": {
                                                    "type": "string"
                                                },
                                                "startTimeSeconds": {
                                                    "type": "number",
                                                    "minimum": 0
                                                },
                                                "trimStartMs": {
                                                    "type": "integer",
                                                    "minimum": 0
                                                },
                                                "trimEndMs": {
                                                    "type": "integer",
                                                    "minimum": 0,
                                                    "exclusiveMinimum": true
                                                }
                                            },
                                            "required": [
                                                "nodeId",
                                                "startTimeSeconds"
                                            ]
                                        },
                                        "nullable": true
                                    },
                                    "stitchClipTrims": {
                                        "type": "object",
                                        "additionalProperties": {
                                            "type": "object",
                                            "properties": {
                                                "trimStartMs": {
                                                    "type": "integer",
                                                    "minimum": 0
                                                },
                                                "trimEndMs": {
                                                    "type": "integer",
                                                    "minimum": 0,
                                                    "exclusiveMinimum": true
                                                }
                                            }
                                        },
                                        "nullable": true
                                    },
                                    "voiceId": {
                                        "type": "string",
                                        "minLength": 1,
                                        "nullable": true
                                    },
                                    "customVoiceId": {
                                        "type": "string",
                                        "format": "uuid",
                                        "nullable": true
                                    },
                                    "elevenLabsVoiceSettings": {
                                        "type": "object",
                                        "properties": {
                                            "speed": {
                                                "type": "number",
                                                "minimum": 0.25,
                                                "maximum": 4
                                            },
                                            "stability": {
                                                "type": "number",
                                                "minimum": 0,
                                                "maximum": 1
                                            },
                                            "similarityBoost": {
                                                "type": "number",
                                                "minimum": 0,
                                                "maximum": 1
                                            },
                                            "style": {
                                                "type": "number",
                                                "minimum": 0,
                                                "maximum": 1
                                            },
                                            "speakerBoost": {
                                                "type": "boolean"
                                            },
                                            "removeBackgroundNoise": {
                                                "type": "boolean"
                                            },
                                            "outputFormat": {
                                                "type": "string",
                                                "enum": [
                                                    "mp3_44100_128",
                                                    "mp3_44100_192",
                                                    "mp3_22050_32",
                                                    "pcm_16000",
                                                    "pcm_22050",
                                                    "pcm_24000",
                                                    "pcm_44100"
                                                ]
                                            }
                                        },
                                        "nullable": true
                                    },
                                    "src": {
                                        "type": "string",
                                        "format": "uri",
                                        "nullable": true
                                    },
                                    "mediaType": {
                                        "type": "string",
                                        "enum": [
                                            "image",
                                            "video",
                                            "audio",
                                            "pdf",
                                            null
                                        ],
                                        "nullable": true
                                    },
                                    "s3Key": {
                                        "type": "string"
                                    },
                                    "s3Bucket": {
                                        "type": "string"
                                    },
                                    "contentType": {
                                        "type": "string"
                                    },
                                    "sourceNodeId": {
                                        "type": "string",
                                        "format": "uuid"
                                    },
                                    "groupType": {
                                        "type": "string",
                                        "enum": [
                                            "default",
                                            "unified",
                                            "template",
                                            null
                                        ],
                                        "nullable": true
                                    },
                                    "templatePorts": {
                                        "type": "array",
                                        "items": {
                                            "oneOf": [
                                                {
                                                    "type": "object",
                                                    "properties": {
                                                        "required": {
                                                            "type": "boolean"
                                                        },
                                                        "direction": {
                                                            "type": "string",
                                                            "enum": ["input"]
                                                        },
                                                        "maxConnections": {
                                                            "type": "integer",
                                                            "minimum": 0,
                                                            "exclusiveMinimum": true
                                                        },
                                                        "locked": {
                                                            "type": "boolean"
                                                        },
                                                        "internalTargets": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "nodeId": {
                                                                        "type": "string",
                                                                        "format": "uuid"
                                                                    },
                                                                    "internalHandle": {
                                                                        "type": "string",
                                                                        "nullable": true
                                                                    }
                                                                },
                                                                "required": [
                                                                    "nodeId",
                                                                    "internalHandle"
                                                                ]
                                                            }
                                                        },
                                                        "connectedSourceIds": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "portId": {
                                                            "type": "string"
                                                        },
                                                        "label": {
                                                            "type": "string"
                                                        },
                                                        "handleType": {
                                                            "type": "string"
                                                        },
                                                        "nodeId": {
                                                            "type": "string",
                                                            "format": "uuid"
                                                        },
                                                        "internalHandle": {
                                                            "type": "string",
                                                            "nullable": true
                                                        },
                                                        "top": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "required": [
                                                        "direction",
                                                        "portId",
                                                        "label",
                                                        "handleType",
                                                        "nodeId",
                                                        "internalHandle"
                                                    ]
                                                },
                                                {
                                                    "type": "object",
                                                    "properties": {
                                                        "direction": {
                                                            "type": "string",
                                                            "enum": ["output"]
                                                        },
                                                        "layerIndex": {
                                                            "type": "integer",
                                                            "minimum": 0,
                                                            "nullable": true
                                                        },
                                                        "portId": {
                                                            "type": "string"
                                                        },
                                                        "label": {
                                                            "type": "string"
                                                        },
                                                        "handleType": {
                                                            "type": "string"
                                                        },
                                                        "nodeId": {
                                                            "type": "string",
                                                            "format": "uuid"
                                                        },
                                                        "internalHandle": {
                                                            "type": "string",
                                                            "nullable": true
                                                        },
                                                        "top": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "required": [
                                                        "direction",
                                                        "portId",
                                                        "label",
                                                        "handleType",
                                                        "nodeId",
                                                        "internalHandle"
                                                    ]
                                                }
                                            ]
                                        },
                                        "nullable": true
                                    },
                                    "templateId": {
                                        "type": "string",
                                        "format": "uuid",
                                        "nullable": true
                                    },
                                    "isExpandable": {
                                        "type": "boolean",
                                        "nullable": true
                                    },
                                    "lockedInputNodeIds": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "nullable": true
                                    }
                                },
                                "required": ["id", "nodeType", "geometry"]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "201",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "title": {
                                            "type": "string"
                                        },
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "nodeType": {
                                            "type": "string",
                                            "enum": [
                                                "text",
                                                "image",
                                                "video",
                                                "audio",
                                                "file",
                                                "group",
                                                "custom_text",
                                                "pdf",
                                                "composite",
                                                "stitch",
                                                "magic_resize"
                                            ]
                                        },
                                        "geometry": {
                                            "type": "object",
                                            "properties": {
                                                "x": {
                                                    "type": "number"
                                                },
                                                "y": {
                                                    "type": "number"
                                                },
                                                "w": {
                                                    "type": "number"
                                                },
                                                "h": {
                                                    "type": "number"
                                                },
                                                "zIndex": {
                                                    "type": "number"
                                                }
                                            },
                                            "required": ["x", "y", "w", "h"]
                                        },
                                        "groupId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "autoModel": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "fastModel": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "modelConfig": {
                                            "type": "object",
                                            "properties": {
                                                "model": {
                                                    "type": "string"
                                                },
                                                "variant": {
                                                    "type": "string"
                                                },
                                                "tier": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "thinkingLevel": {
                                                    "type": "string",
                                                    "enum": [
                                                        "off",
                                                        "on",
                                                        "minimal",
                                                        "low",
                                                        "medium",
                                                        "high",
                                                        "xhigh",
                                                        "max"
                                                    ]
                                                },
                                                "heygenAvatar": {
                                                    "type": "string"
                                                },
                                                "ratios": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "resolution": {
                                                    "type": "string"
                                                },
                                                "voiceId": {
                                                    "type": "string"
                                                },
                                                "customVoiceId": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "font": {
                                                    "type": "object",
                                                    "properties": {
                                                        "source": {
                                                            "type": "string",
                                                            "enum": [
                                                                "custom",
                                                                "google"
                                                            ]
                                                        },
                                                        "familyName": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "required": [
                                                        "source",
                                                        "familyName"
                                                    ]
                                                },
                                                "loras": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "id": {
                                                                "type": "string"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            },
                                                            "weight": {
                                                                "type": "number"
                                                            }
                                                        },
                                                        "required": [
                                                            "id",
                                                            "name",
                                                            "weight"
                                                        ]
                                                    }
                                                },
                                                "steps": {
                                                    "type": "number"
                                                },
                                                "guidanceScale": {
                                                    "type": "number"
                                                }
                                            },
                                            "required": ["model", "variant"],
                                            "nullable": true
                                        },
                                        "textPrompt": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "outputAspectRatio": {
                                            "type": "string",
                                            "enum": [
                                                "21:9",
                                                "16:9",
                                                "3:2",
                                                "4:3",
                                                "5:4",
                                                "1:1",
                                                "4:5",
                                                "3:4",
                                                "2:3",
                                                "9:16",
                                                "9:21",
                                                null
                                            ],
                                            "nullable": true
                                        },
                                        "outputDuration": {
                                            "type": "integer",
                                            "minimum": 0,
                                            "exclusiveMinimum": true,
                                            "nullable": true
                                        },
                                        "outputResolution": {
                                            "oneOf": [
                                                {
                                                    "type": "string",
                                                    "enum": [
                                                        "360p",
                                                        "480p",
                                                        "540p",
                                                        "580p",
                                                        "720p",
                                                        "1080p",
                                                        "1440p",
                                                        "2160p",
                                                        "4k",
                                                        "0.5K",
                                                        "1K",
                                                        "2K",
                                                        "4K",
                                                        "1k",
                                                        "2k"
                                                    ]
                                                },
                                                {
                                                    "type": "string"
                                                }
                                            ]
                                        },
                                        "matchAudioToVideoDuration": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "seed": {
                                            "type": "integer",
                                            "minimum": 0,
                                            "maximum": 2147483647,
                                            "nullable": true
                                        },
                                        "negativePrompt": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "stitchClipOrder": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            },
                                            "nullable": true
                                        },
                                        "stitchScaleFit": {
                                            "type": "string",
                                            "enum": ["fit", "stretch", null],
                                            "nullable": true
                                        },
                                        "stitchAudioOverlays": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "nodeId": {
                                                        "type": "string"
                                                    },
                                                    "startTimeSeconds": {
                                                        "type": "number",
                                                        "minimum": 0
                                                    },
                                                    "trimStartMs": {
                                                        "type": "integer",
                                                        "minimum": 0
                                                    },
                                                    "trimEndMs": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "exclusiveMinimum": true
                                                    }
                                                },
                                                "required": [
                                                    "nodeId",
                                                    "startTimeSeconds"
                                                ]
                                            },
                                            "nullable": true
                                        },
                                        "stitchClipTrims": {
                                            "type": "object",
                                            "additionalProperties": {
                                                "type": "object",
                                                "properties": {
                                                    "trimStartMs": {
                                                        "type": "integer",
                                                        "minimum": 0
                                                    },
                                                    "trimEndMs": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "exclusiveMinimum": true
                                                    }
                                                }
                                            },
                                            "nullable": true
                                        },
                                        "voiceId": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "customVoiceId": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "elevenLabsVoiceSettings": {
                                            "type": "object",
                                            "properties": {
                                                "speed": {
                                                    "type": "number",
                                                    "minimum": 0.25,
                                                    "maximum": 4
                                                },
                                                "stability": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                },
                                                "similarityBoost": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                },
                                                "style": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                },
                                                "speakerBoost": {
                                                    "type": "boolean"
                                                },
                                                "removeBackgroundNoise": {
                                                    "type": "boolean"
                                                },
                                                "outputFormat": {
                                                    "type": "string",
                                                    "enum": [
                                                        "mp3_44100_128",
                                                        "mp3_44100_192",
                                                        "mp3_22050_32",
                                                        "pcm_16000",
                                                        "pcm_22050",
                                                        "pcm_24000",
                                                        "pcm_44100"
                                                    ]
                                                }
                                            },
                                            "nullable": true
                                        },
                                        "src": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "previewSrc": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "mediaType": {
                                            "type": "string",
                                            "enum": [
                                                "image",
                                                "video",
                                                "audio",
                                                "pdf",
                                                null
                                            ],
                                            "nullable": true
                                        },
                                        "generatedText": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "activeVersionId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "assetDurationInMs": {
                                            "type": "integer",
                                            "minimum": 0,
                                            "nullable": true
                                        },
                                        "createdByUserId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "nodeType",
                                        "geometry",
                                        "groupId",
                                        "title",
                                        "modelConfig",
                                        "textPrompt",
                                        "outputAspectRatio",
                                        "outputDuration",
                                        "outputResolution",
                                        "seed",
                                        "negativePrompt",
                                        "src",
                                        "previewSrc",
                                        "mediaType",
                                        "generatedText",
                                        "activeVersionId",
                                        "assetDurationInMs",
                                        "createdByUserId"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "409",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/canvases/{canvasId}/direct/nodes/{nodeId}": {
            "patch": {
                "summary": "Update a node",
                "tags": ["node"],
                "parameters": [
                    {
                        "name": "canvasId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "nodeId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "node.update",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "geometry": {
                                        "type": "object",
                                        "properties": {
                                            "x": {
                                                "type": "number"
                                            },
                                            "y": {
                                                "type": "number"
                                            },
                                            "w": {
                                                "type": "number"
                                            },
                                            "h": {
                                                "type": "number"
                                            },
                                            "zIndex": {
                                                "type": "number"
                                            }
                                        },
                                        "required": ["x", "y", "w", "h"]
                                    },
                                    "nodeType": {
                                        "type": "string",
                                        "enum": [
                                            "text",
                                            "image",
                                            "video",
                                            "audio",
                                            "file",
                                            "group",
                                            "custom_text",
                                            "pdf",
                                            "composite",
                                            "stitch",
                                            "magic_resize"
                                        ]
                                    },
                                    "groupId": {
                                        "type": "string",
                                        "format": "uuid",
                                        "nullable": true
                                    },
                                    "modelConfig": {
                                        "type": "object",
                                        "properties": {
                                            "model": {
                                                "type": "string"
                                            },
                                            "variant": {
                                                "type": "string"
                                            },
                                            "tier": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "thinkingLevel": {
                                                "type": "string",
                                                "enum": [
                                                    "off",
                                                    "on",
                                                    "minimal",
                                                    "low",
                                                    "medium",
                                                    "high",
                                                    "xhigh",
                                                    "max"
                                                ]
                                            },
                                            "heygenAvatar": {
                                                "type": "string",
                                                "minLength": 1
                                            },
                                            "font": {
                                                "type": "object",
                                                "properties": {
                                                    "source": {
                                                        "type": "string",
                                                        "enum": [
                                                            "custom",
                                                            "google"
                                                        ]
                                                    },
                                                    "familyName": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "source",
                                                    "familyName"
                                                ]
                                            }
                                        },
                                        "required": ["model", "variant"],
                                        "nullable": true
                                    },
                                    "textPrompt": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "text": {
                                        "type": "string",
                                        "maxLength": 100000
                                    },
                                    "outputAspectRatio": {
                                        "type": "string",
                                        "enum": [
                                            "21:9",
                                            "16:9",
                                            "3:2",
                                            "4:3",
                                            "5:4",
                                            "1:1",
                                            "4:5",
                                            "3:4",
                                            "2:3",
                                            "9:16",
                                            "9:21",
                                            null
                                        ],
                                        "nullable": true
                                    },
                                    "outputDuration": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "exclusiveMinimum": true,
                                        "nullable": true
                                    },
                                    "outputResolution": {
                                        "oneOf": [
                                            {
                                                "type": "string",
                                                "enum": [
                                                    "360p",
                                                    "480p",
                                                    "540p",
                                                    "580p",
                                                    "720p",
                                                    "1080p",
                                                    "1440p",
                                                    "2160p",
                                                    "4k",
                                                    "0.5K",
                                                    "1K",
                                                    "2K",
                                                    "4K",
                                                    "1k",
                                                    "2k"
                                                ]
                                            },
                                            {
                                                "type": "string"
                                            }
                                        ]
                                    },
                                    "matchAudioToVideoDuration": {
                                        "type": "boolean",
                                        "nullable": true
                                    },
                                    "seed": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "maximum": 2147483647,
                                        "nullable": true
                                    },
                                    "negativePrompt": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "stitchClipOrder": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "nullable": true
                                    },
                                    "stitchScaleFit": {
                                        "type": "string",
                                        "enum": ["fit", "stretch", null],
                                        "nullable": true
                                    },
                                    "stitchAudioOverlays": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "nodeId": {
                                                    "type": "string"
                                                },
                                                "startTimeSeconds": {
                                                    "type": "number",
                                                    "minimum": 0
                                                },
                                                "trimStartMs": {
                                                    "type": "integer",
                                                    "minimum": 0
                                                },
                                                "trimEndMs": {
                                                    "type": "integer",
                                                    "minimum": 0,
                                                    "exclusiveMinimum": true
                                                }
                                            },
                                            "required": [
                                                "nodeId",
                                                "startTimeSeconds"
                                            ]
                                        },
                                        "nullable": true
                                    },
                                    "stitchClipTrims": {
                                        "type": "object",
                                        "additionalProperties": {
                                            "type": "object",
                                            "properties": {
                                                "trimStartMs": {
                                                    "type": "integer",
                                                    "minimum": 0
                                                },
                                                "trimEndMs": {
                                                    "type": "integer",
                                                    "minimum": 0,
                                                    "exclusiveMinimum": true
                                                }
                                            }
                                        },
                                        "nullable": true
                                    },
                                    "voiceId": {
                                        "type": "string",
                                        "minLength": 1,
                                        "nullable": true
                                    },
                                    "customVoiceId": {
                                        "type": "string",
                                        "format": "uuid",
                                        "nullable": true
                                    },
                                    "elevenLabsVoiceSettings": {
                                        "type": "object",
                                        "properties": {
                                            "speed": {
                                                "type": "number",
                                                "minimum": 0.25,
                                                "maximum": 4
                                            },
                                            "stability": {
                                                "type": "number",
                                                "minimum": 0,
                                                "maximum": 1
                                            },
                                            "similarityBoost": {
                                                "type": "number",
                                                "minimum": 0,
                                                "maximum": 1
                                            },
                                            "style": {
                                                "type": "number",
                                                "minimum": 0,
                                                "maximum": 1
                                            },
                                            "speakerBoost": {
                                                "type": "boolean"
                                            },
                                            "removeBackgroundNoise": {
                                                "type": "boolean"
                                            },
                                            "outputFormat": {
                                                "type": "string",
                                                "enum": [
                                                    "mp3_44100_128",
                                                    "mp3_44100_192",
                                                    "mp3_22050_32",
                                                    "pcm_16000",
                                                    "pcm_22050",
                                                    "pcm_24000",
                                                    "pcm_44100"
                                                ]
                                            }
                                        },
                                        "nullable": true
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "title": {
                                            "type": "string"
                                        },
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "nodeType": {
                                            "type": "string",
                                            "enum": [
                                                "text",
                                                "image",
                                                "video",
                                                "audio",
                                                "file",
                                                "group",
                                                "custom_text",
                                                "pdf",
                                                "composite",
                                                "stitch",
                                                "magic_resize"
                                            ]
                                        },
                                        "geometry": {
                                            "type": "object",
                                            "properties": {
                                                "x": {
                                                    "type": "number"
                                                },
                                                "y": {
                                                    "type": "number"
                                                },
                                                "w": {
                                                    "type": "number"
                                                },
                                                "h": {
                                                    "type": "number"
                                                },
                                                "zIndex": {
                                                    "type": "number"
                                                }
                                            },
                                            "required": ["x", "y", "w", "h"]
                                        },
                                        "groupId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "autoModel": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "fastModel": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "modelConfig": {
                                            "type": "object",
                                            "properties": {
                                                "model": {
                                                    "type": "string"
                                                },
                                                "variant": {
                                                    "type": "string"
                                                },
                                                "tier": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "thinkingLevel": {
                                                    "type": "string",
                                                    "enum": [
                                                        "off",
                                                        "on",
                                                        "minimal",
                                                        "low",
                                                        "medium",
                                                        "high",
                                                        "xhigh",
                                                        "max"
                                                    ]
                                                },
                                                "heygenAvatar": {
                                                    "type": "string"
                                                },
                                                "ratios": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "resolution": {
                                                    "type": "string"
                                                },
                                                "voiceId": {
                                                    "type": "string"
                                                },
                                                "customVoiceId": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "font": {
                                                    "type": "object",
                                                    "properties": {
                                                        "source": {
                                                            "type": "string",
                                                            "enum": [
                                                                "custom",
                                                                "google"
                                                            ]
                                                        },
                                                        "familyName": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "required": [
                                                        "source",
                                                        "familyName"
                                                    ]
                                                },
                                                "loras": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "id": {
                                                                "type": "string"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            },
                                                            "weight": {
                                                                "type": "number"
                                                            }
                                                        },
                                                        "required": [
                                                            "id",
                                                            "name",
                                                            "weight"
                                                        ]
                                                    }
                                                },
                                                "steps": {
                                                    "type": "number"
                                                },
                                                "guidanceScale": {
                                                    "type": "number"
                                                }
                                            },
                                            "required": ["model", "variant"],
                                            "nullable": true
                                        },
                                        "textPrompt": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "outputAspectRatio": {
                                            "type": "string",
                                            "enum": [
                                                "21:9",
                                                "16:9",
                                                "3:2",
                                                "4:3",
                                                "5:4",
                                                "1:1",
                                                "4:5",
                                                "3:4",
                                                "2:3",
                                                "9:16",
                                                "9:21",
                                                null
                                            ],
                                            "nullable": true
                                        },
                                        "outputDuration": {
                                            "type": "integer",
                                            "minimum": 0,
                                            "exclusiveMinimum": true,
                                            "nullable": true
                                        },
                                        "outputResolution": {
                                            "oneOf": [
                                                {
                                                    "type": "string",
                                                    "enum": [
                                                        "360p",
                                                        "480p",
                                                        "540p",
                                                        "580p",
                                                        "720p",
                                                        "1080p",
                                                        "1440p",
                                                        "2160p",
                                                        "4k",
                                                        "0.5K",
                                                        "1K",
                                                        "2K",
                                                        "4K",
                                                        "1k",
                                                        "2k"
                                                    ]
                                                },
                                                {
                                                    "type": "string"
                                                }
                                            ]
                                        },
                                        "matchAudioToVideoDuration": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "seed": {
                                            "type": "integer",
                                            "minimum": 0,
                                            "maximum": 2147483647,
                                            "nullable": true
                                        },
                                        "negativePrompt": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "stitchClipOrder": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            },
                                            "nullable": true
                                        },
                                        "stitchScaleFit": {
                                            "type": "string",
                                            "enum": ["fit", "stretch", null],
                                            "nullable": true
                                        },
                                        "stitchAudioOverlays": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "nodeId": {
                                                        "type": "string"
                                                    },
                                                    "startTimeSeconds": {
                                                        "type": "number",
                                                        "minimum": 0
                                                    },
                                                    "trimStartMs": {
                                                        "type": "integer",
                                                        "minimum": 0
                                                    },
                                                    "trimEndMs": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "exclusiveMinimum": true
                                                    }
                                                },
                                                "required": [
                                                    "nodeId",
                                                    "startTimeSeconds"
                                                ]
                                            },
                                            "nullable": true
                                        },
                                        "stitchClipTrims": {
                                            "type": "object",
                                            "additionalProperties": {
                                                "type": "object",
                                                "properties": {
                                                    "trimStartMs": {
                                                        "type": "integer",
                                                        "minimum": 0
                                                    },
                                                    "trimEndMs": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "exclusiveMinimum": true
                                                    }
                                                }
                                            },
                                            "nullable": true
                                        },
                                        "voiceId": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "customVoiceId": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "elevenLabsVoiceSettings": {
                                            "type": "object",
                                            "properties": {
                                                "speed": {
                                                    "type": "number",
                                                    "minimum": 0.25,
                                                    "maximum": 4
                                                },
                                                "stability": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                },
                                                "similarityBoost": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                },
                                                "style": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                },
                                                "speakerBoost": {
                                                    "type": "boolean"
                                                },
                                                "removeBackgroundNoise": {
                                                    "type": "boolean"
                                                },
                                                "outputFormat": {
                                                    "type": "string",
                                                    "enum": [
                                                        "mp3_44100_128",
                                                        "mp3_44100_192",
                                                        "mp3_22050_32",
                                                        "pcm_16000",
                                                        "pcm_22050",
                                                        "pcm_24000",
                                                        "pcm_44100"
                                                    ]
                                                }
                                            },
                                            "nullable": true
                                        },
                                        "src": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "previewSrc": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "mediaType": {
                                            "type": "string",
                                            "enum": [
                                                "image",
                                                "video",
                                                "audio",
                                                "pdf",
                                                null
                                            ],
                                            "nullable": true
                                        },
                                        "generatedText": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "activeVersionId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "assetDurationInMs": {
                                            "type": "integer",
                                            "minimum": 0,
                                            "nullable": true
                                        },
                                        "createdByUserId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "nodeType",
                                        "geometry",
                                        "groupId",
                                        "title",
                                        "modelConfig",
                                        "textPrompt",
                                        "outputAspectRatio",
                                        "outputDuration",
                                        "outputResolution",
                                        "seed",
                                        "negativePrompt",
                                        "src",
                                        "previewSrc",
                                        "mediaType",
                                        "generatedText",
                                        "activeVersionId",
                                        "assetDurationInMs",
                                        "createdByUserId"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "409",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "summary": "Delete a node",
                "tags": ["node"],
                "parameters": [
                    {
                        "name": "canvasId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "nodeId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "node.delete",
                "responses": {
                    "204": {
                        "description": "204"
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "409",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/canvases/{canvasId}/direct/nodes/bulk": {
            "post": {
                "summary": "Create nodes in bulk",
                "tags": ["node"],
                "parameters": [
                    {
                        "name": "canvasId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "node.bulkCreate",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "nodes": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "title": {
                                                    "type": "string"
                                                },
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "nodeType": {
                                                    "type": "string",
                                                    "enum": [
                                                        "text",
                                                        "image",
                                                        "video",
                                                        "audio",
                                                        "file",
                                                        "group",
                                                        "custom_text",
                                                        "pdf",
                                                        "composite",
                                                        "stitch",
                                                        "magic_resize"
                                                    ]
                                                },
                                                "geometry": {
                                                    "type": "object",
                                                    "properties": {
                                                        "x": {
                                                            "type": "number"
                                                        },
                                                        "y": {
                                                            "type": "number"
                                                        },
                                                        "w": {
                                                            "type": "number"
                                                        },
                                                        "h": {
                                                            "type": "number"
                                                        },
                                                        "zIndex": {
                                                            "type": "number"
                                                        }
                                                    },
                                                    "required": [
                                                        "x",
                                                        "y",
                                                        "w",
                                                        "h"
                                                    ]
                                                },
                                                "groupId": {
                                                    "type": "string",
                                                    "format": "uuid",
                                                    "nullable": true
                                                },
                                                "modelConfig": {
                                                    "type": "object",
                                                    "properties": {
                                                        "model": {
                                                            "type": "string"
                                                        },
                                                        "variant": {
                                                            "type": "string"
                                                        },
                                                        "tier": {
                                                            "type": "string",
                                                            "nullable": true
                                                        },
                                                        "thinkingLevel": {
                                                            "type": "string",
                                                            "enum": [
                                                                "off",
                                                                "on",
                                                                "minimal",
                                                                "low",
                                                                "medium",
                                                                "high",
                                                                "xhigh",
                                                                "max"
                                                            ]
                                                        },
                                                        "heygenAvatar": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "font": {
                                                            "type": "object",
                                                            "properties": {
                                                                "source": {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "custom",
                                                                        "google"
                                                                    ]
                                                                },
                                                                "familyName": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "required": [
                                                                "source",
                                                                "familyName"
                                                            ]
                                                        }
                                                    },
                                                    "required": [
                                                        "model",
                                                        "variant"
                                                    ],
                                                    "nullable": true
                                                },
                                                "textPrompt": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "text": {
                                                    "type": "string",
                                                    "maxLength": 100000
                                                },
                                                "outputAspectRatio": {
                                                    "type": "string",
                                                    "enum": [
                                                        "21:9",
                                                        "16:9",
                                                        "3:2",
                                                        "4:3",
                                                        "5:4",
                                                        "1:1",
                                                        "4:5",
                                                        "3:4",
                                                        "2:3",
                                                        "9:16",
                                                        "9:21",
                                                        null
                                                    ],
                                                    "nullable": true
                                                },
                                                "outputDuration": {
                                                    "type": "integer",
                                                    "minimum": 0,
                                                    "exclusiveMinimum": true,
                                                    "nullable": true
                                                },
                                                "outputResolution": {
                                                    "oneOf": [
                                                        {
                                                            "type": "string",
                                                            "enum": [
                                                                "360p",
                                                                "480p",
                                                                "540p",
                                                                "580p",
                                                                "720p",
                                                                "1080p",
                                                                "1440p",
                                                                "2160p",
                                                                "4k",
                                                                "0.5K",
                                                                "1K",
                                                                "2K",
                                                                "4K",
                                                                "1k",
                                                                "2k"
                                                            ]
                                                        },
                                                        {
                                                            "type": "string"
                                                        }
                                                    ]
                                                },
                                                "matchAudioToVideoDuration": {
                                                    "type": "boolean",
                                                    "nullable": true
                                                },
                                                "seed": {
                                                    "type": "integer",
                                                    "minimum": 0,
                                                    "maximum": 2147483647,
                                                    "nullable": true
                                                },
                                                "negativePrompt": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "stitchClipOrder": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    },
                                                    "nullable": true
                                                },
                                                "stitchScaleFit": {
                                                    "type": "string",
                                                    "enum": [
                                                        "fit",
                                                        "stretch",
                                                        null
                                                    ],
                                                    "nullable": true
                                                },
                                                "stitchAudioOverlays": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "nodeId": {
                                                                "type": "string"
                                                            },
                                                            "startTimeSeconds": {
                                                                "type": "number",
                                                                "minimum": 0
                                                            },
                                                            "trimStartMs": {
                                                                "type": "integer",
                                                                "minimum": 0
                                                            },
                                                            "trimEndMs": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "exclusiveMinimum": true
                                                            }
                                                        },
                                                        "required": [
                                                            "nodeId",
                                                            "startTimeSeconds"
                                                        ]
                                                    },
                                                    "nullable": true
                                                },
                                                "stitchClipTrims": {
                                                    "type": "object",
                                                    "additionalProperties": {
                                                        "type": "object",
                                                        "properties": {
                                                            "trimStartMs": {
                                                                "type": "integer",
                                                                "minimum": 0
                                                            },
                                                            "trimEndMs": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "exclusiveMinimum": true
                                                            }
                                                        }
                                                    },
                                                    "nullable": true
                                                },
                                                "voiceId": {
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "nullable": true
                                                },
                                                "customVoiceId": {
                                                    "type": "string",
                                                    "format": "uuid",
                                                    "nullable": true
                                                },
                                                "elevenLabsVoiceSettings": {
                                                    "type": "object",
                                                    "properties": {
                                                        "speed": {
                                                            "type": "number",
                                                            "minimum": 0.25,
                                                            "maximum": 4
                                                        },
                                                        "stability": {
                                                            "type": "number",
                                                            "minimum": 0,
                                                            "maximum": 1
                                                        },
                                                        "similarityBoost": {
                                                            "type": "number",
                                                            "minimum": 0,
                                                            "maximum": 1
                                                        },
                                                        "style": {
                                                            "type": "number",
                                                            "minimum": 0,
                                                            "maximum": 1
                                                        },
                                                        "speakerBoost": {
                                                            "type": "boolean"
                                                        },
                                                        "removeBackgroundNoise": {
                                                            "type": "boolean"
                                                        },
                                                        "outputFormat": {
                                                            "type": "string",
                                                            "enum": [
                                                                "mp3_44100_128",
                                                                "mp3_44100_192",
                                                                "mp3_22050_32",
                                                                "pcm_16000",
                                                                "pcm_22050",
                                                                "pcm_24000",
                                                                "pcm_44100"
                                                            ]
                                                        }
                                                    },
                                                    "nullable": true
                                                },
                                                "src": {
                                                    "type": "string",
                                                    "format": "uri",
                                                    "nullable": true
                                                },
                                                "mediaType": {
                                                    "type": "string",
                                                    "enum": [
                                                        "image",
                                                        "video",
                                                        "audio",
                                                        "pdf",
                                                        null
                                                    ],
                                                    "nullable": true
                                                },
                                                "s3Key": {
                                                    "type": "string"
                                                },
                                                "s3Bucket": {
                                                    "type": "string"
                                                },
                                                "contentType": {
                                                    "type": "string"
                                                },
                                                "sourceNodeId": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "groupType": {
                                                    "type": "string",
                                                    "enum": [
                                                        "default",
                                                        "unified",
                                                        "template",
                                                        null
                                                    ],
                                                    "nullable": true
                                                },
                                                "templatePorts": {
                                                    "type": "array",
                                                    "items": {
                                                        "oneOf": [
                                                            {
                                                                "type": "object",
                                                                "properties": {
                                                                    "required": {
                                                                        "type": "boolean"
                                                                    },
                                                                    "direction": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "input"
                                                                        ]
                                                                    },
                                                                    "maxConnections": {
                                                                        "type": "integer",
                                                                        "minimum": 0,
                                                                        "exclusiveMinimum": true
                                                                    },
                                                                    "locked": {
                                                                        "type": "boolean"
                                                                    },
                                                                    "internalTargets": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "nodeId": {
                                                                                    "type": "string",
                                                                                    "format": "uuid"
                                                                                },
                                                                                "internalHandle": {
                                                                                    "type": "string",
                                                                                    "nullable": true
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "nodeId",
                                                                                "internalHandle"
                                                                            ]
                                                                        }
                                                                    },
                                                                    "connectedSourceIds": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "portId": {
                                                                        "type": "string"
                                                                    },
                                                                    "label": {
                                                                        "type": "string"
                                                                    },
                                                                    "handleType": {
                                                                        "type": "string"
                                                                    },
                                                                    "nodeId": {
                                                                        "type": "string",
                                                                        "format": "uuid"
                                                                    },
                                                                    "internalHandle": {
                                                                        "type": "string",
                                                                        "nullable": true
                                                                    },
                                                                    "top": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "direction",
                                                                    "portId",
                                                                    "label",
                                                                    "handleType",
                                                                    "nodeId",
                                                                    "internalHandle"
                                                                ]
                                                            },
                                                            {
                                                                "type": "object",
                                                                "properties": {
                                                                    "direction": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "output"
                                                                        ]
                                                                    },
                                                                    "layerIndex": {
                                                                        "type": "integer",
                                                                        "minimum": 0,
                                                                        "nullable": true
                                                                    },
                                                                    "portId": {
                                                                        "type": "string"
                                                                    },
                                                                    "label": {
                                                                        "type": "string"
                                                                    },
                                                                    "handleType": {
                                                                        "type": "string"
                                                                    },
                                                                    "nodeId": {
                                                                        "type": "string",
                                                                        "format": "uuid"
                                                                    },
                                                                    "internalHandle": {
                                                                        "type": "string",
                                                                        "nullable": true
                                                                    },
                                                                    "top": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "direction",
                                                                    "portId",
                                                                    "label",
                                                                    "handleType",
                                                                    "nodeId",
                                                                    "internalHandle"
                                                                ]
                                                            }
                                                        ]
                                                    },
                                                    "nullable": true
                                                },
                                                "templateId": {
                                                    "type": "string",
                                                    "format": "uuid",
                                                    "nullable": true
                                                },
                                                "isExpandable": {
                                                    "type": "boolean",
                                                    "nullable": true
                                                },
                                                "lockedInputNodeIds": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "nullable": true
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "nodeType",
                                                "geometry"
                                            ]
                                        }
                                    }
                                },
                                "required": ["nodes"]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "201",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "nodes": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "title": {
                                                        "type": "string"
                                                    },
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "nodeType": {
                                                        "type": "string",
                                                        "enum": [
                                                            "text",
                                                            "image",
                                                            "video",
                                                            "audio",
                                                            "file",
                                                            "group",
                                                            "custom_text",
                                                            "pdf",
                                                            "composite",
                                                            "stitch",
                                                            "magic_resize"
                                                        ]
                                                    },
                                                    "geometry": {
                                                        "type": "object",
                                                        "properties": {
                                                            "x": {
                                                                "type": "number"
                                                            },
                                                            "y": {
                                                                "type": "number"
                                                            },
                                                            "w": {
                                                                "type": "number"
                                                            },
                                                            "h": {
                                                                "type": "number"
                                                            },
                                                            "zIndex": {
                                                                "type": "number"
                                                            }
                                                        },
                                                        "required": [
                                                            "x",
                                                            "y",
                                                            "w",
                                                            "h"
                                                        ]
                                                    },
                                                    "groupId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "autoModel": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "fastModel": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "modelConfig": {
                                                        "type": "object",
                                                        "properties": {
                                                            "model": {
                                                                "type": "string"
                                                            },
                                                            "variant": {
                                                                "type": "string"
                                                            },
                                                            "tier": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "thinkingLevel": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "off",
                                                                    "on",
                                                                    "minimal",
                                                                    "low",
                                                                    "medium",
                                                                    "high",
                                                                    "xhigh",
                                                                    "max"
                                                                ]
                                                            },
                                                            "heygenAvatar": {
                                                                "type": "string"
                                                            },
                                                            "ratios": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "resolution": {
                                                                "type": "string"
                                                            },
                                                            "voiceId": {
                                                                "type": "string"
                                                            },
                                                            "customVoiceId": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "font": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "source": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "custom",
                                                                            "google"
                                                                        ]
                                                                    },
                                                                    "familyName": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "source",
                                                                    "familyName"
                                                                ]
                                                            },
                                                            "loras": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "id": {
                                                                            "type": "string"
                                                                        },
                                                                        "name": {
                                                                            "type": "string"
                                                                        },
                                                                        "weight": {
                                                                            "type": "number"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "id",
                                                                        "name",
                                                                        "weight"
                                                                    ]
                                                                }
                                                            },
                                                            "steps": {
                                                                "type": "number"
                                                            },
                                                            "guidanceScale": {
                                                                "type": "number"
                                                            }
                                                        },
                                                        "required": [
                                                            "model",
                                                            "variant"
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "textPrompt": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "outputAspectRatio": {
                                                        "type": "string",
                                                        "enum": [
                                                            "21:9",
                                                            "16:9",
                                                            "3:2",
                                                            "4:3",
                                                            "5:4",
                                                            "1:1",
                                                            "4:5",
                                                            "3:4",
                                                            "2:3",
                                                            "9:16",
                                                            "9:21",
                                                            null
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "outputDuration": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "exclusiveMinimum": true,
                                                        "nullable": true
                                                    },
                                                    "outputResolution": {
                                                        "oneOf": [
                                                            {
                                                                "type": "string",
                                                                "enum": [
                                                                    "360p",
                                                                    "480p",
                                                                    "540p",
                                                                    "580p",
                                                                    "720p",
                                                                    "1080p",
                                                                    "1440p",
                                                                    "2160p",
                                                                    "4k",
                                                                    "0.5K",
                                                                    "1K",
                                                                    "2K",
                                                                    "4K",
                                                                    "1k",
                                                                    "2k"
                                                                ]
                                                            },
                                                            {
                                                                "type": "string"
                                                            }
                                                        ]
                                                    },
                                                    "matchAudioToVideoDuration": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "seed": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "maximum": 2147483647,
                                                        "nullable": true
                                                    },
                                                    "negativePrompt": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "stitchClipOrder": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        },
                                                        "nullable": true
                                                    },
                                                    "stitchScaleFit": {
                                                        "type": "string",
                                                        "enum": [
                                                            "fit",
                                                            "stretch",
                                                            null
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "stitchAudioOverlays": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "nodeId": {
                                                                    "type": "string"
                                                                },
                                                                "startTimeSeconds": {
                                                                    "type": "number",
                                                                    "minimum": 0
                                                                },
                                                                "trimStartMs": {
                                                                    "type": "integer",
                                                                    "minimum": 0
                                                                },
                                                                "trimEndMs": {
                                                                    "type": "integer",
                                                                    "minimum": 0,
                                                                    "exclusiveMinimum": true
                                                                }
                                                            },
                                                            "required": [
                                                                "nodeId",
                                                                "startTimeSeconds"
                                                            ]
                                                        },
                                                        "nullable": true
                                                    },
                                                    "stitchClipTrims": {
                                                        "type": "object",
                                                        "additionalProperties": {
                                                            "type": "object",
                                                            "properties": {
                                                                "trimStartMs": {
                                                                    "type": "integer",
                                                                    "minimum": 0
                                                                },
                                                                "trimEndMs": {
                                                                    "type": "integer",
                                                                    "minimum": 0,
                                                                    "exclusiveMinimum": true
                                                                }
                                                            }
                                                        },
                                                        "nullable": true
                                                    },
                                                    "voiceId": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "customVoiceId": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "elevenLabsVoiceSettings": {
                                                        "type": "object",
                                                        "properties": {
                                                            "speed": {
                                                                "type": "number",
                                                                "minimum": 0.25,
                                                                "maximum": 4
                                                            },
                                                            "stability": {
                                                                "type": "number",
                                                                "minimum": 0,
                                                                "maximum": 1
                                                            },
                                                            "similarityBoost": {
                                                                "type": "number",
                                                                "minimum": 0,
                                                                "maximum": 1
                                                            },
                                                            "style": {
                                                                "type": "number",
                                                                "minimum": 0,
                                                                "maximum": 1
                                                            },
                                                            "speakerBoost": {
                                                                "type": "boolean"
                                                            },
                                                            "removeBackgroundNoise": {
                                                                "type": "boolean"
                                                            },
                                                            "outputFormat": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "mp3_44100_128",
                                                                    "mp3_44100_192",
                                                                    "mp3_22050_32",
                                                                    "pcm_16000",
                                                                    "pcm_22050",
                                                                    "pcm_24000",
                                                                    "pcm_44100"
                                                                ]
                                                            }
                                                        },
                                                        "nullable": true
                                                    },
                                                    "src": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "previewSrc": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "mediaType": {
                                                        "type": "string",
                                                        "enum": [
                                                            "image",
                                                            "video",
                                                            "audio",
                                                            "pdf",
                                                            null
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "generatedText": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "activeVersionId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "assetDurationInMs": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "nullable": true
                                                    },
                                                    "createdByUserId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "nodeType",
                                                    "geometry",
                                                    "groupId",
                                                    "title",
                                                    "modelConfig",
                                                    "textPrompt",
                                                    "outputAspectRatio",
                                                    "outputDuration",
                                                    "outputResolution",
                                                    "seed",
                                                    "negativePrompt",
                                                    "src",
                                                    "previewSrc",
                                                    "mediaType",
                                                    "generatedText",
                                                    "activeVersionId",
                                                    "assetDurationInMs",
                                                    "createdByUserId"
                                                ]
                                            }
                                        }
                                    },
                                    "required": ["nodes"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "409",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "summary": "Update nodes in bulk",
                "tags": ["node"],
                "parameters": [
                    {
                        "name": "canvasId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "node.bulkUpdate",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "nodes": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "title": {
                                                    "type": "string"
                                                },
                                                "nodeId": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "geometry": {
                                                    "type": "object",
                                                    "properties": {
                                                        "x": {
                                                            "type": "number"
                                                        },
                                                        "y": {
                                                            "type": "number"
                                                        },
                                                        "w": {
                                                            "type": "number"
                                                        },
                                                        "h": {
                                                            "type": "number"
                                                        },
                                                        "zIndex": {
                                                            "type": "number"
                                                        }
                                                    },
                                                    "required": [
                                                        "x",
                                                        "y",
                                                        "w",
                                                        "h"
                                                    ]
                                                },
                                                "nodeType": {
                                                    "type": "string",
                                                    "enum": [
                                                        "text",
                                                        "image",
                                                        "video",
                                                        "audio",
                                                        "file",
                                                        "group",
                                                        "custom_text",
                                                        "pdf",
                                                        "composite",
                                                        "stitch",
                                                        "magic_resize"
                                                    ]
                                                },
                                                "groupId": {
                                                    "type": "string",
                                                    "format": "uuid",
                                                    "nullable": true
                                                },
                                                "modelConfig": {
                                                    "type": "object",
                                                    "properties": {
                                                        "model": {
                                                            "type": "string"
                                                        },
                                                        "variant": {
                                                            "type": "string"
                                                        },
                                                        "tier": {
                                                            "type": "string",
                                                            "nullable": true
                                                        },
                                                        "thinkingLevel": {
                                                            "type": "string",
                                                            "enum": [
                                                                "off",
                                                                "on",
                                                                "minimal",
                                                                "low",
                                                                "medium",
                                                                "high",
                                                                "xhigh",
                                                                "max"
                                                            ]
                                                        },
                                                        "heygenAvatar": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "font": {
                                                            "type": "object",
                                                            "properties": {
                                                                "source": {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "custom",
                                                                        "google"
                                                                    ]
                                                                },
                                                                "familyName": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "required": [
                                                                "source",
                                                                "familyName"
                                                            ]
                                                        }
                                                    },
                                                    "required": [
                                                        "model",
                                                        "variant"
                                                    ],
                                                    "nullable": true
                                                },
                                                "textPrompt": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "text": {
                                                    "type": "string",
                                                    "maxLength": 100000
                                                },
                                                "outputAspectRatio": {
                                                    "type": "string",
                                                    "enum": [
                                                        "21:9",
                                                        "16:9",
                                                        "3:2",
                                                        "4:3",
                                                        "5:4",
                                                        "1:1",
                                                        "4:5",
                                                        "3:4",
                                                        "2:3",
                                                        "9:16",
                                                        "9:21",
                                                        null
                                                    ],
                                                    "nullable": true
                                                },
                                                "outputDuration": {
                                                    "type": "integer",
                                                    "minimum": 0,
                                                    "exclusiveMinimum": true,
                                                    "nullable": true
                                                },
                                                "outputResolution": {
                                                    "oneOf": [
                                                        {
                                                            "type": "string",
                                                            "enum": [
                                                                "360p",
                                                                "480p",
                                                                "540p",
                                                                "580p",
                                                                "720p",
                                                                "1080p",
                                                                "1440p",
                                                                "2160p",
                                                                "4k",
                                                                "0.5K",
                                                                "1K",
                                                                "2K",
                                                                "4K",
                                                                "1k",
                                                                "2k"
                                                            ]
                                                        },
                                                        {
                                                            "type": "string"
                                                        }
                                                    ]
                                                },
                                                "matchAudioToVideoDuration": {
                                                    "type": "boolean",
                                                    "nullable": true
                                                },
                                                "seed": {
                                                    "type": "integer",
                                                    "minimum": 0,
                                                    "maximum": 2147483647,
                                                    "nullable": true
                                                },
                                                "negativePrompt": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "stitchClipOrder": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    },
                                                    "nullable": true
                                                },
                                                "stitchScaleFit": {
                                                    "type": "string",
                                                    "enum": [
                                                        "fit",
                                                        "stretch",
                                                        null
                                                    ],
                                                    "nullable": true
                                                },
                                                "stitchAudioOverlays": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "nodeId": {
                                                                "type": "string"
                                                            },
                                                            "startTimeSeconds": {
                                                                "type": "number",
                                                                "minimum": 0
                                                            },
                                                            "trimStartMs": {
                                                                "type": "integer",
                                                                "minimum": 0
                                                            },
                                                            "trimEndMs": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "exclusiveMinimum": true
                                                            }
                                                        },
                                                        "required": [
                                                            "nodeId",
                                                            "startTimeSeconds"
                                                        ]
                                                    },
                                                    "nullable": true
                                                },
                                                "stitchClipTrims": {
                                                    "type": "object",
                                                    "additionalProperties": {
                                                        "type": "object",
                                                        "properties": {
                                                            "trimStartMs": {
                                                                "type": "integer",
                                                                "minimum": 0
                                                            },
                                                            "trimEndMs": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "exclusiveMinimum": true
                                                            }
                                                        }
                                                    },
                                                    "nullable": true
                                                },
                                                "voiceId": {
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "nullable": true
                                                },
                                                "customVoiceId": {
                                                    "type": "string",
                                                    "format": "uuid",
                                                    "nullable": true
                                                }
                                            },
                                            "required": ["nodeId"]
                                        },
                                        "minItems": 1,
                                        "maxItems": 200
                                    }
                                },
                                "required": ["nodes"]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "nodes": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "title": {
                                                        "type": "string"
                                                    },
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "nodeType": {
                                                        "type": "string",
                                                        "enum": [
                                                            "text",
                                                            "image",
                                                            "video",
                                                            "audio",
                                                            "file",
                                                            "group",
                                                            "custom_text",
                                                            "pdf",
                                                            "composite",
                                                            "stitch",
                                                            "magic_resize"
                                                        ]
                                                    },
                                                    "geometry": {
                                                        "type": "object",
                                                        "properties": {
                                                            "x": {
                                                                "type": "number"
                                                            },
                                                            "y": {
                                                                "type": "number"
                                                            },
                                                            "w": {
                                                                "type": "number"
                                                            },
                                                            "h": {
                                                                "type": "number"
                                                            },
                                                            "zIndex": {
                                                                "type": "number"
                                                            }
                                                        },
                                                        "required": [
                                                            "x",
                                                            "y",
                                                            "w",
                                                            "h"
                                                        ]
                                                    },
                                                    "groupId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "autoModel": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "fastModel": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "modelConfig": {
                                                        "type": "object",
                                                        "properties": {
                                                            "model": {
                                                                "type": "string"
                                                            },
                                                            "variant": {
                                                                "type": "string"
                                                            },
                                                            "tier": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "thinkingLevel": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "off",
                                                                    "on",
                                                                    "minimal",
                                                                    "low",
                                                                    "medium",
                                                                    "high",
                                                                    "xhigh",
                                                                    "max"
                                                                ]
                                                            },
                                                            "heygenAvatar": {
                                                                "type": "string"
                                                            },
                                                            "ratios": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "resolution": {
                                                                "type": "string"
                                                            },
                                                            "voiceId": {
                                                                "type": "string"
                                                            },
                                                            "customVoiceId": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "font": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "source": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "custom",
                                                                            "google"
                                                                        ]
                                                                    },
                                                                    "familyName": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "source",
                                                                    "familyName"
                                                                ]
                                                            },
                                                            "loras": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "id": {
                                                                            "type": "string"
                                                                        },
                                                                        "name": {
                                                                            "type": "string"
                                                                        },
                                                                        "weight": {
                                                                            "type": "number"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "id",
                                                                        "name",
                                                                        "weight"
                                                                    ]
                                                                }
                                                            },
                                                            "steps": {
                                                                "type": "number"
                                                            },
                                                            "guidanceScale": {
                                                                "type": "number"
                                                            }
                                                        },
                                                        "required": [
                                                            "model",
                                                            "variant"
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "textPrompt": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "outputAspectRatio": {
                                                        "type": "string",
                                                        "enum": [
                                                            "21:9",
                                                            "16:9",
                                                            "3:2",
                                                            "4:3",
                                                            "5:4",
                                                            "1:1",
                                                            "4:5",
                                                            "3:4",
                                                            "2:3",
                                                            "9:16",
                                                            "9:21",
                                                            null
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "outputDuration": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "exclusiveMinimum": true,
                                                        "nullable": true
                                                    },
                                                    "outputResolution": {
                                                        "oneOf": [
                                                            {
                                                                "type": "string",
                                                                "enum": [
                                                                    "360p",
                                                                    "480p",
                                                                    "540p",
                                                                    "580p",
                                                                    "720p",
                                                                    "1080p",
                                                                    "1440p",
                                                                    "2160p",
                                                                    "4k",
                                                                    "0.5K",
                                                                    "1K",
                                                                    "2K",
                                                                    "4K",
                                                                    "1k",
                                                                    "2k"
                                                                ]
                                                            },
                                                            {
                                                                "type": "string"
                                                            }
                                                        ]
                                                    },
                                                    "matchAudioToVideoDuration": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "seed": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "maximum": 2147483647,
                                                        "nullable": true
                                                    },
                                                    "negativePrompt": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "stitchClipOrder": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        },
                                                        "nullable": true
                                                    },
                                                    "stitchScaleFit": {
                                                        "type": "string",
                                                        "enum": [
                                                            "fit",
                                                            "stretch",
                                                            null
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "stitchAudioOverlays": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "nodeId": {
                                                                    "type": "string"
                                                                },
                                                                "startTimeSeconds": {
                                                                    "type": "number",
                                                                    "minimum": 0
                                                                },
                                                                "trimStartMs": {
                                                                    "type": "integer",
                                                                    "minimum": 0
                                                                },
                                                                "trimEndMs": {
                                                                    "type": "integer",
                                                                    "minimum": 0,
                                                                    "exclusiveMinimum": true
                                                                }
                                                            },
                                                            "required": [
                                                                "nodeId",
                                                                "startTimeSeconds"
                                                            ]
                                                        },
                                                        "nullable": true
                                                    },
                                                    "stitchClipTrims": {
                                                        "type": "object",
                                                        "additionalProperties": {
                                                            "type": "object",
                                                            "properties": {
                                                                "trimStartMs": {
                                                                    "type": "integer",
                                                                    "minimum": 0
                                                                },
                                                                "trimEndMs": {
                                                                    "type": "integer",
                                                                    "minimum": 0,
                                                                    "exclusiveMinimum": true
                                                                }
                                                            }
                                                        },
                                                        "nullable": true
                                                    },
                                                    "voiceId": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "customVoiceId": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "elevenLabsVoiceSettings": {
                                                        "type": "object",
                                                        "properties": {
                                                            "speed": {
                                                                "type": "number",
                                                                "minimum": 0.25,
                                                                "maximum": 4
                                                            },
                                                            "stability": {
                                                                "type": "number",
                                                                "minimum": 0,
                                                                "maximum": 1
                                                            },
                                                            "similarityBoost": {
                                                                "type": "number",
                                                                "minimum": 0,
                                                                "maximum": 1
                                                            },
                                                            "style": {
                                                                "type": "number",
                                                                "minimum": 0,
                                                                "maximum": 1
                                                            },
                                                            "speakerBoost": {
                                                                "type": "boolean"
                                                            },
                                                            "removeBackgroundNoise": {
                                                                "type": "boolean"
                                                            },
                                                            "outputFormat": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "mp3_44100_128",
                                                                    "mp3_44100_192",
                                                                    "mp3_22050_32",
                                                                    "pcm_16000",
                                                                    "pcm_22050",
                                                                    "pcm_24000",
                                                                    "pcm_44100"
                                                                ]
                                                            }
                                                        },
                                                        "nullable": true
                                                    },
                                                    "src": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "previewSrc": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "mediaType": {
                                                        "type": "string",
                                                        "enum": [
                                                            "image",
                                                            "video",
                                                            "audio",
                                                            "pdf",
                                                            null
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "generatedText": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "activeVersionId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "assetDurationInMs": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "nullable": true
                                                    },
                                                    "createdByUserId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "nodeType",
                                                    "geometry",
                                                    "groupId",
                                                    "title",
                                                    "modelConfig",
                                                    "textPrompt",
                                                    "outputAspectRatio",
                                                    "outputDuration",
                                                    "outputResolution",
                                                    "seed",
                                                    "negativePrompt",
                                                    "src",
                                                    "previewSrc",
                                                    "mediaType",
                                                    "generatedText",
                                                    "activeVersionId",
                                                    "assetDurationInMs",
                                                    "createdByUserId"
                                                ]
                                            }
                                        }
                                    },
                                    "required": ["nodes"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "409",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/canvases/{canvasId}/direct/nodes/bulk-delete": {
            "post": {
                "summary": "Delete nodes in bulk",
                "tags": ["node"],
                "parameters": [
                    {
                        "name": "canvasId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "node.bulkDelete",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "nodeIds": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "minItems": 2,
                                        "maxItems": 5000
                                    },
                                    "confirmed": {
                                        "type": "boolean"
                                    }
                                },
                                "required": ["nodeIds"]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": ["Deleted"]
                                        },
                                        "nodeIds": {
                                            "type": "array",
                                            "items": {
                                                "type": "string",
                                                "format": "uuid"
                                            }
                                        }
                                    },
                                    "required": ["message", "nodeIds"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "409",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "generatedNodeIds": {
                                            "type": "array",
                                            "items": {
                                                "type": "string",
                                                "format": "uuid"
                                            }
                                        }
                                    },
                                    "required": ["message", "generatedNodeIds"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/nodes/{nodeId}/custom-text": {
            "put": {
                "summary": "Set node text",
                "tags": ["node"],
                "parameters": [
                    {
                        "name": "nodeId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "node.setText",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "text": {
                                        "type": "string",
                                        "maxLength": 100000
                                    }
                                },
                                "required": ["text"]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "title": {
                                            "type": "string"
                                        },
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "nodeType": {
                                            "type": "string",
                                            "enum": [
                                                "text",
                                                "image",
                                                "video",
                                                "audio",
                                                "file",
                                                "group",
                                                "custom_text",
                                                "pdf",
                                                "composite",
                                                "stitch",
                                                "magic_resize"
                                            ]
                                        },
                                        "geometry": {
                                            "type": "object",
                                            "properties": {
                                                "x": {
                                                    "type": "number"
                                                },
                                                "y": {
                                                    "type": "number"
                                                },
                                                "w": {
                                                    "type": "number"
                                                },
                                                "h": {
                                                    "type": "number"
                                                },
                                                "zIndex": {
                                                    "type": "number"
                                                }
                                            },
                                            "required": ["x", "y", "w", "h"]
                                        },
                                        "groupId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "autoModel": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "fastModel": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "activeVersionId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "generatedText": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "textPrompt": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "modelConfig": {
                                            "type": "object",
                                            "properties": {
                                                "model": {
                                                    "type": "string"
                                                },
                                                "variant": {
                                                    "type": "string"
                                                },
                                                "tier": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "thinkingLevel": {
                                                    "type": "string",
                                                    "enum": [
                                                        "off",
                                                        "on",
                                                        "minimal",
                                                        "low",
                                                        "medium",
                                                        "high",
                                                        "xhigh",
                                                        "max"
                                                    ]
                                                },
                                                "heygenAvatar": {
                                                    "type": "string"
                                                },
                                                "ratios": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "resolution": {
                                                    "type": "string"
                                                },
                                                "voiceId": {
                                                    "type": "string"
                                                },
                                                "customVoiceId": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "font": {
                                                    "type": "object",
                                                    "properties": {
                                                        "source": {
                                                            "type": "string",
                                                            "enum": [
                                                                "custom",
                                                                "google"
                                                            ]
                                                        },
                                                        "familyName": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "required": [
                                                        "source",
                                                        "familyName"
                                                    ]
                                                },
                                                "loras": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "id": {
                                                                "type": "string"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            },
                                                            "weight": {
                                                                "type": "number"
                                                            }
                                                        },
                                                        "required": [
                                                            "id",
                                                            "name",
                                                            "weight"
                                                        ]
                                                    }
                                                },
                                                "steps": {
                                                    "type": "number"
                                                },
                                                "guidanceScale": {
                                                    "type": "number"
                                                }
                                            },
                                            "required": ["model", "variant"],
                                            "nullable": true
                                        },
                                        "outputAspectRatio": {
                                            "type": "string",
                                            "enum": [
                                                "21:9",
                                                "16:9",
                                                "3:2",
                                                "4:3",
                                                "5:4",
                                                "1:1",
                                                "4:5",
                                                "3:4",
                                                "2:3",
                                                "9:16",
                                                "9:21",
                                                null
                                            ],
                                            "nullable": true
                                        },
                                        "outputDuration": {
                                            "type": "integer",
                                            "minimum": 0,
                                            "exclusiveMinimum": true,
                                            "nullable": true
                                        },
                                        "outputResolution": {
                                            "oneOf": [
                                                {
                                                    "type": "string",
                                                    "enum": [
                                                        "360p",
                                                        "480p",
                                                        "540p",
                                                        "580p",
                                                        "720p",
                                                        "1080p",
                                                        "1440p",
                                                        "2160p",
                                                        "4k",
                                                        "0.5K",
                                                        "1K",
                                                        "2K",
                                                        "4K",
                                                        "1k",
                                                        "2k"
                                                    ]
                                                },
                                                {
                                                    "type": "string"
                                                }
                                            ]
                                        },
                                        "seed": {
                                            "type": "integer",
                                            "minimum": 0,
                                            "maximum": 2147483647,
                                            "nullable": true
                                        },
                                        "generateAudio": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "modelSupportsEndImage": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "modelSupportsReferenceImage": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "modelSupportsOptionalStartImage": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "modelSupportsAudioInput": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "modelGeneratesAudio": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "voiceId": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "customVoiceId": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "negativePrompt": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "supportedInputs": {
                                            "type": "array",
                                            "items": {
                                                "type": "string",
                                                "enum": ["image", "video"]
                                            },
                                            "nullable": true
                                        },
                                        "stitchClipOrder": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            },
                                            "nullable": true
                                        },
                                        "stitchScaleFit": {
                                            "type": "string",
                                            "enum": ["fit", "stretch", null],
                                            "nullable": true
                                        },
                                        "stitchAudioOverlays": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "nodeId": {
                                                        "type": "string"
                                                    },
                                                    "startTimeSeconds": {
                                                        "type": "number",
                                                        "minimum": 0
                                                    },
                                                    "trimStartMs": {
                                                        "type": "integer",
                                                        "minimum": 0
                                                    },
                                                    "trimEndMs": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "exclusiveMinimum": true
                                                    }
                                                },
                                                "required": [
                                                    "nodeId",
                                                    "startTimeSeconds"
                                                ]
                                            },
                                            "nullable": true
                                        },
                                        "stitchClipTrims": {
                                            "type": "object",
                                            "additionalProperties": {
                                                "type": "object",
                                                "properties": {
                                                    "trimStartMs": {
                                                        "type": "integer",
                                                        "minimum": 0
                                                    },
                                                    "trimEndMs": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "exclusiveMinimum": true
                                                    }
                                                }
                                            },
                                            "nullable": true
                                        },
                                        "groupType": {
                                            "type": "string",
                                            "enum": [
                                                "default",
                                                "unified",
                                                "template",
                                                null
                                            ],
                                            "nullable": true
                                        },
                                        "templatePorts": {
                                            "type": "array",
                                            "items": {
                                                "oneOf": [
                                                    {
                                                        "type": "object",
                                                        "properties": {
                                                            "required": {
                                                                "type": "boolean"
                                                            },
                                                            "direction": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "input"
                                                                ]
                                                            },
                                                            "maxConnections": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "exclusiveMinimum": true
                                                            },
                                                            "locked": {
                                                                "type": "boolean"
                                                            },
                                                            "internalTargets": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "nodeId": {
                                                                            "type": "string",
                                                                            "format": "uuid"
                                                                        },
                                                                        "internalHandle": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "nodeId",
                                                                        "internalHandle"
                                                                    ]
                                                                }
                                                            },
                                                            "connectedSourceIds": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "portId": {
                                                                "type": "string"
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "handleType": {
                                                                "type": "string"
                                                            },
                                                            "nodeId": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "internalHandle": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "top": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "required": [
                                                            "direction",
                                                            "portId",
                                                            "label",
                                                            "handleType",
                                                            "nodeId",
                                                            "internalHandle"
                                                        ]
                                                    },
                                                    {
                                                        "type": "object",
                                                        "properties": {
                                                            "direction": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "output"
                                                                ]
                                                            },
                                                            "layerIndex": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "portId": {
                                                                "type": "string"
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "handleType": {
                                                                "type": "string"
                                                            },
                                                            "nodeId": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "internalHandle": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "top": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "required": [
                                                            "direction",
                                                            "portId",
                                                            "label",
                                                            "handleType",
                                                            "nodeId",
                                                            "internalHandle"
                                                        ]
                                                    }
                                                ]
                                            },
                                            "nullable": true
                                        },
                                        "templateId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "isExpandable": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "childNodeIds": {
                                            "type": "array",
                                            "items": {
                                                "type": "string",
                                                "format": "uuid"
                                            }
                                        },
                                        "magicResizeOutputs": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "layerIndex": {
                                                        "type": "integer"
                                                    },
                                                    "ratio": {
                                                        "type": "string"
                                                    },
                                                    "assetId": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "assetUrl": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "previewUrl": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "failed": {
                                                        "type": "boolean"
                                                    },
                                                    "errorMessage": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "errorSeverity": {
                                                        "type": "string",
                                                        "enum": [
                                                            "error",
                                                            "warning",
                                                            null
                                                        ],
                                                        "nullable": true
                                                    }
                                                },
                                                "required": [
                                                    "layerIndex",
                                                    "ratio",
                                                    "assetId",
                                                    "assetUrl",
                                                    "previewUrl"
                                                ]
                                            },
                                            "nullable": true
                                        },
                                        "createdByUserId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "versions": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "title": {
                                                        "type": "string"
                                                    },
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "modelConfig": {
                                                        "type": "object",
                                                        "properties": {
                                                            "model": {
                                                                "type": "string"
                                                            },
                                                            "variant": {
                                                                "type": "string"
                                                            },
                                                            "tier": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "thinkingLevel": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "off",
                                                                    "on",
                                                                    "minimal",
                                                                    "low",
                                                                    "medium",
                                                                    "high",
                                                                    "xhigh",
                                                                    "max"
                                                                ]
                                                            },
                                                            "heygenAvatar": {
                                                                "type": "string"
                                                            },
                                                            "ratios": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "resolution": {
                                                                "type": "string"
                                                            },
                                                            "voiceId": {
                                                                "type": "string"
                                                            },
                                                            "customVoiceId": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "font": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "source": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "custom",
                                                                            "google"
                                                                        ]
                                                                    },
                                                                    "familyName": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "source",
                                                                    "familyName"
                                                                ]
                                                            },
                                                            "loras": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "id": {
                                                                            "type": "string"
                                                                        },
                                                                        "name": {
                                                                            "type": "string"
                                                                        },
                                                                        "weight": {
                                                                            "type": "number"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "id",
                                                                        "name",
                                                                        "weight"
                                                                    ]
                                                                }
                                                            },
                                                            "steps": {
                                                                "type": "number"
                                                            },
                                                            "guidanceScale": {
                                                                "type": "number"
                                                            }
                                                        },
                                                        "required": [
                                                            "model",
                                                            "variant"
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "sourceToolName": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "seed": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "maximum": 2147483647,
                                                        "nullable": true
                                                    },
                                                    "generateAudio": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "negativePrompt": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "outputAspectRatio": {
                                                        "type": "string",
                                                        "enum": [
                                                            "21:9",
                                                            "16:9",
                                                            "3:2",
                                                            "4:3",
                                                            "5:4",
                                                            "1:1",
                                                            "4:5",
                                                            "3:4",
                                                            "2:3",
                                                            "9:16",
                                                            "9:21",
                                                            null
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "outputDuration": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "exclusiveMinimum": true,
                                                        "nullable": true
                                                    },
                                                    "outputResolution": {
                                                        "oneOf": [
                                                            {
                                                                "type": "string",
                                                                "enum": [
                                                                    "360p",
                                                                    "480p",
                                                                    "540p",
                                                                    "580p",
                                                                    "720p",
                                                                    "1080p",
                                                                    "1440p",
                                                                    "2160p",
                                                                    "4k",
                                                                    "0.5K",
                                                                    "1K",
                                                                    "2K",
                                                                    "4K",
                                                                    "1k",
                                                                    "2k"
                                                                ]
                                                            },
                                                            {
                                                                "type": "string"
                                                            }
                                                        ]
                                                    },
                                                    "textPrompt": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "generatedText": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "modelDisplayName": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "asset": {
                                                        "type": "object",
                                                        "properties": {
                                                            "assetId": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "url": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "originalUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewExtraLowResolutionUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewLowResolutionUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewHighResolutionUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "thumbnailUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "mediaType": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "image",
                                                                    "video",
                                                                    "audio",
                                                                    "pdf",
                                                                    null
                                                                ],
                                                                "nullable": true
                                                            },
                                                            "assetSummary": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "assetSummaryDetails": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "subject": {
                                                                        "type": "string",
                                                                        "nullable": true
                                                                    },
                                                                    "action": {
                                                                        "type": "string",
                                                                        "nullable": true
                                                                    },
                                                                    "summary": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "subject",
                                                                    "action",
                                                                    "summary"
                                                                ],
                                                                "nullable": true
                                                            },
                                                            "fileType": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "fileSizeInKb": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "originalWidth": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "originalHeight": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "durationInMs": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "originalUrl",
                                                            "previewUrl",
                                                            "mediaType",
                                                            "fileType",
                                                            "fileSizeInKb",
                                                            "originalWidth",
                                                            "originalHeight",
                                                            "durationInMs"
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "toolInputAsset": {
                                                        "type": "object",
                                                        "properties": {
                                                            "assetId": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "url": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "originalUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewExtraLowResolutionUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewLowResolutionUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewHighResolutionUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "thumbnailUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "mediaType": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "image",
                                                                    "video",
                                                                    "audio",
                                                                    "pdf",
                                                                    null
                                                                ],
                                                                "nullable": true
                                                            },
                                                            "assetSummary": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "assetSummaryDetails": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "subject": {
                                                                        "type": "string",
                                                                        "nullable": true
                                                                    },
                                                                    "action": {
                                                                        "type": "string",
                                                                        "nullable": true
                                                                    },
                                                                    "summary": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "subject",
                                                                    "action",
                                                                    "summary"
                                                                ],
                                                                "nullable": true
                                                            },
                                                            "fileType": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "fileSizeInKb": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "originalWidth": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "originalHeight": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "durationInMs": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "originalUrl",
                                                            "previewUrl",
                                                            "mediaType",
                                                            "fileType",
                                                            "fileSizeInKb",
                                                            "originalWidth",
                                                            "originalHeight",
                                                            "durationInMs"
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "pdfExtraction": {
                                                        "type": "object",
                                                        "properties": {
                                                            "summaryText": {
                                                                "type": "string"
                                                            },
                                                            "extractedImages": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "assetId": {
                                                                            "type": "string",
                                                                            "format": "uuid"
                                                                        },
                                                                        "url": {
                                                                            "type": "string"
                                                                        },
                                                                        "pageIndex": {
                                                                            "type": "integer",
                                                                            "minimum": 0
                                                                        },
                                                                        "imageIndex": {
                                                                            "type": "integer",
                                                                            "minimum": 0
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "assetId",
                                                                        "url",
                                                                        "pageIndex",
                                                                        "imageIndex"
                                                                    ]
                                                                }
                                                            },
                                                            "extractedImageUrls": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "extractedImageCount": {
                                                                "type": "integer"
                                                            }
                                                        },
                                                        "required": [
                                                            "summaryText",
                                                            "extractedImages",
                                                            "extractedImageUrls",
                                                            "extractedImageCount"
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "nodeRunId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "layerCount": {
                                                        "type": "integer",
                                                        "minimum": 0
                                                    },
                                                    "errorMessage": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "errorSeverity": {
                                                        "type": "string",
                                                        "enum": [
                                                            "error",
                                                            "warning",
                                                            null
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "errorRetryable": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "favoritedByUserId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "createdAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "updatedAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "title",
                                                    "modelConfig",
                                                    "sourceToolName",
                                                    "seed",
                                                    "generateAudio",
                                                    "negativePrompt",
                                                    "outputAspectRatio",
                                                    "outputDuration",
                                                    "outputResolution",
                                                    "textPrompt",
                                                    "generatedText",
                                                    "asset",
                                                    "layerCount",
                                                    "errorMessage",
                                                    "errorSeverity",
                                                    "favoritedByUserId",
                                                    "createdAt",
                                                    "updatedAt"
                                                ]
                                            }
                                        },
                                        "createdAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "updatedAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "nodeType",
                                        "geometry",
                                        "groupId",
                                        "activeVersionId",
                                        "generatedText",
                                        "versions",
                                        "createdAt",
                                        "updatedAt"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "400",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/nodes/{nodeId}/set-version": {
            "post": {
                "summary": "Set the active node version",
                "tags": ["node"],
                "parameters": [
                    {
                        "name": "nodeId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "node.setVersion",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "versionId": {
                                        "type": "string",
                                        "format": "uuid"
                                    }
                                },
                                "required": ["versionId"]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "title": {
                                            "type": "string"
                                        },
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "nodeType": {
                                            "type": "string",
                                            "enum": [
                                                "text",
                                                "image",
                                                "video",
                                                "audio",
                                                "file",
                                                "group",
                                                "custom_text",
                                                "pdf",
                                                "composite",
                                                "stitch",
                                                "magic_resize"
                                            ]
                                        },
                                        "geometry": {
                                            "type": "object",
                                            "properties": {
                                                "x": {
                                                    "type": "number"
                                                },
                                                "y": {
                                                    "type": "number"
                                                },
                                                "w": {
                                                    "type": "number"
                                                },
                                                "h": {
                                                    "type": "number"
                                                },
                                                "zIndex": {
                                                    "type": "number"
                                                }
                                            },
                                            "required": ["x", "y", "w", "h"]
                                        },
                                        "groupId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "autoModel": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "fastModel": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "activeVersionId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "generatedText": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "textPrompt": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "modelConfig": {
                                            "type": "object",
                                            "properties": {
                                                "model": {
                                                    "type": "string"
                                                },
                                                "variant": {
                                                    "type": "string"
                                                },
                                                "tier": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "thinkingLevel": {
                                                    "type": "string",
                                                    "enum": [
                                                        "off",
                                                        "on",
                                                        "minimal",
                                                        "low",
                                                        "medium",
                                                        "high",
                                                        "xhigh",
                                                        "max"
                                                    ]
                                                },
                                                "heygenAvatar": {
                                                    "type": "string"
                                                },
                                                "ratios": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "resolution": {
                                                    "type": "string"
                                                },
                                                "voiceId": {
                                                    "type": "string"
                                                },
                                                "customVoiceId": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "font": {
                                                    "type": "object",
                                                    "properties": {
                                                        "source": {
                                                            "type": "string",
                                                            "enum": [
                                                                "custom",
                                                                "google"
                                                            ]
                                                        },
                                                        "familyName": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "required": [
                                                        "source",
                                                        "familyName"
                                                    ]
                                                },
                                                "loras": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "id": {
                                                                "type": "string"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            },
                                                            "weight": {
                                                                "type": "number"
                                                            }
                                                        },
                                                        "required": [
                                                            "id",
                                                            "name",
                                                            "weight"
                                                        ]
                                                    }
                                                },
                                                "steps": {
                                                    "type": "number"
                                                },
                                                "guidanceScale": {
                                                    "type": "number"
                                                }
                                            },
                                            "required": ["model", "variant"],
                                            "nullable": true
                                        },
                                        "outputAspectRatio": {
                                            "type": "string",
                                            "enum": [
                                                "21:9",
                                                "16:9",
                                                "3:2",
                                                "4:3",
                                                "5:4",
                                                "1:1",
                                                "4:5",
                                                "3:4",
                                                "2:3",
                                                "9:16",
                                                "9:21",
                                                null
                                            ],
                                            "nullable": true
                                        },
                                        "outputDuration": {
                                            "type": "integer",
                                            "minimum": 0,
                                            "exclusiveMinimum": true,
                                            "nullable": true
                                        },
                                        "outputResolution": {
                                            "oneOf": [
                                                {
                                                    "type": "string",
                                                    "enum": [
                                                        "360p",
                                                        "480p",
                                                        "540p",
                                                        "580p",
                                                        "720p",
                                                        "1080p",
                                                        "1440p",
                                                        "2160p",
                                                        "4k",
                                                        "0.5K",
                                                        "1K",
                                                        "2K",
                                                        "4K",
                                                        "1k",
                                                        "2k"
                                                    ]
                                                },
                                                {
                                                    "type": "string"
                                                }
                                            ]
                                        },
                                        "seed": {
                                            "type": "integer",
                                            "minimum": 0,
                                            "maximum": 2147483647,
                                            "nullable": true
                                        },
                                        "generateAudio": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "modelSupportsEndImage": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "modelSupportsReferenceImage": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "modelSupportsOptionalStartImage": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "modelSupportsAudioInput": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "modelGeneratesAudio": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "voiceId": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "customVoiceId": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "negativePrompt": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "supportedInputs": {
                                            "type": "array",
                                            "items": {
                                                "type": "string",
                                                "enum": ["image", "video"]
                                            },
                                            "nullable": true
                                        },
                                        "stitchClipOrder": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            },
                                            "nullable": true
                                        },
                                        "stitchScaleFit": {
                                            "type": "string",
                                            "enum": ["fit", "stretch", null],
                                            "nullable": true
                                        },
                                        "stitchAudioOverlays": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "nodeId": {
                                                        "type": "string"
                                                    },
                                                    "startTimeSeconds": {
                                                        "type": "number",
                                                        "minimum": 0
                                                    },
                                                    "trimStartMs": {
                                                        "type": "integer",
                                                        "minimum": 0
                                                    },
                                                    "trimEndMs": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "exclusiveMinimum": true
                                                    }
                                                },
                                                "required": [
                                                    "nodeId",
                                                    "startTimeSeconds"
                                                ]
                                            },
                                            "nullable": true
                                        },
                                        "stitchClipTrims": {
                                            "type": "object",
                                            "additionalProperties": {
                                                "type": "object",
                                                "properties": {
                                                    "trimStartMs": {
                                                        "type": "integer",
                                                        "minimum": 0
                                                    },
                                                    "trimEndMs": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "exclusiveMinimum": true
                                                    }
                                                }
                                            },
                                            "nullable": true
                                        },
                                        "groupType": {
                                            "type": "string",
                                            "enum": [
                                                "default",
                                                "unified",
                                                "template",
                                                null
                                            ],
                                            "nullable": true
                                        },
                                        "templatePorts": {
                                            "type": "array",
                                            "items": {
                                                "oneOf": [
                                                    {
                                                        "type": "object",
                                                        "properties": {
                                                            "required": {
                                                                "type": "boolean"
                                                            },
                                                            "direction": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "input"
                                                                ]
                                                            },
                                                            "maxConnections": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "exclusiveMinimum": true
                                                            },
                                                            "locked": {
                                                                "type": "boolean"
                                                            },
                                                            "internalTargets": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "nodeId": {
                                                                            "type": "string",
                                                                            "format": "uuid"
                                                                        },
                                                                        "internalHandle": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "nodeId",
                                                                        "internalHandle"
                                                                    ]
                                                                }
                                                            },
                                                            "connectedSourceIds": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "portId": {
                                                                "type": "string"
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "handleType": {
                                                                "type": "string"
                                                            },
                                                            "nodeId": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "internalHandle": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "top": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "required": [
                                                            "direction",
                                                            "portId",
                                                            "label",
                                                            "handleType",
                                                            "nodeId",
                                                            "internalHandle"
                                                        ]
                                                    },
                                                    {
                                                        "type": "object",
                                                        "properties": {
                                                            "direction": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "output"
                                                                ]
                                                            },
                                                            "layerIndex": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "portId": {
                                                                "type": "string"
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "handleType": {
                                                                "type": "string"
                                                            },
                                                            "nodeId": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "internalHandle": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "top": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "required": [
                                                            "direction",
                                                            "portId",
                                                            "label",
                                                            "handleType",
                                                            "nodeId",
                                                            "internalHandle"
                                                        ]
                                                    }
                                                ]
                                            },
                                            "nullable": true
                                        },
                                        "templateId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "isExpandable": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "childNodeIds": {
                                            "type": "array",
                                            "items": {
                                                "type": "string",
                                                "format": "uuid"
                                            }
                                        },
                                        "magicResizeOutputs": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "layerIndex": {
                                                        "type": "integer"
                                                    },
                                                    "ratio": {
                                                        "type": "string"
                                                    },
                                                    "assetId": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "assetUrl": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "previewUrl": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "failed": {
                                                        "type": "boolean"
                                                    },
                                                    "errorMessage": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "errorSeverity": {
                                                        "type": "string",
                                                        "enum": [
                                                            "error",
                                                            "warning",
                                                            null
                                                        ],
                                                        "nullable": true
                                                    }
                                                },
                                                "required": [
                                                    "layerIndex",
                                                    "ratio",
                                                    "assetId",
                                                    "assetUrl",
                                                    "previewUrl"
                                                ]
                                            },
                                            "nullable": true
                                        },
                                        "createdByUserId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "versions": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "title": {
                                                        "type": "string"
                                                    },
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "modelConfig": {
                                                        "type": "object",
                                                        "properties": {
                                                            "model": {
                                                                "type": "string"
                                                            },
                                                            "variant": {
                                                                "type": "string"
                                                            },
                                                            "tier": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "thinkingLevel": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "off",
                                                                    "on",
                                                                    "minimal",
                                                                    "low",
                                                                    "medium",
                                                                    "high",
                                                                    "xhigh",
                                                                    "max"
                                                                ]
                                                            },
                                                            "heygenAvatar": {
                                                                "type": "string"
                                                            },
                                                            "ratios": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "resolution": {
                                                                "type": "string"
                                                            },
                                                            "voiceId": {
                                                                "type": "string"
                                                            },
                                                            "customVoiceId": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "font": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "source": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "custom",
                                                                            "google"
                                                                        ]
                                                                    },
                                                                    "familyName": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "source",
                                                                    "familyName"
                                                                ]
                                                            },
                                                            "loras": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "id": {
                                                                            "type": "string"
                                                                        },
                                                                        "name": {
                                                                            "type": "string"
                                                                        },
                                                                        "weight": {
                                                                            "type": "number"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "id",
                                                                        "name",
                                                                        "weight"
                                                                    ]
                                                                }
                                                            },
                                                            "steps": {
                                                                "type": "number"
                                                            },
                                                            "guidanceScale": {
                                                                "type": "number"
                                                            }
                                                        },
                                                        "required": [
                                                            "model",
                                                            "variant"
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "sourceToolName": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "seed": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "maximum": 2147483647,
                                                        "nullable": true
                                                    },
                                                    "generateAudio": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "negativePrompt": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "outputAspectRatio": {
                                                        "type": "string",
                                                        "enum": [
                                                            "21:9",
                                                            "16:9",
                                                            "3:2",
                                                            "4:3",
                                                            "5:4",
                                                            "1:1",
                                                            "4:5",
                                                            "3:4",
                                                            "2:3",
                                                            "9:16",
                                                            "9:21",
                                                            null
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "outputDuration": {
                                                        "type": "integer",
                                                        "minimum": 0,
                                                        "exclusiveMinimum": true,
                                                        "nullable": true
                                                    },
                                                    "outputResolution": {
                                                        "oneOf": [
                                                            {
                                                                "type": "string",
                                                                "enum": [
                                                                    "360p",
                                                                    "480p",
                                                                    "540p",
                                                                    "580p",
                                                                    "720p",
                                                                    "1080p",
                                                                    "1440p",
                                                                    "2160p",
                                                                    "4k",
                                                                    "0.5K",
                                                                    "1K",
                                                                    "2K",
                                                                    "4K",
                                                                    "1k",
                                                                    "2k"
                                                                ]
                                                            },
                                                            {
                                                                "type": "string"
                                                            }
                                                        ]
                                                    },
                                                    "textPrompt": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "generatedText": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "modelDisplayName": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "asset": {
                                                        "type": "object",
                                                        "properties": {
                                                            "assetId": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "url": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "originalUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewExtraLowResolutionUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewLowResolutionUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewHighResolutionUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "thumbnailUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "mediaType": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "image",
                                                                    "video",
                                                                    "audio",
                                                                    "pdf",
                                                                    null
                                                                ],
                                                                "nullable": true
                                                            },
                                                            "assetSummary": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "assetSummaryDetails": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "subject": {
                                                                        "type": "string",
                                                                        "nullable": true
                                                                    },
                                                                    "action": {
                                                                        "type": "string",
                                                                        "nullable": true
                                                                    },
                                                                    "summary": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "subject",
                                                                    "action",
                                                                    "summary"
                                                                ],
                                                                "nullable": true
                                                            },
                                                            "fileType": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "fileSizeInKb": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "originalWidth": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "originalHeight": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "durationInMs": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "originalUrl",
                                                            "previewUrl",
                                                            "mediaType",
                                                            "fileType",
                                                            "fileSizeInKb",
                                                            "originalWidth",
                                                            "originalHeight",
                                                            "durationInMs"
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "toolInputAsset": {
                                                        "type": "object",
                                                        "properties": {
                                                            "assetId": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "url": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "originalUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewExtraLowResolutionUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewLowResolutionUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "previewHighResolutionUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "thumbnailUrl": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "mediaType": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "image",
                                                                    "video",
                                                                    "audio",
                                                                    "pdf",
                                                                    null
                                                                ],
                                                                "nullable": true
                                                            },
                                                            "assetSummary": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "assetSummaryDetails": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "subject": {
                                                                        "type": "string",
                                                                        "nullable": true
                                                                    },
                                                                    "action": {
                                                                        "type": "string",
                                                                        "nullable": true
                                                                    },
                                                                    "summary": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "subject",
                                                                    "action",
                                                                    "summary"
                                                                ],
                                                                "nullable": true
                                                            },
                                                            "fileType": {
                                                                "type": "string",
                                                                "nullable": true
                                                            },
                                                            "fileSizeInKb": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "originalWidth": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "originalHeight": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            },
                                                            "durationInMs": {
                                                                "type": "integer",
                                                                "minimum": 0,
                                                                "nullable": true
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "originalUrl",
                                                            "previewUrl",
                                                            "mediaType",
                                                            "fileType",
                                                            "fileSizeInKb",
                                                            "originalWidth",
                                                            "originalHeight",
                                                            "durationInMs"
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "pdfExtraction": {
                                                        "type": "object",
                                                        "properties": {
                                                            "summaryText": {
                                                                "type": "string"
                                                            },
                                                            "extractedImages": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "assetId": {
                                                                            "type": "string",
                                                                            "format": "uuid"
                                                                        },
                                                                        "url": {
                                                                            "type": "string"
                                                                        },
                                                                        "pageIndex": {
                                                                            "type": "integer",
                                                                            "minimum": 0
                                                                        },
                                                                        "imageIndex": {
                                                                            "type": "integer",
                                                                            "minimum": 0
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "assetId",
                                                                        "url",
                                                                        "pageIndex",
                                                                        "imageIndex"
                                                                    ]
                                                                }
                                                            },
                                                            "extractedImageUrls": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "extractedImageCount": {
                                                                "type": "integer"
                                                            }
                                                        },
                                                        "required": [
                                                            "summaryText",
                                                            "extractedImages",
                                                            "extractedImageUrls",
                                                            "extractedImageCount"
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "nodeRunId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "layerCount": {
                                                        "type": "integer",
                                                        "minimum": 0
                                                    },
                                                    "errorMessage": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "errorSeverity": {
                                                        "type": "string",
                                                        "enum": [
                                                            "error",
                                                            "warning",
                                                            null
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "errorRetryable": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "favoritedByUserId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "createdAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "updatedAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "title",
                                                    "modelConfig",
                                                    "sourceToolName",
                                                    "seed",
                                                    "generateAudio",
                                                    "negativePrompt",
                                                    "outputAspectRatio",
                                                    "outputDuration",
                                                    "outputResolution",
                                                    "textPrompt",
                                                    "generatedText",
                                                    "asset",
                                                    "layerCount",
                                                    "errorMessage",
                                                    "errorSeverity",
                                                    "favoritedByUserId",
                                                    "createdAt",
                                                    "updatedAt"
                                                ]
                                            }
                                        },
                                        "createdAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "updatedAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "nodeType",
                                        "geometry",
                                        "groupId",
                                        "activeVersionId",
                                        "generatedText",
                                        "versions",
                                        "createdAt",
                                        "updatedAt"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "400",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/canvases/{canvasId}/direct/edges": {
            "post": {
                "summary": "Create an edge",
                "tags": ["edge"],
                "parameters": [
                    {
                        "name": "canvasId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "edge.create",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "string",
                                        "format": "uuid"
                                    },
                                    "srcNodeId": {
                                        "type": "string",
                                        "format": "uuid"
                                    },
                                    "dstNodeId": {
                                        "type": "string",
                                        "format": "uuid"
                                    },
                                    "edgeType": {
                                        "type": "string",
                                        "enum": [
                                            "text",
                                            "image",
                                            "video",
                                            "audio",
                                            "file"
                                        ]
                                    },
                                    "srcHandle": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "dstHandle": {
                                        "type": "string",
                                        "nullable": true
                                    }
                                },
                                "required": [
                                    "id",
                                    "srcNodeId",
                                    "dstNodeId",
                                    "edgeType"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "201",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "srcNodeId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "dstNodeId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "edgeType": {
                                            "type": "string",
                                            "enum": [
                                                "text",
                                                "image",
                                                "video",
                                                "audio",
                                                "file"
                                            ]
                                        },
                                        "srcHandle": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "dstHandle": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "createdByUserId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "srcNodeId",
                                        "dstNodeId",
                                        "edgeType",
                                        "srcHandle",
                                        "dstHandle",
                                        "createdByUserId"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "409",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/canvases/{canvasId}/direct/edges/{edgeId}": {
            "delete": {
                "summary": "Delete an edge",
                "tags": ["edge"],
                "parameters": [
                    {
                        "name": "canvasId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "edgeId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "edge.delete",
                "responses": {
                    "204": {
                        "description": "204"
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "409",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/canvases/{canvasId}/direct/edges/bulk": {
            "post": {
                "summary": "Create edges in bulk",
                "tags": ["edge"],
                "parameters": [
                    {
                        "name": "canvasId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "edge.bulkCreate",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "edges": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "srcNodeId": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "dstNodeId": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "edgeType": {
                                                    "type": "string",
                                                    "enum": [
                                                        "text",
                                                        "image",
                                                        "video",
                                                        "audio",
                                                        "file"
                                                    ]
                                                },
                                                "srcHandle": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "dstHandle": {
                                                    "type": "string",
                                                    "nullable": true
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "srcNodeId",
                                                "dstNodeId",
                                                "edgeType"
                                            ]
                                        }
                                    }
                                },
                                "required": ["edges"]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "201",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "edges": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "srcNodeId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "dstNodeId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "edgeType": {
                                                        "type": "string",
                                                        "enum": [
                                                            "text",
                                                            "image",
                                                            "video",
                                                            "audio",
                                                            "file"
                                                        ]
                                                    },
                                                    "srcHandle": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "dstHandle": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "createdByUserId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "srcNodeId",
                                                    "dstNodeId",
                                                    "edgeType",
                                                    "srcHandle",
                                                    "dstHandle",
                                                    "createdByUserId"
                                                ]
                                            }
                                        }
                                    },
                                    "required": ["edges"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "409",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/nodes/{nodeId}/runs": {
            "post": {
                "summary": "Start a run",
                "tags": ["run"],
                "parameters": [
                    {
                        "name": "nodeId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "run.start",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "canvasId": {
                                        "type": "string",
                                        "format": "uuid"
                                    },
                                    "origin": {
                                        "type": "string",
                                        "enum": ["canvas", "playground"]
                                    },
                                    "textPrompt": {
                                        "type": "string"
                                    },
                                    "modelConfig": {
                                        "type": "object",
                                        "properties": {
                                            "model": {
                                                "type": "string"
                                            },
                                            "variant": {
                                                "type": "string"
                                            },
                                            "tier": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "thinkingLevel": {
                                                "type": "string",
                                                "enum": [
                                                    "off",
                                                    "on",
                                                    "minimal",
                                                    "low",
                                                    "medium",
                                                    "high",
                                                    "xhigh",
                                                    "max"
                                                ]
                                            },
                                            "heygenAvatar": {
                                                "type": "string",
                                                "minLength": 1
                                            },
                                            "font": {
                                                "type": "object",
                                                "properties": {
                                                    "source": {
                                                        "type": "string",
                                                        "enum": [
                                                            "custom",
                                                            "google"
                                                        ]
                                                    },
                                                    "familyName": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "source",
                                                    "familyName"
                                                ]
                                            }
                                        },
                                        "required": ["model", "variant"]
                                    },
                                    "outputAspectRatio": {
                                        "type": "string",
                                        "enum": [
                                            "21:9",
                                            "16:9",
                                            "3:2",
                                            "4:3",
                                            "5:4",
                                            "1:1",
                                            "4:5",
                                            "3:4",
                                            "2:3",
                                            "9:16",
                                            "9:21"
                                        ]
                                    },
                                    "outputDuration": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "exclusiveMinimum": true
                                    },
                                    "outputResolution": {
                                        "oneOf": [
                                            {
                                                "type": "string",
                                                "enum": [
                                                    "360p",
                                                    "480p",
                                                    "540p",
                                                    "580p",
                                                    "720p",
                                                    "1080p",
                                                    "1440p",
                                                    "2160p",
                                                    "4k",
                                                    "0.5K",
                                                    "1K",
                                                    "2K",
                                                    "4K",
                                                    "1k",
                                                    "2k"
                                                ]
                                            },
                                            {
                                                "type": "string"
                                            }
                                        ]
                                    },
                                    "seed": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "maximum": 2147483647
                                    },
                                    "numVariations": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "maximum": 10
                                    },
                                    "generateAudio": {
                                        "type": "boolean"
                                    },
                                    "negativePrompt": {
                                        "type": "string"
                                    },
                                    "imageUrls": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "format": "uri"
                                        },
                                        "maxItems": 15
                                    },
                                    "elevenLabsVoiceId": {
                                        "type": "string",
                                        "minLength": 1
                                    },
                                    "customVoiceId": {
                                        "type": "string",
                                        "format": "uuid"
                                    },
                                    "elevenLabsVoiceSettings": {
                                        "type": "object",
                                        "properties": {
                                            "speed": {
                                                "type": "number",
                                                "minimum": 0.25,
                                                "maximum": 4
                                            },
                                            "stability": {
                                                "type": "number",
                                                "minimum": 0,
                                                "maximum": 1
                                            },
                                            "similarityBoost": {
                                                "type": "number",
                                                "minimum": 0,
                                                "maximum": 1
                                            },
                                            "style": {
                                                "type": "number",
                                                "minimum": 0,
                                                "maximum": 1
                                            },
                                            "speakerBoost": {
                                                "type": "boolean"
                                            },
                                            "removeBackgroundNoise": {
                                                "type": "boolean"
                                            },
                                            "outputFormat": {
                                                "type": "string",
                                                "enum": [
                                                    "mp3_44100_128",
                                                    "mp3_44100_192",
                                                    "mp3_22050_32",
                                                    "pcm_16000",
                                                    "pcm_22050",
                                                    "pcm_24000",
                                                    "pcm_44100"
                                                ]
                                            }
                                        }
                                    },
                                    "loras": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "weight": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1.5
                                                }
                                            },
                                            "required": ["id", "weight"]
                                        },
                                        "maxItems": 5
                                    },
                                    "steps": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "maximum": 50
                                    },
                                    "guidanceScale": {
                                        "type": "number",
                                        "minimum": 0,
                                        "maximum": 20
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "201",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        }
                                    },
                                    "required": ["id"]
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "202",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "approvalId": {
                                            "type": "string",
                                            "format": "uuid"
                                        }
                                    },
                                    "required": ["approvalId"]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "400",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/node-runs/{nodeRunId}": {
            "get": {
                "summary": "Get a run",
                "tags": ["run"],
                "parameters": [
                    {
                        "name": "nodeRunId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "run.get",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "nodeId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "nodeVersionId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        },
                                        "toolName": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "pending",
                                                "running",
                                                "finished",
                                                "failed",
                                                "cancelled"
                                            ]
                                        },
                                        "errorMessage": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "errorSeverity": {
                                            "default": null,
                                            "type": "string",
                                            "enum": ["error", "warning", null],
                                            "nullable": true
                                        },
                                        "errorRetryable": {
                                            "type": "boolean",
                                            "nullable": true
                                        },
                                        "errorReason": {
                                            "type": "string",
                                            "enum": [
                                                "insufficient_credits",
                                                "content_policy",
                                                "no_media_generated",
                                                "provider_error",
                                                "validation_error",
                                                "timeout",
                                                "system",
                                                "unknown",
                                                null
                                            ],
                                            "nullable": true
                                        },
                                        "numVariationsRequested": {
                                            "type": "integer",
                                            "nullable": true
                                        },
                                        "numVariationsCompleted": {
                                            "type": "integer",
                                            "nullable": true
                                        },
                                        "numVariationsFailed": {
                                            "type": "integer",
                                            "nullable": true
                                        },
                                        "numLayers": {
                                            "type": "integer",
                                            "nullable": true
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "nodeId",
                                        "nodeVersionId",
                                        "toolName",
                                        "status",
                                        "errorMessage",
                                        "errorSeverity",
                                        "numVariationsRequested",
                                        "numLayers"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/node-runs/{nodeRunId}/cancel": {
            "post": {
                "summary": "Cancel a run",
                "tags": ["run"],
                "parameters": [
                    {
                        "name": "nodeRunId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "run.cancel",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "204"
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "409",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/canvases/{canvasId}/node-runs/latest": {
            "get": {
                "summary": "Get the latest runs",
                "tags": ["run"],
                "parameters": [
                    {
                        "name": "canvasId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "run.latest",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "nodeId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "nodeRunId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "toolName": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "status": {
                                                        "type": "string",
                                                        "enum": [
                                                            "pending",
                                                            "running",
                                                            "finished",
                                                            "failed",
                                                            "cancelled"
                                                        ]
                                                    },
                                                    "errorMessage": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "errorSeverity": {
                                                        "default": null,
                                                        "type": "string",
                                                        "enum": [
                                                            "error",
                                                            "warning",
                                                            null
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "errorRetryable": {
                                                        "type": "boolean",
                                                        "nullable": true
                                                    },
                                                    "errorReason": {
                                                        "type": "string",
                                                        "enum": [
                                                            "insufficient_credits",
                                                            "content_policy",
                                                            "no_media_generated",
                                                            "provider_error",
                                                            "validation_error",
                                                            "timeout",
                                                            "system",
                                                            "unknown",
                                                            null
                                                        ],
                                                        "nullable": true
                                                    },
                                                    "numVariationsRequested": {
                                                        "type": "integer",
                                                        "nullable": true
                                                    },
                                                    "numVariationsCompleted": {
                                                        "type": "integer",
                                                        "nullable": true
                                                    },
                                                    "numVariationsFailed": {
                                                        "type": "integer",
                                                        "nullable": true
                                                    },
                                                    "numLayers": {
                                                        "type": "integer",
                                                        "nullable": true
                                                    },
                                                    "createdAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                },
                                                "required": [
                                                    "nodeId",
                                                    "nodeRunId",
                                                    "toolName",
                                                    "status",
                                                    "errorMessage",
                                                    "errorSeverity",
                                                    "numVariationsRequested",
                                                    "numLayers",
                                                    "createdAt"
                                                ]
                                            }
                                        }
                                    },
                                    "required": ["data"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/canvases/{canvasId}/bulk-run": {
            "post": {
                "summary": "Start a bulk run",
                "tags": ["run"],
                "parameters": [
                    {
                        "name": "canvasId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "run.bulkStart",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "nodeIds": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "minItems": 1,
                                        "maxItems": 500
                                    },
                                    "origin": {
                                        "type": "string",
                                        "enum": ["canvas", "playground"]
                                    },
                                    "imageUrls": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "format": "uri"
                                        }
                                    },
                                    "numVariations": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "maximum": 10
                                    },
                                    "matchAudioToVideoDurationNodeIds": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "maxItems": 500
                                    }
                                },
                                "required": ["nodeIds"]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "201",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "canvasId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "pending",
                                                "running",
                                                "finished",
                                                "failed"
                                            ]
                                        },
                                        "totalNodes": {
                                            "type": "integer"
                                        },
                                        "completedNodes": {
                                            "type": "integer"
                                        },
                                        "failedNodes": {
                                            "type": "integer"
                                        },
                                        "skippedNodes": {
                                            "type": "integer"
                                        },
                                        "nodeEntries": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "nodeId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "nodeRunId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "status": {
                                                        "type": "string",
                                                        "enum": [
                                                            "pending",
                                                            "running",
                                                            "finished",
                                                            "failed",
                                                            "skipped",
                                                            "cancelled"
                                                        ]
                                                    },
                                                    "errorMessage": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "nodeId",
                                                    "nodeRunId",
                                                    "status"
                                                ]
                                            }
                                        },
                                        "createdAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "canvasId",
                                        "status",
                                        "totalNodes",
                                        "completedNodes",
                                        "failedNodes",
                                        "skippedNodes",
                                        "nodeEntries",
                                        "createdAt"
                                    ]
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "202",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "approvalId": {
                                            "type": "string",
                                            "format": "uuid"
                                        }
                                    },
                                    "required": ["approvalId"]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "400",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/bulk-node-runs/{bulkNodeRunId}": {
            "get": {
                "summary": "Get a bulk run",
                "tags": ["run"],
                "parameters": [
                    {
                        "name": "bulkNodeRunId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "run.bulkGet",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "canvasId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "pending",
                                                "running",
                                                "finished",
                                                "failed"
                                            ]
                                        },
                                        "totalNodes": {
                                            "type": "integer"
                                        },
                                        "completedNodes": {
                                            "type": "integer"
                                        },
                                        "failedNodes": {
                                            "type": "integer"
                                        },
                                        "skippedNodes": {
                                            "type": "integer"
                                        },
                                        "nodeEntries": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "nodeId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "nodeRunId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "status": {
                                                        "type": "string",
                                                        "enum": [
                                                            "pending",
                                                            "running",
                                                            "finished",
                                                            "failed",
                                                            "skipped",
                                                            "cancelled"
                                                        ]
                                                    },
                                                    "errorMessage": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "nodeId",
                                                    "nodeRunId",
                                                    "status"
                                                ]
                                            }
                                        },
                                        "createdAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "canvasId",
                                        "status",
                                        "totalNodes",
                                        "completedNodes",
                                        "failedNodes",
                                        "skippedNodes",
                                        "nodeEntries",
                                        "createdAt"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/node-runs/{nodeRunId}/download": {
            "post": {
                "summary": "Download a run output",
                "tags": ["run"],
                "parameters": [
                    {
                        "name": "nodeRunId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "run.download",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "url": {
                                            "type": "string"
                                        },
                                        "filename": {
                                            "type": "string"
                                        },
                                        "size": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["url", "filename", "size"]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "400",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/node-runs/download": {
            "post": {
                "summary": "Download all run outputs",
                "tags": ["run"],
                "parameters": [],
                "operationId": "run.downloadAll",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "nodeRunIds": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "minItems": 1
                                    }
                                },
                                "required": ["nodeRunIds"]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "url": {
                                            "type": "string"
                                        },
                                        "filename": {
                                            "type": "string"
                                        },
                                        "size": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["url", "filename", "size"]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "400",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/bulk-node-runs/{bulkNodeRunId}/download": {
            "post": {
                "summary": "Download a bulk run output",
                "tags": ["run"],
                "parameters": [
                    {
                        "name": "bulkNodeRunId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "run.bulkDownload",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "url": {
                                            "type": "string"
                                        },
                                        "filename": {
                                            "type": "string"
                                        },
                                        "size": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["url", "filename", "size"]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "400",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/canvases/{canvasId}/magic-resize": {
            "post": {
                "summary": "Magic resize from an image",
                "tags": ["run"],
                "parameters": [
                    {
                        "name": "canvasId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "run.magicResize",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "sourceNodeId": {
                                        "type": "string",
                                        "format": "uuid"
                                    },
                                    "ratios": {
                                        "type": "array",
                                        "items": {
                                            "oneOf": [
                                                {
                                                    "type": "string",
                                                    "enum": [
                                                        "21:9",
                                                        "16:9",
                                                        "4:3",
                                                        "1:1",
                                                        "3:4",
                                                        "9:16",
                                                        "9:21"
                                                    ]
                                                },
                                                {
                                                    "type": "string"
                                                }
                                            ]
                                        },
                                        "minItems": 1,
                                        "maxItems": 5
                                    }
                                },
                                "required": ["sourceNodeId", "ratios"]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "201",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "nodeId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "nodeRunId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "creditCost": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": [
                                        "nodeId",
                                        "nodeRunId",
                                        "creditCost"
                                    ]
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "202",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "approvalId": {
                                            "type": "string",
                                            "format": "uuid"
                                        }
                                    },
                                    "required": ["approvalId"]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "400",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/canvases/{canvasId}/comment-threads": {
            "post": {
                "summary": "Create a comment thread",
                "tags": ["comment"],
                "parameters": [
                    {
                        "name": "canvasId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "comment.create",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "position": {
                                        "type": "object",
                                        "properties": {
                                            "x": {
                                                "type": "number"
                                            },
                                            "y": {
                                                "type": "number"
                                            }
                                        },
                                        "required": ["x", "y"]
                                    },
                                    "body": {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 10000
                                    }
                                },
                                "required": ["position", "body"]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "201",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "canvasId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "position": {
                                            "type": "object",
                                            "properties": {
                                                "x": {
                                                    "type": "number"
                                                },
                                                "y": {
                                                    "type": "number"
                                                }
                                            },
                                            "required": ["x", "y"]
                                        },
                                        "isResolved": {
                                            "type": "boolean"
                                        },
                                        "createdByUserId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "createdByName": {
                                            "type": "string"
                                        },
                                        "createdAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "updatedAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "comments": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "threadId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "body": {
                                                        "type": "string"
                                                    },
                                                    "createdByUserId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "createdByName": {
                                                        "type": "string"
                                                    },
                                                    "createdAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "updatedAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "threadId",
                                                    "body",
                                                    "createdByUserId",
                                                    "createdByName",
                                                    "createdAt",
                                                    "updatedAt"
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "canvasId",
                                        "position",
                                        "isResolved",
                                        "createdByUserId",
                                        "createdByName",
                                        "createdAt",
                                        "updatedAt",
                                        "comments"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "summary": "List comment threads",
                "tags": ["comment"],
                "parameters": [
                    {
                        "name": "canvasId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "comment.list",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "canvasId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "position": {
                                                        "type": "object",
                                                        "properties": {
                                                            "x": {
                                                                "type": "number"
                                                            },
                                                            "y": {
                                                                "type": "number"
                                                            }
                                                        },
                                                        "required": ["x", "y"]
                                                    },
                                                    "isResolved": {
                                                        "type": "boolean"
                                                    },
                                                    "createdByUserId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "createdByName": {
                                                        "type": "string"
                                                    },
                                                    "createdAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "updatedAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "comments": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "id": {
                                                                    "type": "string",
                                                                    "format": "uuid"
                                                                },
                                                                "threadId": {
                                                                    "type": "string",
                                                                    "format": "uuid"
                                                                },
                                                                "body": {
                                                                    "type": "string"
                                                                },
                                                                "createdByUserId": {
                                                                    "type": "string",
                                                                    "format": "uuid"
                                                                },
                                                                "createdByName": {
                                                                    "type": "string"
                                                                },
                                                                "createdAt": {
                                                                    "type": "string",
                                                                    "format": "date-time"
                                                                },
                                                                "updatedAt": {
                                                                    "type": "string",
                                                                    "format": "date-time"
                                                                }
                                                            },
                                                            "required": [
                                                                "id",
                                                                "threadId",
                                                                "body",
                                                                "createdByUserId",
                                                                "createdByName",
                                                                "createdAt",
                                                                "updatedAt"
                                                            ]
                                                        }
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "canvasId",
                                                    "position",
                                                    "isResolved",
                                                    "createdByUserId",
                                                    "createdByName",
                                                    "createdAt",
                                                    "updatedAt",
                                                    "comments"
                                                ]
                                            }
                                        }
                                    },
                                    "required": ["data"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/comment-threads/{threadId}": {
            "patch": {
                "summary": "Update a comment thread",
                "tags": ["comment"],
                "parameters": [
                    {
                        "name": "threadId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "comment.update",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "position": {
                                        "type": "object",
                                        "properties": {
                                            "x": {
                                                "type": "number"
                                            },
                                            "y": {
                                                "type": "number"
                                            }
                                        },
                                        "required": ["x", "y"]
                                    },
                                    "isResolved": {
                                        "type": "boolean"
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "canvasId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "position": {
                                            "type": "object",
                                            "properties": {
                                                "x": {
                                                    "type": "number"
                                                },
                                                "y": {
                                                    "type": "number"
                                                }
                                            },
                                            "required": ["x", "y"]
                                        },
                                        "isResolved": {
                                            "type": "boolean"
                                        },
                                        "createdByUserId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "createdByName": {
                                            "type": "string"
                                        },
                                        "createdAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "updatedAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "comments": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "threadId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "body": {
                                                        "type": "string"
                                                    },
                                                    "createdByUserId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "createdByName": {
                                                        "type": "string"
                                                    },
                                                    "createdAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "updatedAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "threadId",
                                                    "body",
                                                    "createdByUserId",
                                                    "createdByName",
                                                    "createdAt",
                                                    "updatedAt"
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "canvasId",
                                        "position",
                                        "isResolved",
                                        "createdByUserId",
                                        "createdByName",
                                        "createdAt",
                                        "updatedAt",
                                        "comments"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/comment-threads/{threadId}/comments": {
            "post": {
                "summary": "Add a comment to a thread",
                "tags": ["comment"],
                "parameters": [
                    {
                        "name": "threadId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "comment.addMessage",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "body": {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 10000
                                    }
                                },
                                "required": ["body"]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "201",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "threadId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "body": {
                                            "type": "string"
                                        },
                                        "createdByUserId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "createdByName": {
                                            "type": "string"
                                        },
                                        "createdAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "updatedAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "threadId",
                                        "body",
                                        "createdByUserId",
                                        "createdByName",
                                        "createdAt",
                                        "updatedAt"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/canvases/{canvasId}/agent-presence": {
            "post": {
                "summary": "Set agent presence",
                "tags": ["presence"],
                "parameters": [
                    {
                        "name": "canvasId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "presence.set",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "presenceId": {
                                        "type": "string",
                                        "format": "uuid"
                                    },
                                    "claim": {
                                        "type": "object",
                                        "properties": {
                                            "nodeIds": {
                                                "default": [],
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            },
                                            "bounds": {
                                                "type": "object",
                                                "properties": {
                                                    "x": {
                                                        "type": "number"
                                                    },
                                                    "y": {
                                                        "type": "number"
                                                    },
                                                    "w": {
                                                        "type": "number",
                                                        "minimum": 0
                                                    },
                                                    "h": {
                                                        "type": "number",
                                                        "minimum": 0
                                                    }
                                                },
                                                "required": [
                                                    "x",
                                                    "y",
                                                    "w",
                                                    "h"
                                                ],
                                                "nullable": true
                                            },
                                            "status": {
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 80
                                            }
                                        },
                                        "required": ["status"],
                                        "nullable": true
                                    }
                                },
                                "required": ["claim"]
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "204"
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/canvases/{canvasId}/agent-presence/release": {
            "post": {
                "operationId": "presence.release",
                "tags": ["presence"],
                "parameters": [
                    {
                        "in": "path",
                        "name": "canvasId",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        },
                        "required": true
                    }
                ],
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "presenceId": {
                                        "type": "string",
                                        "format": "uuid"
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "presenceId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "removed": {
                                            "type": "boolean",
                                            "nullable": true
                                        }
                                    },
                                    "required": ["presenceId", "removed"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                },
                "summary": "Release agent presence"
            }
        },
        "/api/v1/upload/init": {
            "post": {
                "summary": "Start an upload",
                "tags": ["upload"],
                "parameters": [],
                "operationId": "upload.init",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "nodeId": {
                                        "type": "string",
                                        "format": "uuid"
                                    },
                                    "filename": {
                                        "type": "string"
                                    },
                                    "contentType": {
                                        "type": "string"
                                    },
                                    "sizeInBytes": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "exclusiveMinimum": true
                                    },
                                    "purpose": {
                                        "default": "asset",
                                        "type": "string",
                                        "enum": [
                                            "asset",
                                            "avatar",
                                            "team-photo",
                                            "custom-font"
                                        ]
                                    }
                                },
                                "required": [
                                    "filename",
                                    "contentType",
                                    "sizeInBytes"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "uploadId": {
                                            "type": "string"
                                        },
                                        "s3Bucket": {
                                            "type": "string"
                                        },
                                        "s3Key": {
                                            "type": "string"
                                        },
                                        "partSize": {
                                            "type": "number"
                                        }
                                    },
                                    "required": [
                                        "uploadId",
                                        "s3Bucket",
                                        "s3Key",
                                        "partSize"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/upload/sign-part": {
            "post": {
                "summary": "Sign an upload part",
                "tags": ["upload"],
                "parameters": [],
                "operationId": "upload.signPart",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "uploadId": {
                                        "type": "string"
                                    },
                                    "s3Bucket": {
                                        "type": "string"
                                    },
                                    "s3Key": {
                                        "type": "string"
                                    },
                                    "partNumber": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "exclusiveMinimum": true
                                    }
                                },
                                "required": [
                                    "uploadId",
                                    "s3Bucket",
                                    "s3Key",
                                    "partNumber"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "url": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["url"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/upload/complete": {
            "post": {
                "summary": "Complete an upload",
                "tags": ["upload"],
                "parameters": [],
                "operationId": "upload.complete",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "uploadId": {
                                        "type": "string"
                                    },
                                    "s3Bucket": {
                                        "type": "string"
                                    },
                                    "s3Key": {
                                        "type": "string"
                                    },
                                    "filename": {
                                        "type": "string"
                                    },
                                    "contentType": {
                                        "type": "string"
                                    },
                                    "sizeInBytes": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "exclusiveMinimum": true
                                    },
                                    "nodeId": {
                                        "type": "string",
                                        "format": "uuid"
                                    },
                                    "canvasId": {
                                        "type": "string",
                                        "format": "uuid"
                                    },
                                    "parts": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "partNumber": {
                                                    "type": "integer",
                                                    "minimum": 0,
                                                    "exclusiveMinimum": true
                                                },
                                                "etag": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": ["partNumber", "etag"]
                                        }
                                    },
                                    "width": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "exclusiveMinimum": true
                                    },
                                    "height": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "exclusiveMinimum": true
                                    },
                                    "node": {
                                        "type": "object",
                                        "properties": {
                                            "title": {
                                                "type": "string"
                                            },
                                            "nodeType": {
                                                "type": "string"
                                            },
                                            "geometry": {
                                                "type": "object",
                                                "properties": {
                                                    "x": {
                                                        "type": "number"
                                                    },
                                                    "y": {
                                                        "type": "number"
                                                    },
                                                    "w": {
                                                        "type": "number"
                                                    },
                                                    "h": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": ["x", "y", "w", "h"]
                                            },
                                            "createdByUserId": {
                                                "type": "string",
                                                "format": "uuid"
                                            }
                                        },
                                        "required": ["nodeType", "geometry"]
                                    },
                                    "agentUpload": {
                                        "type": "boolean"
                                    },
                                    "replaceActiveVersion": {
                                        "type": "boolean"
                                    },
                                    "pdfExtractionMode": {
                                        "type": "string",
                                        "enum": ["summary", "pages"]
                                    }
                                },
                                "required": [
                                    "uploadId",
                                    "s3Bucket",
                                    "s3Key",
                                    "filename",
                                    "contentType",
                                    "sizeInBytes",
                                    "parts"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "assetId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "s3Bucket": {
                                            "type": "string"
                                        },
                                        "s3Key": {
                                            "type": "string"
                                        },
                                        "url": {
                                            "type": "string"
                                        },
                                        "nodeVersionId": {
                                            "type": "string",
                                            "format": "uuid",
                                            "nullable": true
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "assetId",
                                        "s3Bucket",
                                        "s3Key",
                                        "url"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/files/agent-search": {
            "get": {
                "summary": "Search team assets for the agent",
                "tags": ["asset"],
                "parameters": [
                    {
                        "name": "query",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 500,
                            "description": "The semantic search query — an exact filename or a description of the asset (e.g. \"Product_Shot_05.png\", \"red logo\", \"the shark photo\"). When the member gives an exact filename, pass it verbatim, including its extension; exact matches rank first. Provide a query to FIND specific assets. OMIT it entirely to bring in EVERY asset from a folder: when the member says \"bring in all my assets from the X folder\" / \"add everything in X to the canvas\", resolve the folder with list_asset_folders and call asset_search with just that `folderId` and NO query. Never invent a query when the member asked for everything in a folder — a query filters and will drop assets they wanted. Omitting the query requires a `folderId`."
                        },
                        "description": "The semantic search query — an exact filename or a description of the asset (e.g. \"Product_Shot_05.png\", \"red logo\", \"the shark photo\"). When the member gives an exact filename, pass it verbatim, including its extension; exact matches rank first. Provide a query to FIND specific assets. OMIT it entirely to bring in EVERY asset from a folder: when the member says \"bring in all my assets from the X folder\" / \"add everything in X to the canvas\", resolve the folder with list_asset_folders and call asset_search with just that `folderId` and NO query. Never invent a query when the member asked for everything in a folder — a query filters and will drop assets they wanted. Omitting the query requires a `folderId`."
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "schema": {
                            "default": 20,
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 20
                        }
                    },
                    {
                        "name": "source",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": ["upload", "generated"],
                            "description": "Optional. Filter by where the asset came from: `upload` for files uploaded by a member, or `generated` for media created in Melius. Set this only when the member explicitly asks for uploads or generations; omit it to search both."
                        },
                        "description": "Optional. Filter by where the asset came from: `upload` for files uploaded by a member, or `generated` for media created in Melius. Set this only when the member explicitly asks for uploads or generations; omit it to search both."
                    },
                    {
                        "name": "fileType",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": ["image", "video", "audio", "pdf", "text"]
                        }
                    },
                    {
                        "name": "canvasId",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "uuid",
                            "description": "Optional. Omit to search the whole team library — this is the default and what nearly every request wants (e.g. \"use the asset I have\"). Only set this to scope to a DIFFERENT canvas the member explicitly names (\"search my other canvas\"), resolving the id from canvas_list. Do NOT pass the canvas the chat is currently on (its assets are already visible via canvas_content, and scoping there hides whole-library matches), and never guess an id."
                        },
                        "description": "Optional. Omit to search the whole team library — this is the default and what nearly every request wants (e.g. \"use the asset I have\"). Only set this to scope to a DIFFERENT canvas the member explicitly names (\"search my other canvas\"), resolving the id from canvas_list. Do NOT pass the canvas the chat is currently on (its assets are already visible via canvas_content, and scoping there hides whole-library matches), and never guess an id."
                    },
                    {
                        "name": "folderId",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "uuid",
                            "description": "Optional. Scope to one Files folder AND its subfolders. Omit to search the whole team library — the default, and what nearly every request wants. Set it when the member names a specific folder — either to FILTER within it (pass `folderId` + `query`, e.g. \"find the shark shot in my ocean folder\") or to bring in EVERYTHING in it (pass `folderId` and OMIT `query`, e.g. \"add all my assets from the ocean folder\"). Resolve the id with list_asset_folders: prefer a case-insensitive exact name or path before considering partial matches; if several exact or partial matches remain, ask which one. Never guess a folder id."
                        },
                        "description": "Optional. Scope to one Files folder AND its subfolders. Omit to search the whole team library — the default, and what nearly every request wants. Set it when the member names a specific folder — either to FILTER within it (pass `folderId` + `query`, e.g. \"find the shark shot in my ocean folder\") or to bring in EVERYTHING in it (pass `folderId` and OMIT `query`, e.g. \"add all my assets from the ocean folder\"). Resolve the id with list_asset_folders: prefer a case-insensitive exact name or path before considering partial matches; if several exact or partial matches remain, ask which one. Never guess a folder id."
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "description": "Optional. Filter to assets carrying ALL of these tags (AND). Pass a tag name ONLY when the member explicitly asks to filter by a tag (e.g. \"find my assets tagged brand\", \"my hero tag\") — never infer one from ordinary words in their request. Comma-separated (e.g. \"brand\" or \"brand,hero\"), case-insensitive. Combine with `query` to search within tagged assets, or omit `query` (with tags and/or a folderId) to bring in every asset carrying them. An unknown or misspelled tag name matches nothing, so pass only tags the member actually named."
                        },
                        "description": "Optional. Filter to assets carrying ALL of these tags (AND). Pass a tag name ONLY when the member explicitly asks to filter by a tag (e.g. \"find my assets tagged brand\", \"my hero tag\") — never infer one from ordinary words in their request. Comma-separated (e.g. \"brand\" or \"brand,hero\"), case-insensitive. Combine with `query` to search within tagged assets, or omit `query` (with tags and/or a folderId) to bring in every asset carrying them. An unknown or misspelled tag name matches nothing, so pass only tags the member actually named."
                    },
                    {
                        "name": "showInThread",
                        "in": "query",
                        "schema": {
                            "type": "boolean",
                            "description": "Slack only. Set true when the member only wants to SEE the matched asset(s) — \"find X and show it to me\", \"do I have Y?\" — and is NOT asking to place, edit, or build on them. Skips the selection card and posts every match straight into the Slack thread as image files. Leave unset (the default) whenever the member wants to USE an asset on the canvas, so the selection card renders and a canvas gets bound."
                        },
                        "description": "Slack only. Set true when the member only wants to SEE the matched asset(s) — \"find X and show it to me\", \"do I have Y?\" — and is NOT asking to place, edit, or build on them. Skips the selection card and posts every match straight into the Slack thread as image files. Leave unset (the default) whenever the member wants to USE an asset on the canvas, so the selection card renders and a canvas gets bound."
                    },
                    {
                        "name": "mode",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": ["semantic", "filename"]
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 0
                        }
                    }
                ],
                "operationId": "asset.search",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "query": {
                                            "type": "string"
                                        },
                                        "results": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "assetId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "folderId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "filename": {
                                                        "type": "string"
                                                    },
                                                    "displayName": {
                                                        "type": "string"
                                                    },
                                                    "source": {
                                                        "type": "string",
                                                        "enum": [
                                                            "upload",
                                                            "generated"
                                                        ]
                                                    },
                                                    "fileType": {
                                                        "type": "string",
                                                        "enum": [
                                                            "image",
                                                            "video",
                                                            "audio",
                                                            "pdf",
                                                            "text"
                                                        ]
                                                    },
                                                    "contentType": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "fileSizeInKb": {
                                                        "type": "integer",
                                                        "nullable": true
                                                    },
                                                    "durationInMs": {
                                                        "type": "integer",
                                                        "nullable": true
                                                    },
                                                    "previewUrl": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "assetUrl": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "createdAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "createdByUserId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "canvases": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "canvasId": {
                                                                    "type": "string",
                                                                    "format": "uuid"
                                                                },
                                                                "projectId": {
                                                                    "type": "string",
                                                                    "format": "uuid"
                                                                },
                                                                "canvasTitle": {
                                                                    "type": "string"
                                                                },
                                                                "nodeId": {
                                                                    "type": "string",
                                                                    "format": "uuid",
                                                                    "nullable": true
                                                                }
                                                            },
                                                            "required": [
                                                                "canvasId",
                                                                "projectId",
                                                                "canvasTitle"
                                                            ]
                                                        }
                                                    },
                                                    "tags": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "id": {
                                                                    "type": "string",
                                                                    "format": "uuid"
                                                                },
                                                                "name": {
                                                                    "type": "string"
                                                                },
                                                                "color": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "required": [
                                                                "id",
                                                                "name",
                                                                "color"
                                                            ]
                                                        }
                                                    },
                                                    "nodeId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "versionCount": {
                                                        "type": "integer",
                                                        "minimum": 0
                                                    },
                                                    "favoriteNodeId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "favoriteVersionId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    },
                                                    "favoritedByUserId": {
                                                        "type": "string",
                                                        "format": "uuid",
                                                        "nullable": true
                                                    }
                                                },
                                                "required": [
                                                    "assetId",
                                                    "filename",
                                                    "source",
                                                    "fileType",
                                                    "contentType",
                                                    "fileSizeInKb",
                                                    "durationInMs",
                                                    "previewUrl",
                                                    "assetUrl",
                                                    "createdAt",
                                                    "createdByUserId",
                                                    "canvases",
                                                    "tags"
                                                ]
                                            }
                                        },
                                        "total": {
                                            "type": "integer",
                                            "minimum": 0
                                        },
                                        "folderId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "canvasId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "source": {
                                            "type": "string",
                                            "enum": ["upload", "generated"]
                                        },
                                        "fileType": {
                                            "type": "string",
                                            "enum": [
                                                "image",
                                                "video",
                                                "audio",
                                                "pdf",
                                                "text"
                                            ]
                                        },
                                        "tags": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["query", "results", "total"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "403",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/files/agent-folders": {
            "get": {
                "summary": "List team asset folders for the agent",
                "tags": ["asset"],
                "parameters": [],
                "operationId": "asset.folders",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "folders": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    },
                                                    "path": {
                                                        "type": "string"
                                                    },
                                                    "fileCount": {
                                                        "type": "integer",
                                                        "minimum": 0
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "name",
                                                    "path",
                                                    "fileCount"
                                                ]
                                            }
                                        }
                                    },
                                    "required": ["folders"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "403",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/canvases/{canvasId}/library-assets/place": {
            "post": {
                "summary": "Place library assets onto a canvas",
                "tags": ["asset"],
                "parameters": [
                    {
                        "name": "canvasId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "asset.place",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "assetIds": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "minItems": 1,
                                        "maxItems": 10
                                    }
                                },
                                "required": ["assetIds"]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "placed": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "assetId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "nodeId": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "mediaType": {
                                                        "type": "string",
                                                        "enum": [
                                                            "image",
                                                            "video",
                                                            "audio",
                                                            "pdf"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "assetId",
                                                    "nodeId",
                                                    "mediaType"
                                                ]
                                            }
                                        }
                                    },
                                    "required": ["placed"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "403",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/generation/models": {
            "get": {
                "summary": "List generative models",
                "tags": ["model"],
                "parameters": [
                    {
                        "name": "category",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "image",
                                "video",
                                "text",
                                "image_tool",
                                "video_tool",
                                "audio"
                            ]
                        }
                    }
                ],
                "operationId": "model.list",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "models": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "name": {
                                                        "type": "string"
                                                    },
                                                    "displayName": {
                                                        "type": "string"
                                                    },
                                                    "releasedAt": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "variants": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "mode": {
                                                                    "type": "string"
                                                                },
                                                                "tier": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "requiredInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "optionalInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "supportsSeed": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioGeneration": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioToggle": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsNegativePrompt": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportedAspectRatios": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "21:9",
                                                                            "16:9",
                                                                            "3:2",
                                                                            "4:3",
                                                                            "5:4",
                                                                            "1:1",
                                                                            "4:5",
                                                                            "3:4",
                                                                            "2:3",
                                                                            "9:16",
                                                                            "9:21"
                                                                        ]
                                                                    }
                                                                },
                                                                "supportedDurations": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "number"
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "billedDurationSource": {
                                                                    "oneOf": [
                                                                        {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "input-media"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "number"
                                                                        }
                                                                    ]
                                                                },
                                                                "supportedDurationsByResolution": {
                                                                    "type": "object",
                                                                    "additionalProperties": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "number"
                                                                        }
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedResolutions": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "oneOf": [
                                                                            {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "360p",
                                                                                    "480p",
                                                                                    "540p",
                                                                                    "580p",
                                                                                    "720p",
                                                                                    "1080p",
                                                                                    "1440p",
                                                                                    "2160p",
                                                                                    "4k",
                                                                                    "0.5K",
                                                                                    "1K",
                                                                                    "2K",
                                                                                    "4K",
                                                                                    "1k",
                                                                                    "2k"
                                                                                ]
                                                                            },
                                                                            {
                                                                                "type": "string"
                                                                            }
                                                                        ]
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportsCustomResolution": {
                                                                    "type": "boolean"
                                                                },
                                                                "maxImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImagesWithEndImage": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxVideoInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxAudioInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "requiresMatchingAudioVideoDuration": {
                                                                    "type": "boolean",
                                                                    "nullable": true
                                                                },
                                                                "maxNativeOutputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "inputImageFileSizeConstraints": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "maximumFileBytes": {
                                                                            "type": "integer",
                                                                            "minimum": 0
                                                                        },
                                                                        "maximumTotalBytes": {
                                                                            "type": "integer",
                                                                            "minimum": 0
                                                                        }
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "inputReferenceImageFileSizeConstraints": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "maximumFileBytes": {
                                                                            "type": "integer",
                                                                            "minimum": 0
                                                                        },
                                                                        "maximumTotalBytes": {
                                                                            "type": "integer",
                                                                            "minimum": 0
                                                                        }
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "inputImageDimensionConstraints": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "minimumWidth": {
                                                                            "type": "integer",
                                                                            "minimum": 0
                                                                        },
                                                                        "minimumHeight": {
                                                                            "type": "integer",
                                                                            "minimum": 0
                                                                        },
                                                                        "maximumWidth": {
                                                                            "type": "integer",
                                                                            "minimum": 0
                                                                        },
                                                                        "maximumHeight": {
                                                                            "type": "integer",
                                                                            "minimum": 0
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "minimumWidth",
                                                                        "minimumHeight"
                                                                    ],
                                                                    "nullable": true
                                                                },
                                                                "inputImageAspectRatioConstraints": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "maximumRatio": {
                                                                            "type": "number",
                                                                            "minimum": 0,
                                                                            "exclusiveMinimum": true
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "maximumRatio"
                                                                    ],
                                                                    "nullable": true
                                                                },
                                                                "inputImageMimeTypes": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "inputReferenceImageMimeTypes": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "estimatedLatency": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "estimatedLatencySeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "defaultResolution": {
                                                                    "oneOf": [
                                                                        {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "360p",
                                                                                "480p",
                                                                                "540p",
                                                                                "580p",
                                                                                "720p",
                                                                                "1080p",
                                                                                "1440p",
                                                                                "2160p",
                                                                                "4k",
                                                                                "0.5K",
                                                                                "1K",
                                                                                "2K",
                                                                                "4K",
                                                                                "1k",
                                                                                "2k"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "string"
                                                                        }
                                                                    ]
                                                                },
                                                                "featuredDescription": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "cost": {
                                                                    "oneOf": [
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "type": {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        "fixed"
                                                                                    ]
                                                                                },
                                                                                "creditCost": {
                                                                                    "type": "number"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "type",
                                                                                "creditCost"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "type": {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        "fixed_duration"
                                                                                    ]
                                                                                },
                                                                                "creditCost": {
                                                                                    "type": "number"
                                                                                },
                                                                                "durationSeconds": {
                                                                                    "type": "number"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "type",
                                                                                "creditCost",
                                                                                "durationSeconds"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "type": {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        "per_second"
                                                                                    ]
                                                                                },
                                                                                "creditCostPerSecond": {
                                                                                    "type": "number"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "type",
                                                                                "creditCostPerSecond"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "type": {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        "per_minute"
                                                                                    ]
                                                                                },
                                                                                "creditCostPerMinute": {
                                                                                    "type": "number"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "type",
                                                                                "creditCostPerMinute"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "type": {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        "per_megapixel_frame"
                                                                                    ]
                                                                                },
                                                                                "creditCostPerMegapixelFrame": {
                                                                                    "type": "number"
                                                                                },
                                                                                "estimatedCreditCost": {
                                                                                    "type": "number"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "type",
                                                                                "creditCostPerMegapixelFrame"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "type": {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        "estimated"
                                                                                    ]
                                                                                },
                                                                                "creditCost": {
                                                                                    "type": "number"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "type",
                                                                                "creditCost"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "type": {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        "range"
                                                                                    ]
                                                                                },
                                                                                "minCreditCost": {
                                                                                    "type": "number"
                                                                                },
                                                                                "maxCreditCost": {
                                                                                    "type": "number"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "type",
                                                                                "minCreditCost",
                                                                                "maxCreditCost"
                                                                            ]
                                                                        }
                                                                    ]
                                                                },
                                                                "inputVideoCreditMultiplier": {
                                                                    "type": "number"
                                                                }
                                                            },
                                                            "required": [
                                                                "mode",
                                                                "tier",
                                                                "requiredInputs",
                                                                "optionalInputs",
                                                                "supportsSeed",
                                                                "supportedAspectRatios",
                                                                "supportedDurations",
                                                                "supportedResolutions",
                                                                "maxImageInputs",
                                                                "maxNativeOutputs",
                                                                "maxInputArea",
                                                                "estimatedLatency",
                                                                "featuredDescription"
                                                            ]
                                                        }
                                                    },
                                                    "supportedInputs": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string",
                                                            "enum": [
                                                                "image",
                                                                "video"
                                                            ]
                                                        }
                                                    },
                                                    "estimatedLatency": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "estimatedLatencySeconds": {
                                                        "type": "number",
                                                        "nullable": true
                                                    },
                                                    "featuredDescription": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "cost": {
                                                        "oneOf": [
                                                            {
                                                                "type": "object",
                                                                "properties": {
                                                                    "type": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "fixed"
                                                                        ]
                                                                    },
                                                                    "creditCost": {
                                                                        "type": "number"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "type",
                                                                    "creditCost"
                                                                ]
                                                            },
                                                            {
                                                                "type": "object",
                                                                "properties": {
                                                                    "type": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "fixed_duration"
                                                                        ]
                                                                    },
                                                                    "creditCost": {
                                                                        "type": "number"
                                                                    },
                                                                    "durationSeconds": {
                                                                        "type": "number"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "type",
                                                                    "creditCost",
                                                                    "durationSeconds"
                                                                ]
                                                            },
                                                            {
                                                                "type": "object",
                                                                "properties": {
                                                                    "type": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "per_second"
                                                                        ]
                                                                    },
                                                                    "creditCostPerSecond": {
                                                                        "type": "number"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "type",
                                                                    "creditCostPerSecond"
                                                                ]
                                                            },
                                                            {
                                                                "type": "object",
                                                                "properties": {
                                                                    "type": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "per_minute"
                                                                        ]
                                                                    },
                                                                    "creditCostPerMinute": {
                                                                        "type": "number"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "type",
                                                                    "creditCostPerMinute"
                                                                ]
                                                            },
                                                            {
                                                                "type": "object",
                                                                "properties": {
                                                                    "type": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "per_megapixel_frame"
                                                                        ]
                                                                    },
                                                                    "creditCostPerMegapixelFrame": {
                                                                        "type": "number"
                                                                    },
                                                                    "estimatedCreditCost": {
                                                                        "type": "number"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "type",
                                                                    "creditCostPerMegapixelFrame"
                                                                ]
                                                            },
                                                            {
                                                                "type": "object",
                                                                "properties": {
                                                                    "type": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "estimated"
                                                                        ]
                                                                    },
                                                                    "creditCost": {
                                                                        "type": "number"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "type",
                                                                    "creditCost"
                                                                ]
                                                            },
                                                            {
                                                                "type": "object",
                                                                "properties": {
                                                                    "type": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "range"
                                                                        ]
                                                                    },
                                                                    "minCreditCost": {
                                                                        "type": "number"
                                                                    },
                                                                    "maxCreditCost": {
                                                                        "type": "number"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "type",
                                                                    "minCreditCost",
                                                                    "maxCreditCost"
                                                                ]
                                                            }
                                                        ]
                                                    },
                                                    "deprecated": {
                                                        "type": "boolean"
                                                    },
                                                    "hiddenFromAgent": {
                                                        "type": "boolean"
                                                    },
                                                    "promoRateLimit": {
                                                        "type": "object",
                                                        "properties": {
                                                            "used": {
                                                                "type": "integer",
                                                                "minimum": 0
                                                            },
                                                            "limit": {
                                                                "type": "integer",
                                                                "minimum": 0
                                                            },
                                                            "remaining": {
                                                                "type": "integer",
                                                                "minimum": 0
                                                            }
                                                        },
                                                        "required": [
                                                            "used",
                                                            "limit",
                                                            "remaining"
                                                        ]
                                                    },
                                                    "maxPromptLength": {
                                                        "type": "number",
                                                        "nullable": true
                                                    },
                                                    "thinking": {
                                                        "type": "object",
                                                        "nullable": true,
                                                        "properties": {
                                                            "levels": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "off",
                                                                        "on",
                                                                        "minimal",
                                                                        "low",
                                                                        "medium",
                                                                        "high",
                                                                        "xhigh",
                                                                        "max"
                                                                    ]
                                                                },
                                                                "minItems": 1
                                                            },
                                                            "defaultLevel": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "off",
                                                                    "on",
                                                                    "minimal",
                                                                    "low",
                                                                    "medium",
                                                                    "high",
                                                                    "xhigh",
                                                                    "max"
                                                                ]
                                                            }
                                                        },
                                                        "required": [
                                                            "levels",
                                                            "defaultLevel"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "name",
                                                    "displayName",
                                                    "variants",
                                                    "cost"
                                                ]
                                            }
                                        }
                                    },
                                    "required": ["models"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/generation/auto-model-defaults": {
            "get": {
                "summary": "Get Auto model defaults",
                "tags": ["model"],
                "parameters": [],
                "operationId": "model.autoDefaults",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "text": {
                                            "type": "object",
                                            "properties": {
                                                "model": {
                                                    "type": "string",
                                                    "minLength": 1
                                                },
                                                "variant": {
                                                    "type": "string",
                                                    "minLength": 1
                                                },
                                                "capabilities": {
                                                    "type": "object",
                                                    "properties": {
                                                        "displayName": {
                                                            "type": "string"
                                                        },
                                                        "tier": {
                                                            "type": "string",
                                                            "nullable": true
                                                        },
                                                        "supportedInputs": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "image",
                                                                    "video"
                                                                ]
                                                            }
                                                        },
                                                        "requiredInputs": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "optionalInputs": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "supportsSeed": {
                                                            "type": "boolean"
                                                        },
                                                        "supportsAudioGeneration": {
                                                            "type": "boolean"
                                                        },
                                                        "supportsAudioToggle": {
                                                            "type": "boolean"
                                                        },
                                                        "supportsNegativePrompt": {
                                                            "type": "boolean"
                                                        },
                                                        "supportedAspectRatios": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "21:9",
                                                                    "16:9",
                                                                    "3:2",
                                                                    "4:3",
                                                                    "5:4",
                                                                    "1:1",
                                                                    "4:5",
                                                                    "3:4",
                                                                    "2:3",
                                                                    "9:16",
                                                                    "9:21"
                                                                ]
                                                            }
                                                        },
                                                        "supportedDurations": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "number"
                                                            },
                                                            "nullable": true
                                                        },
                                                        "supportedDurationsByResolution": {
                                                            "type": "object",
                                                            "additionalProperties": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "number"
                                                                }
                                                            },
                                                            "nullable": true
                                                        },
                                                        "supportedResolutions": {
                                                            "type": "array",
                                                            "items": {
                                                                "oneOf": [
                                                                    {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "360p",
                                                                            "480p",
                                                                            "540p",
                                                                            "580p",
                                                                            "720p",
                                                                            "1080p",
                                                                            "1440p",
                                                                            "2160p",
                                                                            "4k",
                                                                            "0.5K",
                                                                            "1K",
                                                                            "2K",
                                                                            "4K",
                                                                            "1k",
                                                                            "2k"
                                                                        ]
                                                                    },
                                                                    {
                                                                        "type": "string"
                                                                    }
                                                                ]
                                                            },
                                                            "nullable": true
                                                        },
                                                        "supportsCustomResolution": {
                                                            "type": "boolean"
                                                        },
                                                        "maxImageInputs": {
                                                            "type": "number",
                                                            "nullable": true
                                                        },
                                                        "maxReferenceImageInputs": {
                                                            "type": "number",
                                                            "nullable": true
                                                        },
                                                        "maxReferenceImagesWithEndImage": {
                                                            "type": "number",
                                                            "nullable": true
                                                        },
                                                        "maxVideoInputs": {
                                                            "type": "number",
                                                            "nullable": true
                                                        },
                                                        "maxAudioInputs": {
                                                            "type": "number",
                                                            "nullable": true
                                                        },
                                                        "maxNativeOutputs": {
                                                            "type": "number",
                                                            "nullable": true
                                                        },
                                                        "maxInputArea": {
                                                            "type": "number",
                                                            "nullable": true
                                                        },
                                                        "minInputVideoArea": {
                                                            "type": "number",
                                                            "nullable": true
                                                        },
                                                        "maxInputVideoDurationSeconds": {
                                                            "type": "number",
                                                            "nullable": true
                                                        },
                                                        "minInputVideoDurationSeconds": {
                                                            "type": "number",
                                                            "nullable": true
                                                        },
                                                        "maxPromptLength": {
                                                            "type": "number",
                                                            "nullable": true
                                                        },
                                                        "minPromptLength": {
                                                            "type": "number",
                                                            "nullable": true
                                                        },
                                                        "defaultResolution": {
                                                            "oneOf": [
                                                                {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "360p",
                                                                        "480p",
                                                                        "540p",
                                                                        "580p",
                                                                        "720p",
                                                                        "1080p",
                                                                        "1440p",
                                                                        "2160p",
                                                                        "4k",
                                                                        "0.5K",
                                                                        "1K",
                                                                        "2K",
                                                                        "4K",
                                                                        "1k",
                                                                        "2k"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "string"
                                                                }
                                                            ]
                                                        },
                                                        "estimatedLatency": {
                                                            "type": "string",
                                                            "nullable": true
                                                        },
                                                        "estimatedLatencySeconds": {
                                                            "type": "number",
                                                            "nullable": true
                                                        },
                                                        "featuredDescription": {
                                                            "type": "string",
                                                            "nullable": true
                                                        }
                                                    }
                                                }
                                            },
                                            "required": ["model", "variant"]
                                        },
                                        "image": {
                                            "type": "object",
                                            "properties": {
                                                "textToImage": {
                                                    "type": "object",
                                                    "properties": {
                                                        "model": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "variant": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "capabilities": {
                                                            "type": "object",
                                                            "properties": {
                                                                "displayName": {
                                                                    "type": "string"
                                                                },
                                                                "tier": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "supportedInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "image",
                                                                            "video"
                                                                        ]
                                                                    }
                                                                },
                                                                "requiredInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "optionalInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "supportsSeed": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioGeneration": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioToggle": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsNegativePrompt": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportedAspectRatios": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "21:9",
                                                                            "16:9",
                                                                            "3:2",
                                                                            "4:3",
                                                                            "5:4",
                                                                            "1:1",
                                                                            "4:5",
                                                                            "3:4",
                                                                            "2:3",
                                                                            "9:16",
                                                                            "9:21"
                                                                        ]
                                                                    }
                                                                },
                                                                "supportedDurations": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "number"
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedDurationsByResolution": {
                                                                    "type": "object",
                                                                    "additionalProperties": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "number"
                                                                        }
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedResolutions": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "oneOf": [
                                                                            {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "360p",
                                                                                    "480p",
                                                                                    "540p",
                                                                                    "580p",
                                                                                    "720p",
                                                                                    "1080p",
                                                                                    "1440p",
                                                                                    "2160p",
                                                                                    "4k",
                                                                                    "0.5K",
                                                                                    "1K",
                                                                                    "2K",
                                                                                    "4K",
                                                                                    "1k",
                                                                                    "2k"
                                                                                ]
                                                                            },
                                                                            {
                                                                                "type": "string"
                                                                            }
                                                                        ]
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportsCustomResolution": {
                                                                    "type": "boolean"
                                                                },
                                                                "maxImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImagesWithEndImage": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxVideoInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxAudioInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxNativeOutputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "defaultResolution": {
                                                                    "oneOf": [
                                                                        {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "360p",
                                                                                "480p",
                                                                                "540p",
                                                                                "580p",
                                                                                "720p",
                                                                                "1080p",
                                                                                "1440p",
                                                                                "2160p",
                                                                                "4k",
                                                                                "0.5K",
                                                                                "1K",
                                                                                "2K",
                                                                                "4K",
                                                                                "1k",
                                                                                "2k"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "string"
                                                                        }
                                                                    ]
                                                                },
                                                                "estimatedLatency": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "estimatedLatencySeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "featuredDescription": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                }
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "model",
                                                        "variant"
                                                    ]
                                                },
                                                "imageToImage": {
                                                    "type": "object",
                                                    "properties": {
                                                        "model": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "variant": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "capabilities": {
                                                            "type": "object",
                                                            "properties": {
                                                                "displayName": {
                                                                    "type": "string"
                                                                },
                                                                "tier": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "supportedInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "image",
                                                                            "video"
                                                                        ]
                                                                    }
                                                                },
                                                                "requiredInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "optionalInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "supportsSeed": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioGeneration": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioToggle": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsNegativePrompt": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportedAspectRatios": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "21:9",
                                                                            "16:9",
                                                                            "3:2",
                                                                            "4:3",
                                                                            "5:4",
                                                                            "1:1",
                                                                            "4:5",
                                                                            "3:4",
                                                                            "2:3",
                                                                            "9:16",
                                                                            "9:21"
                                                                        ]
                                                                    }
                                                                },
                                                                "supportedDurations": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "number"
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedDurationsByResolution": {
                                                                    "type": "object",
                                                                    "additionalProperties": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "number"
                                                                        }
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedResolutions": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "oneOf": [
                                                                            {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "360p",
                                                                                    "480p",
                                                                                    "540p",
                                                                                    "580p",
                                                                                    "720p",
                                                                                    "1080p",
                                                                                    "1440p",
                                                                                    "2160p",
                                                                                    "4k",
                                                                                    "0.5K",
                                                                                    "1K",
                                                                                    "2K",
                                                                                    "4K",
                                                                                    "1k",
                                                                                    "2k"
                                                                                ]
                                                                            },
                                                                            {
                                                                                "type": "string"
                                                                            }
                                                                        ]
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportsCustomResolution": {
                                                                    "type": "boolean"
                                                                },
                                                                "maxImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImagesWithEndImage": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxVideoInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxAudioInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxNativeOutputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "defaultResolution": {
                                                                    "oneOf": [
                                                                        {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "360p",
                                                                                "480p",
                                                                                "540p",
                                                                                "580p",
                                                                                "720p",
                                                                                "1080p",
                                                                                "1440p",
                                                                                "2160p",
                                                                                "4k",
                                                                                "0.5K",
                                                                                "1K",
                                                                                "2K",
                                                                                "4K",
                                                                                "1k",
                                                                                "2k"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "string"
                                                                        }
                                                                    ]
                                                                },
                                                                "estimatedLatency": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "estimatedLatencySeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "featuredDescription": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                }
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "model",
                                                        "variant"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "textToImage",
                                                "imageToImage"
                                            ]
                                        },
                                        "video": {
                                            "type": "object",
                                            "properties": {
                                                "textToVideo": {
                                                    "type": "object",
                                                    "properties": {
                                                        "model": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "variant": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "capabilities": {
                                                            "type": "object",
                                                            "properties": {
                                                                "displayName": {
                                                                    "type": "string"
                                                                },
                                                                "tier": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "supportedInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "image",
                                                                            "video"
                                                                        ]
                                                                    }
                                                                },
                                                                "requiredInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "optionalInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "supportsSeed": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioGeneration": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioToggle": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsNegativePrompt": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportedAspectRatios": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "21:9",
                                                                            "16:9",
                                                                            "3:2",
                                                                            "4:3",
                                                                            "5:4",
                                                                            "1:1",
                                                                            "4:5",
                                                                            "3:4",
                                                                            "2:3",
                                                                            "9:16",
                                                                            "9:21"
                                                                        ]
                                                                    }
                                                                },
                                                                "supportedDurations": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "number"
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedDurationsByResolution": {
                                                                    "type": "object",
                                                                    "additionalProperties": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "number"
                                                                        }
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedResolutions": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "oneOf": [
                                                                            {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "360p",
                                                                                    "480p",
                                                                                    "540p",
                                                                                    "580p",
                                                                                    "720p",
                                                                                    "1080p",
                                                                                    "1440p",
                                                                                    "2160p",
                                                                                    "4k",
                                                                                    "0.5K",
                                                                                    "1K",
                                                                                    "2K",
                                                                                    "4K",
                                                                                    "1k",
                                                                                    "2k"
                                                                                ]
                                                                            },
                                                                            {
                                                                                "type": "string"
                                                                            }
                                                                        ]
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportsCustomResolution": {
                                                                    "type": "boolean"
                                                                },
                                                                "maxImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImagesWithEndImage": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxVideoInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxAudioInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxNativeOutputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "defaultResolution": {
                                                                    "oneOf": [
                                                                        {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "360p",
                                                                                "480p",
                                                                                "540p",
                                                                                "580p",
                                                                                "720p",
                                                                                "1080p",
                                                                                "1440p",
                                                                                "2160p",
                                                                                "4k",
                                                                                "0.5K",
                                                                                "1K",
                                                                                "2K",
                                                                                "4K",
                                                                                "1k",
                                                                                "2k"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "string"
                                                                        }
                                                                    ]
                                                                },
                                                                "estimatedLatency": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "estimatedLatencySeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "featuredDescription": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                }
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "model",
                                                        "variant"
                                                    ]
                                                },
                                                "imageToVideo": {
                                                    "type": "object",
                                                    "properties": {
                                                        "model": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "variant": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "capabilities": {
                                                            "type": "object",
                                                            "properties": {
                                                                "displayName": {
                                                                    "type": "string"
                                                                },
                                                                "tier": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "supportedInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "image",
                                                                            "video"
                                                                        ]
                                                                    }
                                                                },
                                                                "requiredInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "optionalInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "supportsSeed": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioGeneration": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioToggle": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsNegativePrompt": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportedAspectRatios": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "21:9",
                                                                            "16:9",
                                                                            "3:2",
                                                                            "4:3",
                                                                            "5:4",
                                                                            "1:1",
                                                                            "4:5",
                                                                            "3:4",
                                                                            "2:3",
                                                                            "9:16",
                                                                            "9:21"
                                                                        ]
                                                                    }
                                                                },
                                                                "supportedDurations": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "number"
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedDurationsByResolution": {
                                                                    "type": "object",
                                                                    "additionalProperties": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "number"
                                                                        }
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedResolutions": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "oneOf": [
                                                                            {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "360p",
                                                                                    "480p",
                                                                                    "540p",
                                                                                    "580p",
                                                                                    "720p",
                                                                                    "1080p",
                                                                                    "1440p",
                                                                                    "2160p",
                                                                                    "4k",
                                                                                    "0.5K",
                                                                                    "1K",
                                                                                    "2K",
                                                                                    "4K",
                                                                                    "1k",
                                                                                    "2k"
                                                                                ]
                                                                            },
                                                                            {
                                                                                "type": "string"
                                                                            }
                                                                        ]
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportsCustomResolution": {
                                                                    "type": "boolean"
                                                                },
                                                                "maxImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImagesWithEndImage": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxVideoInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxAudioInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxNativeOutputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "defaultResolution": {
                                                                    "oneOf": [
                                                                        {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "360p",
                                                                                "480p",
                                                                                "540p",
                                                                                "580p",
                                                                                "720p",
                                                                                "1080p",
                                                                                "1440p",
                                                                                "2160p",
                                                                                "4k",
                                                                                "0.5K",
                                                                                "1K",
                                                                                "2K",
                                                                                "4K",
                                                                                "1k",
                                                                                "2k"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "string"
                                                                        }
                                                                    ]
                                                                },
                                                                "estimatedLatency": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "estimatedLatencySeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "featuredDescription": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                }
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "model",
                                                        "variant"
                                                    ]
                                                },
                                                "videoToVideo": {
                                                    "type": "object",
                                                    "properties": {
                                                        "model": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "variant": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "capabilities": {
                                                            "type": "object",
                                                            "properties": {
                                                                "displayName": {
                                                                    "type": "string"
                                                                },
                                                                "tier": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "supportedInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "image",
                                                                            "video"
                                                                        ]
                                                                    }
                                                                },
                                                                "requiredInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "optionalInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "supportsSeed": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioGeneration": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioToggle": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsNegativePrompt": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportedAspectRatios": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "21:9",
                                                                            "16:9",
                                                                            "3:2",
                                                                            "4:3",
                                                                            "5:4",
                                                                            "1:1",
                                                                            "4:5",
                                                                            "3:4",
                                                                            "2:3",
                                                                            "9:16",
                                                                            "9:21"
                                                                        ]
                                                                    }
                                                                },
                                                                "supportedDurations": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "number"
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedDurationsByResolution": {
                                                                    "type": "object",
                                                                    "additionalProperties": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "number"
                                                                        }
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedResolutions": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "oneOf": [
                                                                            {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "360p",
                                                                                    "480p",
                                                                                    "540p",
                                                                                    "580p",
                                                                                    "720p",
                                                                                    "1080p",
                                                                                    "1440p",
                                                                                    "2160p",
                                                                                    "4k",
                                                                                    "0.5K",
                                                                                    "1K",
                                                                                    "2K",
                                                                                    "4K",
                                                                                    "1k",
                                                                                    "2k"
                                                                                ]
                                                                            },
                                                                            {
                                                                                "type": "string"
                                                                            }
                                                                        ]
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportsCustomResolution": {
                                                                    "type": "boolean"
                                                                },
                                                                "maxImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImagesWithEndImage": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxVideoInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxAudioInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxNativeOutputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "defaultResolution": {
                                                                    "oneOf": [
                                                                        {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "360p",
                                                                                "480p",
                                                                                "540p",
                                                                                "580p",
                                                                                "720p",
                                                                                "1080p",
                                                                                "1440p",
                                                                                "2160p",
                                                                                "4k",
                                                                                "0.5K",
                                                                                "1K",
                                                                                "2K",
                                                                                "4K",
                                                                                "1k",
                                                                                "2k"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "string"
                                                                        }
                                                                    ]
                                                                },
                                                                "estimatedLatency": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "estimatedLatencySeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "featuredDescription": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                }
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "model",
                                                        "variant"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "textToVideo",
                                                "imageToVideo",
                                                "videoToVideo"
                                            ]
                                        },
                                        "audio": {
                                            "type": "object",
                                            "properties": {
                                                "textToSpeech": {
                                                    "type": "object",
                                                    "properties": {
                                                        "model": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "variant": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "capabilities": {
                                                            "type": "object",
                                                            "properties": {
                                                                "displayName": {
                                                                    "type": "string"
                                                                },
                                                                "tier": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "supportedInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "image",
                                                                            "video"
                                                                        ]
                                                                    }
                                                                },
                                                                "requiredInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "optionalInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "supportsSeed": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioGeneration": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioToggle": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsNegativePrompt": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportedAspectRatios": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "21:9",
                                                                            "16:9",
                                                                            "3:2",
                                                                            "4:3",
                                                                            "5:4",
                                                                            "1:1",
                                                                            "4:5",
                                                                            "3:4",
                                                                            "2:3",
                                                                            "9:16",
                                                                            "9:21"
                                                                        ]
                                                                    }
                                                                },
                                                                "supportedDurations": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "number"
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedDurationsByResolution": {
                                                                    "type": "object",
                                                                    "additionalProperties": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "number"
                                                                        }
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedResolutions": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "oneOf": [
                                                                            {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "360p",
                                                                                    "480p",
                                                                                    "540p",
                                                                                    "580p",
                                                                                    "720p",
                                                                                    "1080p",
                                                                                    "1440p",
                                                                                    "2160p",
                                                                                    "4k",
                                                                                    "0.5K",
                                                                                    "1K",
                                                                                    "2K",
                                                                                    "4K",
                                                                                    "1k",
                                                                                    "2k"
                                                                                ]
                                                                            },
                                                                            {
                                                                                "type": "string"
                                                                            }
                                                                        ]
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportsCustomResolution": {
                                                                    "type": "boolean"
                                                                },
                                                                "maxImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImagesWithEndImage": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxVideoInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxAudioInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxNativeOutputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "defaultResolution": {
                                                                    "oneOf": [
                                                                        {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "360p",
                                                                                "480p",
                                                                                "540p",
                                                                                "580p",
                                                                                "720p",
                                                                                "1080p",
                                                                                "1440p",
                                                                                "2160p",
                                                                                "4k",
                                                                                "0.5K",
                                                                                "1K",
                                                                                "2K",
                                                                                "4K",
                                                                                "1k",
                                                                                "2k"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "string"
                                                                        }
                                                                    ]
                                                                },
                                                                "estimatedLatency": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "estimatedLatencySeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "featuredDescription": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                }
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "model",
                                                        "variant"
                                                    ]
                                                },
                                                "audioToAudio": {
                                                    "type": "object",
                                                    "properties": {
                                                        "model": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "variant": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "capabilities": {
                                                            "type": "object",
                                                            "properties": {
                                                                "displayName": {
                                                                    "type": "string"
                                                                },
                                                                "tier": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "supportedInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "image",
                                                                            "video"
                                                                        ]
                                                                    }
                                                                },
                                                                "requiredInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "optionalInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "supportsSeed": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioGeneration": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioToggle": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsNegativePrompt": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportedAspectRatios": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "21:9",
                                                                            "16:9",
                                                                            "3:2",
                                                                            "4:3",
                                                                            "5:4",
                                                                            "1:1",
                                                                            "4:5",
                                                                            "3:4",
                                                                            "2:3",
                                                                            "9:16",
                                                                            "9:21"
                                                                        ]
                                                                    }
                                                                },
                                                                "supportedDurations": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "number"
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedDurationsByResolution": {
                                                                    "type": "object",
                                                                    "additionalProperties": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "number"
                                                                        }
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedResolutions": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "oneOf": [
                                                                            {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "360p",
                                                                                    "480p",
                                                                                    "540p",
                                                                                    "580p",
                                                                                    "720p",
                                                                                    "1080p",
                                                                                    "1440p",
                                                                                    "2160p",
                                                                                    "4k",
                                                                                    "0.5K",
                                                                                    "1K",
                                                                                    "2K",
                                                                                    "4K",
                                                                                    "1k",
                                                                                    "2k"
                                                                                ]
                                                                            },
                                                                            {
                                                                                "type": "string"
                                                                            }
                                                                        ]
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportsCustomResolution": {
                                                                    "type": "boolean"
                                                                },
                                                                "maxImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImagesWithEndImage": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxVideoInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxAudioInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxNativeOutputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "defaultResolution": {
                                                                    "oneOf": [
                                                                        {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "360p",
                                                                                "480p",
                                                                                "540p",
                                                                                "580p",
                                                                                "720p",
                                                                                "1080p",
                                                                                "1440p",
                                                                                "2160p",
                                                                                "4k",
                                                                                "0.5K",
                                                                                "1K",
                                                                                "2K",
                                                                                "4K",
                                                                                "1k",
                                                                                "2k"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "string"
                                                                        }
                                                                    ]
                                                                },
                                                                "estimatedLatency": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "estimatedLatencySeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "featuredDescription": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                }
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "model",
                                                        "variant"
                                                    ]
                                                },
                                                "textToSfx": {
                                                    "type": "object",
                                                    "properties": {
                                                        "model": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "variant": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "capabilities": {
                                                            "type": "object",
                                                            "properties": {
                                                                "displayName": {
                                                                    "type": "string"
                                                                },
                                                                "tier": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "supportedInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "image",
                                                                            "video"
                                                                        ]
                                                                    }
                                                                },
                                                                "requiredInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "optionalInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "supportsSeed": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioGeneration": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioToggle": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsNegativePrompt": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportedAspectRatios": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "21:9",
                                                                            "16:9",
                                                                            "3:2",
                                                                            "4:3",
                                                                            "5:4",
                                                                            "1:1",
                                                                            "4:5",
                                                                            "3:4",
                                                                            "2:3",
                                                                            "9:16",
                                                                            "9:21"
                                                                        ]
                                                                    }
                                                                },
                                                                "supportedDurations": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "number"
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedDurationsByResolution": {
                                                                    "type": "object",
                                                                    "additionalProperties": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "number"
                                                                        }
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedResolutions": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "oneOf": [
                                                                            {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "360p",
                                                                                    "480p",
                                                                                    "540p",
                                                                                    "580p",
                                                                                    "720p",
                                                                                    "1080p",
                                                                                    "1440p",
                                                                                    "2160p",
                                                                                    "4k",
                                                                                    "0.5K",
                                                                                    "1K",
                                                                                    "2K",
                                                                                    "4K",
                                                                                    "1k",
                                                                                    "2k"
                                                                                ]
                                                                            },
                                                                            {
                                                                                "type": "string"
                                                                            }
                                                                        ]
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportsCustomResolution": {
                                                                    "type": "boolean"
                                                                },
                                                                "maxImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImagesWithEndImage": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxVideoInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxAudioInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxNativeOutputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "defaultResolution": {
                                                                    "oneOf": [
                                                                        {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "360p",
                                                                                "480p",
                                                                                "540p",
                                                                                "580p",
                                                                                "720p",
                                                                                "1080p",
                                                                                "1440p",
                                                                                "2160p",
                                                                                "4k",
                                                                                "0.5K",
                                                                                "1K",
                                                                                "2K",
                                                                                "4K",
                                                                                "1k",
                                                                                "2k"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "string"
                                                                        }
                                                                    ]
                                                                },
                                                                "estimatedLatency": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "estimatedLatencySeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "featuredDescription": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                }
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "model",
                                                        "variant"
                                                    ]
                                                },
                                                "textToMusic": {
                                                    "type": "object",
                                                    "properties": {
                                                        "model": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "variant": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "capabilities": {
                                                            "type": "object",
                                                            "properties": {
                                                                "displayName": {
                                                                    "type": "string"
                                                                },
                                                                "tier": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "supportedInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "image",
                                                                            "video"
                                                                        ]
                                                                    }
                                                                },
                                                                "requiredInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "optionalInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "supportsSeed": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioGeneration": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioToggle": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsNegativePrompt": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportedAspectRatios": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "21:9",
                                                                            "16:9",
                                                                            "3:2",
                                                                            "4:3",
                                                                            "5:4",
                                                                            "1:1",
                                                                            "4:5",
                                                                            "3:4",
                                                                            "2:3",
                                                                            "9:16",
                                                                            "9:21"
                                                                        ]
                                                                    }
                                                                },
                                                                "supportedDurations": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "number"
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedDurationsByResolution": {
                                                                    "type": "object",
                                                                    "additionalProperties": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "number"
                                                                        }
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedResolutions": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "oneOf": [
                                                                            {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "360p",
                                                                                    "480p",
                                                                                    "540p",
                                                                                    "580p",
                                                                                    "720p",
                                                                                    "1080p",
                                                                                    "1440p",
                                                                                    "2160p",
                                                                                    "4k",
                                                                                    "0.5K",
                                                                                    "1K",
                                                                                    "2K",
                                                                                    "4K",
                                                                                    "1k",
                                                                                    "2k"
                                                                                ]
                                                                            },
                                                                            {
                                                                                "type": "string"
                                                                            }
                                                                        ]
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportsCustomResolution": {
                                                                    "type": "boolean"
                                                                },
                                                                "maxImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImagesWithEndImage": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxVideoInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxAudioInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxNativeOutputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "defaultResolution": {
                                                                    "oneOf": [
                                                                        {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "360p",
                                                                                "480p",
                                                                                "540p",
                                                                                "580p",
                                                                                "720p",
                                                                                "1080p",
                                                                                "1440p",
                                                                                "2160p",
                                                                                "4k",
                                                                                "0.5K",
                                                                                "1K",
                                                                                "2K",
                                                                                "4K",
                                                                                "1k",
                                                                                "2k"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "string"
                                                                        }
                                                                    ]
                                                                },
                                                                "estimatedLatency": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "estimatedLatencySeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "featuredDescription": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                }
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "model",
                                                        "variant"
                                                    ]
                                                },
                                                "speechToText": {
                                                    "type": "object",
                                                    "properties": {
                                                        "model": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "variant": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "capabilities": {
                                                            "type": "object",
                                                            "properties": {
                                                                "displayName": {
                                                                    "type": "string"
                                                                },
                                                                "tier": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "supportedInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "image",
                                                                            "video"
                                                                        ]
                                                                    }
                                                                },
                                                                "requiredInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "optionalInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "supportsSeed": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioGeneration": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioToggle": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsNegativePrompt": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportedAspectRatios": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "21:9",
                                                                            "16:9",
                                                                            "3:2",
                                                                            "4:3",
                                                                            "5:4",
                                                                            "1:1",
                                                                            "4:5",
                                                                            "3:4",
                                                                            "2:3",
                                                                            "9:16",
                                                                            "9:21"
                                                                        ]
                                                                    }
                                                                },
                                                                "supportedDurations": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "number"
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedDurationsByResolution": {
                                                                    "type": "object",
                                                                    "additionalProperties": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "number"
                                                                        }
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedResolutions": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "oneOf": [
                                                                            {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "360p",
                                                                                    "480p",
                                                                                    "540p",
                                                                                    "580p",
                                                                                    "720p",
                                                                                    "1080p",
                                                                                    "1440p",
                                                                                    "2160p",
                                                                                    "4k",
                                                                                    "0.5K",
                                                                                    "1K",
                                                                                    "2K",
                                                                                    "4K",
                                                                                    "1k",
                                                                                    "2k"
                                                                                ]
                                                                            },
                                                                            {
                                                                                "type": "string"
                                                                            }
                                                                        ]
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportsCustomResolution": {
                                                                    "type": "boolean"
                                                                },
                                                                "maxImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImagesWithEndImage": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxVideoInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxAudioInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxNativeOutputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "defaultResolution": {
                                                                    "oneOf": [
                                                                        {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "360p",
                                                                                "480p",
                                                                                "540p",
                                                                                "580p",
                                                                                "720p",
                                                                                "1080p",
                                                                                "1440p",
                                                                                "2160p",
                                                                                "4k",
                                                                                "0.5K",
                                                                                "1K",
                                                                                "2K",
                                                                                "4K",
                                                                                "1k",
                                                                                "2k"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "string"
                                                                        }
                                                                    ]
                                                                },
                                                                "estimatedLatency": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "estimatedLatencySeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "featuredDescription": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                }
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "model",
                                                        "variant"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "textToSpeech",
                                                "audioToAudio",
                                                "textToSfx",
                                                "textToMusic",
                                                "speechToText"
                                            ]
                                        },
                                        "fast": {
                                            "type": "object",
                                            "properties": {
                                                "text": {
                                                    "type": "object",
                                                    "properties": {
                                                        "model": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "variant": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        },
                                                        "capabilities": {
                                                            "type": "object",
                                                            "properties": {
                                                                "displayName": {
                                                                    "type": "string"
                                                                },
                                                                "tier": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "supportedInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "image",
                                                                            "video"
                                                                        ]
                                                                    }
                                                                },
                                                                "requiredInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "optionalInputs": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "supportsSeed": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioGeneration": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsAudioToggle": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportsNegativePrompt": {
                                                                    "type": "boolean"
                                                                },
                                                                "supportedAspectRatios": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "21:9",
                                                                            "16:9",
                                                                            "3:2",
                                                                            "4:3",
                                                                            "5:4",
                                                                            "1:1",
                                                                            "4:5",
                                                                            "3:4",
                                                                            "2:3",
                                                                            "9:16",
                                                                            "9:21"
                                                                        ]
                                                                    }
                                                                },
                                                                "supportedDurations": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "number"
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedDurationsByResolution": {
                                                                    "type": "object",
                                                                    "additionalProperties": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "number"
                                                                        }
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportedResolutions": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "oneOf": [
                                                                            {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "360p",
                                                                                    "480p",
                                                                                    "540p",
                                                                                    "580p",
                                                                                    "720p",
                                                                                    "1080p",
                                                                                    "1440p",
                                                                                    "2160p",
                                                                                    "4k",
                                                                                    "0.5K",
                                                                                    "1K",
                                                                                    "2K",
                                                                                    "4K",
                                                                                    "1k",
                                                                                    "2k"
                                                                                ]
                                                                            },
                                                                            {
                                                                                "type": "string"
                                                                            }
                                                                        ]
                                                                    },
                                                                    "nullable": true
                                                                },
                                                                "supportsCustomResolution": {
                                                                    "type": "boolean"
                                                                },
                                                                "maxImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImageInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxReferenceImagesWithEndImage": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxVideoInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxAudioInputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxNativeOutputs": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoArea": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minInputVideoDurationSeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "maxPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "minPromptLength": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "defaultResolution": {
                                                                    "oneOf": [
                                                                        {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "360p",
                                                                                "480p",
                                                                                "540p",
                                                                                "580p",
                                                                                "720p",
                                                                                "1080p",
                                                                                "1440p",
                                                                                "2160p",
                                                                                "4k",
                                                                                "0.5K",
                                                                                "1K",
                                                                                "2K",
                                                                                "4K",
                                                                                "1k",
                                                                                "2k"
                                                                            ]
                                                                        },
                                                                        {
                                                                            "type": "string"
                                                                        }
                                                                    ]
                                                                },
                                                                "estimatedLatency": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "estimatedLatencySeconds": {
                                                                    "type": "number",
                                                                    "nullable": true
                                                                },
                                                                "featuredDescription": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                }
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "model",
                                                        "variant"
                                                    ]
                                                },
                                                "image": {
                                                    "type": "object",
                                                    "properties": {
                                                        "textToImage": {
                                                            "type": "object",
                                                            "properties": {
                                                                "model": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "variant": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "capabilities": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "displayName": {
                                                                            "type": "string"
                                                                        },
                                                                        "tier": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "supportedInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "image",
                                                                                    "video"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "requiredInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "optionalInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "supportsSeed": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsAudioGeneration": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsAudioToggle": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsNegativePrompt": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportedAspectRatios": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "21:9",
                                                                                    "16:9",
                                                                                    "3:2",
                                                                                    "4:3",
                                                                                    "5:4",
                                                                                    "1:1",
                                                                                    "4:5",
                                                                                    "3:4",
                                                                                    "2:3",
                                                                                    "9:16",
                                                                                    "9:21"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "supportedDurations": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "number"
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportedDurationsByResolution": {
                                                                            "type": "object",
                                                                            "additionalProperties": {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "number"
                                                                                }
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportedResolutions": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "oneOf": [
                                                                                    {
                                                                                        "type": "string",
                                                                                        "enum": [
                                                                                            "360p",
                                                                                            "480p",
                                                                                            "540p",
                                                                                            "580p",
                                                                                            "720p",
                                                                                            "1080p",
                                                                                            "1440p",
                                                                                            "2160p",
                                                                                            "4k",
                                                                                            "0.5K",
                                                                                            "1K",
                                                                                            "2K",
                                                                                            "4K",
                                                                                            "1k",
                                                                                            "2k"
                                                                                        ]
                                                                                    },
                                                                                    {
                                                                                        "type": "string"
                                                                                    }
                                                                                ]
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportsCustomResolution": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "maxImageInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxReferenceImageInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxReferenceImagesWithEndImage": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxVideoInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxAudioInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxNativeOutputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxInputArea": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minInputVideoArea": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxInputVideoDurationSeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minInputVideoDurationSeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxPromptLength": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minPromptLength": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "defaultResolution": {
                                                                            "oneOf": [
                                                                                {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        "360p",
                                                                                        "480p",
                                                                                        "540p",
                                                                                        "580p",
                                                                                        "720p",
                                                                                        "1080p",
                                                                                        "1440p",
                                                                                        "2160p",
                                                                                        "4k",
                                                                                        "0.5K",
                                                                                        "1K",
                                                                                        "2K",
                                                                                        "4K",
                                                                                        "1k",
                                                                                        "2k"
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "type": "string"
                                                                                }
                                                                            ]
                                                                        },
                                                                        "estimatedLatency": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "estimatedLatencySeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "featuredDescription": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        }
                                                                    }
                                                                }
                                                            },
                                                            "required": [
                                                                "model",
                                                                "variant"
                                                            ]
                                                        },
                                                        "imageToImage": {
                                                            "type": "object",
                                                            "properties": {
                                                                "model": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "variant": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "capabilities": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "displayName": {
                                                                            "type": "string"
                                                                        },
                                                                        "tier": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "supportedInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "image",
                                                                                    "video"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "requiredInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "optionalInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "supportsSeed": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsAudioGeneration": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsAudioToggle": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsNegativePrompt": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportedAspectRatios": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "21:9",
                                                                                    "16:9",
                                                                                    "3:2",
                                                                                    "4:3",
                                                                                    "5:4",
                                                                                    "1:1",
                                                                                    "4:5",
                                                                                    "3:4",
                                                                                    "2:3",
                                                                                    "9:16",
                                                                                    "9:21"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "supportedDurations": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "number"
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportedDurationsByResolution": {
                                                                            "type": "object",
                                                                            "additionalProperties": {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "number"
                                                                                }
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportedResolutions": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "oneOf": [
                                                                                    {
                                                                                        "type": "string",
                                                                                        "enum": [
                                                                                            "360p",
                                                                                            "480p",
                                                                                            "540p",
                                                                                            "580p",
                                                                                            "720p",
                                                                                            "1080p",
                                                                                            "1440p",
                                                                                            "2160p",
                                                                                            "4k",
                                                                                            "0.5K",
                                                                                            "1K",
                                                                                            "2K",
                                                                                            "4K",
                                                                                            "1k",
                                                                                            "2k"
                                                                                        ]
                                                                                    },
                                                                                    {
                                                                                        "type": "string"
                                                                                    }
                                                                                ]
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportsCustomResolution": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "maxImageInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxReferenceImageInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxReferenceImagesWithEndImage": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxVideoInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxAudioInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxNativeOutputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxInputArea": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minInputVideoArea": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxInputVideoDurationSeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minInputVideoDurationSeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxPromptLength": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minPromptLength": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "defaultResolution": {
                                                                            "oneOf": [
                                                                                {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        "360p",
                                                                                        "480p",
                                                                                        "540p",
                                                                                        "580p",
                                                                                        "720p",
                                                                                        "1080p",
                                                                                        "1440p",
                                                                                        "2160p",
                                                                                        "4k",
                                                                                        "0.5K",
                                                                                        "1K",
                                                                                        "2K",
                                                                                        "4K",
                                                                                        "1k",
                                                                                        "2k"
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "type": "string"
                                                                                }
                                                                            ]
                                                                        },
                                                                        "estimatedLatency": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "estimatedLatencySeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "featuredDescription": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        }
                                                                    }
                                                                }
                                                            },
                                                            "required": [
                                                                "model",
                                                                "variant"
                                                            ]
                                                        }
                                                    },
                                                    "required": [
                                                        "textToImage",
                                                        "imageToImage"
                                                    ]
                                                },
                                                "video": {
                                                    "type": "object",
                                                    "properties": {
                                                        "textToVideo": {
                                                            "type": "object",
                                                            "properties": {
                                                                "model": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "variant": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "capabilities": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "displayName": {
                                                                            "type": "string"
                                                                        },
                                                                        "tier": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "supportedInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "image",
                                                                                    "video"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "requiredInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "optionalInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "supportsSeed": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsAudioGeneration": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsAudioToggle": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsNegativePrompt": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportedAspectRatios": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "21:9",
                                                                                    "16:9",
                                                                                    "3:2",
                                                                                    "4:3",
                                                                                    "5:4",
                                                                                    "1:1",
                                                                                    "4:5",
                                                                                    "3:4",
                                                                                    "2:3",
                                                                                    "9:16",
                                                                                    "9:21"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "supportedDurations": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "number"
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportedDurationsByResolution": {
                                                                            "type": "object",
                                                                            "additionalProperties": {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "number"
                                                                                }
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportedResolutions": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "oneOf": [
                                                                                    {
                                                                                        "type": "string",
                                                                                        "enum": [
                                                                                            "360p",
                                                                                            "480p",
                                                                                            "540p",
                                                                                            "580p",
                                                                                            "720p",
                                                                                            "1080p",
                                                                                            "1440p",
                                                                                            "2160p",
                                                                                            "4k",
                                                                                            "0.5K",
                                                                                            "1K",
                                                                                            "2K",
                                                                                            "4K",
                                                                                            "1k",
                                                                                            "2k"
                                                                                        ]
                                                                                    },
                                                                                    {
                                                                                        "type": "string"
                                                                                    }
                                                                                ]
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportsCustomResolution": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "maxImageInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxReferenceImageInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxReferenceImagesWithEndImage": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxVideoInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxAudioInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxNativeOutputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxInputArea": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minInputVideoArea": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxInputVideoDurationSeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minInputVideoDurationSeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxPromptLength": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minPromptLength": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "defaultResolution": {
                                                                            "oneOf": [
                                                                                {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        "360p",
                                                                                        "480p",
                                                                                        "540p",
                                                                                        "580p",
                                                                                        "720p",
                                                                                        "1080p",
                                                                                        "1440p",
                                                                                        "2160p",
                                                                                        "4k",
                                                                                        "0.5K",
                                                                                        "1K",
                                                                                        "2K",
                                                                                        "4K",
                                                                                        "1k",
                                                                                        "2k"
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "type": "string"
                                                                                }
                                                                            ]
                                                                        },
                                                                        "estimatedLatency": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "estimatedLatencySeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "featuredDescription": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        }
                                                                    }
                                                                }
                                                            },
                                                            "required": [
                                                                "model",
                                                                "variant"
                                                            ]
                                                        },
                                                        "imageToVideo": {
                                                            "type": "object",
                                                            "properties": {
                                                                "model": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "variant": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "capabilities": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "displayName": {
                                                                            "type": "string"
                                                                        },
                                                                        "tier": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "supportedInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "image",
                                                                                    "video"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "requiredInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "optionalInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "supportsSeed": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsAudioGeneration": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsAudioToggle": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsNegativePrompt": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportedAspectRatios": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "21:9",
                                                                                    "16:9",
                                                                                    "3:2",
                                                                                    "4:3",
                                                                                    "5:4",
                                                                                    "1:1",
                                                                                    "4:5",
                                                                                    "3:4",
                                                                                    "2:3",
                                                                                    "9:16",
                                                                                    "9:21"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "supportedDurations": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "number"
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportedDurationsByResolution": {
                                                                            "type": "object",
                                                                            "additionalProperties": {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "number"
                                                                                }
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportedResolutions": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "oneOf": [
                                                                                    {
                                                                                        "type": "string",
                                                                                        "enum": [
                                                                                            "360p",
                                                                                            "480p",
                                                                                            "540p",
                                                                                            "580p",
                                                                                            "720p",
                                                                                            "1080p",
                                                                                            "1440p",
                                                                                            "2160p",
                                                                                            "4k",
                                                                                            "0.5K",
                                                                                            "1K",
                                                                                            "2K",
                                                                                            "4K",
                                                                                            "1k",
                                                                                            "2k"
                                                                                        ]
                                                                                    },
                                                                                    {
                                                                                        "type": "string"
                                                                                    }
                                                                                ]
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportsCustomResolution": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "maxImageInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxReferenceImageInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxReferenceImagesWithEndImage": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxVideoInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxAudioInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxNativeOutputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxInputArea": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minInputVideoArea": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxInputVideoDurationSeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minInputVideoDurationSeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxPromptLength": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minPromptLength": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "defaultResolution": {
                                                                            "oneOf": [
                                                                                {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        "360p",
                                                                                        "480p",
                                                                                        "540p",
                                                                                        "580p",
                                                                                        "720p",
                                                                                        "1080p",
                                                                                        "1440p",
                                                                                        "2160p",
                                                                                        "4k",
                                                                                        "0.5K",
                                                                                        "1K",
                                                                                        "2K",
                                                                                        "4K",
                                                                                        "1k",
                                                                                        "2k"
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "type": "string"
                                                                                }
                                                                            ]
                                                                        },
                                                                        "estimatedLatency": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "estimatedLatencySeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "featuredDescription": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        }
                                                                    }
                                                                }
                                                            },
                                                            "required": [
                                                                "model",
                                                                "variant"
                                                            ]
                                                        },
                                                        "videoToVideo": {
                                                            "type": "object",
                                                            "properties": {
                                                                "model": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "variant": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "capabilities": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "displayName": {
                                                                            "type": "string"
                                                                        },
                                                                        "tier": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "supportedInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "image",
                                                                                    "video"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "requiredInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "optionalInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "supportsSeed": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsAudioGeneration": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsAudioToggle": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsNegativePrompt": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportedAspectRatios": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "21:9",
                                                                                    "16:9",
                                                                                    "3:2",
                                                                                    "4:3",
                                                                                    "5:4",
                                                                                    "1:1",
                                                                                    "4:5",
                                                                                    "3:4",
                                                                                    "2:3",
                                                                                    "9:16",
                                                                                    "9:21"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "supportedDurations": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "number"
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportedDurationsByResolution": {
                                                                            "type": "object",
                                                                            "additionalProperties": {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "number"
                                                                                }
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportedResolutions": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "oneOf": [
                                                                                    {
                                                                                        "type": "string",
                                                                                        "enum": [
                                                                                            "360p",
                                                                                            "480p",
                                                                                            "540p",
                                                                                            "580p",
                                                                                            "720p",
                                                                                            "1080p",
                                                                                            "1440p",
                                                                                            "2160p",
                                                                                            "4k",
                                                                                            "0.5K",
                                                                                            "1K",
                                                                                            "2K",
                                                                                            "4K",
                                                                                            "1k",
                                                                                            "2k"
                                                                                        ]
                                                                                    },
                                                                                    {
                                                                                        "type": "string"
                                                                                    }
                                                                                ]
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportsCustomResolution": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "maxImageInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxReferenceImageInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxReferenceImagesWithEndImage": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxVideoInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxAudioInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxNativeOutputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxInputArea": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minInputVideoArea": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxInputVideoDurationSeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minInputVideoDurationSeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxPromptLength": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minPromptLength": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "defaultResolution": {
                                                                            "oneOf": [
                                                                                {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        "360p",
                                                                                        "480p",
                                                                                        "540p",
                                                                                        "580p",
                                                                                        "720p",
                                                                                        "1080p",
                                                                                        "1440p",
                                                                                        "2160p",
                                                                                        "4k",
                                                                                        "0.5K",
                                                                                        "1K",
                                                                                        "2K",
                                                                                        "4K",
                                                                                        "1k",
                                                                                        "2k"
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "type": "string"
                                                                                }
                                                                            ]
                                                                        },
                                                                        "estimatedLatency": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "estimatedLatencySeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "featuredDescription": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        }
                                                                    }
                                                                }
                                                            },
                                                            "required": [
                                                                "model",
                                                                "variant"
                                                            ]
                                                        }
                                                    },
                                                    "required": [
                                                        "textToVideo",
                                                        "imageToVideo",
                                                        "videoToVideo"
                                                    ]
                                                },
                                                "audio": {
                                                    "type": "object",
                                                    "properties": {
                                                        "textToSpeech": {
                                                            "type": "object",
                                                            "properties": {
                                                                "model": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "variant": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "capabilities": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "displayName": {
                                                                            "type": "string"
                                                                        },
                                                                        "tier": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "supportedInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "image",
                                                                                    "video"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "requiredInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "optionalInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "supportsSeed": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsAudioGeneration": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsAudioToggle": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsNegativePrompt": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportedAspectRatios": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "21:9",
                                                                                    "16:9",
                                                                                    "3:2",
                                                                                    "4:3",
                                                                                    "5:4",
                                                                                    "1:1",
                                                                                    "4:5",
                                                                                    "3:4",
                                                                                    "2:3",
                                                                                    "9:16",
                                                                                    "9:21"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "supportedDurations": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "number"
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportedDurationsByResolution": {
                                                                            "type": "object",
                                                                            "additionalProperties": {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "number"
                                                                                }
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportedResolutions": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "oneOf": [
                                                                                    {
                                                                                        "type": "string",
                                                                                        "enum": [
                                                                                            "360p",
                                                                                            "480p",
                                                                                            "540p",
                                                                                            "580p",
                                                                                            "720p",
                                                                                            "1080p",
                                                                                            "1440p",
                                                                                            "2160p",
                                                                                            "4k",
                                                                                            "0.5K",
                                                                                            "1K",
                                                                                            "2K",
                                                                                            "4K",
                                                                                            "1k",
                                                                                            "2k"
                                                                                        ]
                                                                                    },
                                                                                    {
                                                                                        "type": "string"
                                                                                    }
                                                                                ]
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportsCustomResolution": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "maxImageInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxReferenceImageInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxReferenceImagesWithEndImage": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxVideoInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxAudioInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxNativeOutputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxInputArea": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minInputVideoArea": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxInputVideoDurationSeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minInputVideoDurationSeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxPromptLength": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minPromptLength": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "defaultResolution": {
                                                                            "oneOf": [
                                                                                {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        "360p",
                                                                                        "480p",
                                                                                        "540p",
                                                                                        "580p",
                                                                                        "720p",
                                                                                        "1080p",
                                                                                        "1440p",
                                                                                        "2160p",
                                                                                        "4k",
                                                                                        "0.5K",
                                                                                        "1K",
                                                                                        "2K",
                                                                                        "4K",
                                                                                        "1k",
                                                                                        "2k"
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "type": "string"
                                                                                }
                                                                            ]
                                                                        },
                                                                        "estimatedLatency": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "estimatedLatencySeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "featuredDescription": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        }
                                                                    }
                                                                }
                                                            },
                                                            "required": [
                                                                "model",
                                                                "variant"
                                                            ]
                                                        },
                                                        "audioToAudio": {
                                                            "type": "object",
                                                            "properties": {
                                                                "model": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "variant": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "capabilities": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "displayName": {
                                                                            "type": "string"
                                                                        },
                                                                        "tier": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "supportedInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "image",
                                                                                    "video"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "requiredInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "optionalInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "supportsSeed": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsAudioGeneration": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsAudioToggle": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsNegativePrompt": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportedAspectRatios": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "21:9",
                                                                                    "16:9",
                                                                                    "3:2",
                                                                                    "4:3",
                                                                                    "5:4",
                                                                                    "1:1",
                                                                                    "4:5",
                                                                                    "3:4",
                                                                                    "2:3",
                                                                                    "9:16",
                                                                                    "9:21"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "supportedDurations": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "number"
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportedDurationsByResolution": {
                                                                            "type": "object",
                                                                            "additionalProperties": {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "number"
                                                                                }
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportedResolutions": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "oneOf": [
                                                                                    {
                                                                                        "type": "string",
                                                                                        "enum": [
                                                                                            "360p",
                                                                                            "480p",
                                                                                            "540p",
                                                                                            "580p",
                                                                                            "720p",
                                                                                            "1080p",
                                                                                            "1440p",
                                                                                            "2160p",
                                                                                            "4k",
                                                                                            "0.5K",
                                                                                            "1K",
                                                                                            "2K",
                                                                                            "4K",
                                                                                            "1k",
                                                                                            "2k"
                                                                                        ]
                                                                                    },
                                                                                    {
                                                                                        "type": "string"
                                                                                    }
                                                                                ]
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportsCustomResolution": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "maxImageInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxReferenceImageInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxReferenceImagesWithEndImage": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxVideoInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxAudioInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxNativeOutputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxInputArea": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minInputVideoArea": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxInputVideoDurationSeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minInputVideoDurationSeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxPromptLength": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minPromptLength": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "defaultResolution": {
                                                                            "oneOf": [
                                                                                {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        "360p",
                                                                                        "480p",
                                                                                        "540p",
                                                                                        "580p",
                                                                                        "720p",
                                                                                        "1080p",
                                                                                        "1440p",
                                                                                        "2160p",
                                                                                        "4k",
                                                                                        "0.5K",
                                                                                        "1K",
                                                                                        "2K",
                                                                                        "4K",
                                                                                        "1k",
                                                                                        "2k"
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "type": "string"
                                                                                }
                                                                            ]
                                                                        },
                                                                        "estimatedLatency": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "estimatedLatencySeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "featuredDescription": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        }
                                                                    }
                                                                }
                                                            },
                                                            "required": [
                                                                "model",
                                                                "variant"
                                                            ]
                                                        },
                                                        "textToSfx": {
                                                            "type": "object",
                                                            "properties": {
                                                                "model": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "variant": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "capabilities": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "displayName": {
                                                                            "type": "string"
                                                                        },
                                                                        "tier": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "supportedInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "image",
                                                                                    "video"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "requiredInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "optionalInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "supportsSeed": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsAudioGeneration": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsAudioToggle": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsNegativePrompt": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportedAspectRatios": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "21:9",
                                                                                    "16:9",
                                                                                    "3:2",
                                                                                    "4:3",
                                                                                    "5:4",
                                                                                    "1:1",
                                                                                    "4:5",
                                                                                    "3:4",
                                                                                    "2:3",
                                                                                    "9:16",
                                                                                    "9:21"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "supportedDurations": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "number"
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportedDurationsByResolution": {
                                                                            "type": "object",
                                                                            "additionalProperties": {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "number"
                                                                                }
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportedResolutions": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "oneOf": [
                                                                                    {
                                                                                        "type": "string",
                                                                                        "enum": [
                                                                                            "360p",
                                                                                            "480p",
                                                                                            "540p",
                                                                                            "580p",
                                                                                            "720p",
                                                                                            "1080p",
                                                                                            "1440p",
                                                                                            "2160p",
                                                                                            "4k",
                                                                                            "0.5K",
                                                                                            "1K",
                                                                                            "2K",
                                                                                            "4K",
                                                                                            "1k",
                                                                                            "2k"
                                                                                        ]
                                                                                    },
                                                                                    {
                                                                                        "type": "string"
                                                                                    }
                                                                                ]
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportsCustomResolution": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "maxImageInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxReferenceImageInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxReferenceImagesWithEndImage": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxVideoInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxAudioInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxNativeOutputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxInputArea": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minInputVideoArea": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxInputVideoDurationSeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minInputVideoDurationSeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxPromptLength": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minPromptLength": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "defaultResolution": {
                                                                            "oneOf": [
                                                                                {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        "360p",
                                                                                        "480p",
                                                                                        "540p",
                                                                                        "580p",
                                                                                        "720p",
                                                                                        "1080p",
                                                                                        "1440p",
                                                                                        "2160p",
                                                                                        "4k",
                                                                                        "0.5K",
                                                                                        "1K",
                                                                                        "2K",
                                                                                        "4K",
                                                                                        "1k",
                                                                                        "2k"
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "type": "string"
                                                                                }
                                                                            ]
                                                                        },
                                                                        "estimatedLatency": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "estimatedLatencySeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "featuredDescription": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        }
                                                                    }
                                                                }
                                                            },
                                                            "required": [
                                                                "model",
                                                                "variant"
                                                            ]
                                                        },
                                                        "textToMusic": {
                                                            "type": "object",
                                                            "properties": {
                                                                "model": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "variant": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "capabilities": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "displayName": {
                                                                            "type": "string"
                                                                        },
                                                                        "tier": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "supportedInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "image",
                                                                                    "video"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "requiredInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "optionalInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "supportsSeed": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsAudioGeneration": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsAudioToggle": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsNegativePrompt": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportedAspectRatios": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "21:9",
                                                                                    "16:9",
                                                                                    "3:2",
                                                                                    "4:3",
                                                                                    "5:4",
                                                                                    "1:1",
                                                                                    "4:5",
                                                                                    "3:4",
                                                                                    "2:3",
                                                                                    "9:16",
                                                                                    "9:21"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "supportedDurations": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "number"
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportedDurationsByResolution": {
                                                                            "type": "object",
                                                                            "additionalProperties": {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "number"
                                                                                }
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportedResolutions": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "oneOf": [
                                                                                    {
                                                                                        "type": "string",
                                                                                        "enum": [
                                                                                            "360p",
                                                                                            "480p",
                                                                                            "540p",
                                                                                            "580p",
                                                                                            "720p",
                                                                                            "1080p",
                                                                                            "1440p",
                                                                                            "2160p",
                                                                                            "4k",
                                                                                            "0.5K",
                                                                                            "1K",
                                                                                            "2K",
                                                                                            "4K",
                                                                                            "1k",
                                                                                            "2k"
                                                                                        ]
                                                                                    },
                                                                                    {
                                                                                        "type": "string"
                                                                                    }
                                                                                ]
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportsCustomResolution": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "maxImageInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxReferenceImageInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxReferenceImagesWithEndImage": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxVideoInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxAudioInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxNativeOutputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxInputArea": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minInputVideoArea": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxInputVideoDurationSeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minInputVideoDurationSeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxPromptLength": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minPromptLength": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "defaultResolution": {
                                                                            "oneOf": [
                                                                                {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        "360p",
                                                                                        "480p",
                                                                                        "540p",
                                                                                        "580p",
                                                                                        "720p",
                                                                                        "1080p",
                                                                                        "1440p",
                                                                                        "2160p",
                                                                                        "4k",
                                                                                        "0.5K",
                                                                                        "1K",
                                                                                        "2K",
                                                                                        "4K",
                                                                                        "1k",
                                                                                        "2k"
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "type": "string"
                                                                                }
                                                                            ]
                                                                        },
                                                                        "estimatedLatency": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "estimatedLatencySeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "featuredDescription": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        }
                                                                    }
                                                                }
                                                            },
                                                            "required": [
                                                                "model",
                                                                "variant"
                                                            ]
                                                        },
                                                        "speechToText": {
                                                            "type": "object",
                                                            "properties": {
                                                                "model": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "variant": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "capabilities": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "displayName": {
                                                                            "type": "string"
                                                                        },
                                                                        "tier": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "supportedInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "image",
                                                                                    "video"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "requiredInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "optionalInputs": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        },
                                                                        "supportsSeed": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsAudioGeneration": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsAudioToggle": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportsNegativePrompt": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "supportedAspectRatios": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string",
                                                                                "enum": [
                                                                                    "21:9",
                                                                                    "16:9",
                                                                                    "3:2",
                                                                                    "4:3",
                                                                                    "5:4",
                                                                                    "1:1",
                                                                                    "4:5",
                                                                                    "3:4",
                                                                                    "2:3",
                                                                                    "9:16",
                                                                                    "9:21"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "supportedDurations": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "number"
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportedDurationsByResolution": {
                                                                            "type": "object",
                                                                            "additionalProperties": {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "number"
                                                                                }
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportedResolutions": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "oneOf": [
                                                                                    {
                                                                                        "type": "string",
                                                                                        "enum": [
                                                                                            "360p",
                                                                                            "480p",
                                                                                            "540p",
                                                                                            "580p",
                                                                                            "720p",
                                                                                            "1080p",
                                                                                            "1440p",
                                                                                            "2160p",
                                                                                            "4k",
                                                                                            "0.5K",
                                                                                            "1K",
                                                                                            "2K",
                                                                                            "4K",
                                                                                            "1k",
                                                                                            "2k"
                                                                                        ]
                                                                                    },
                                                                                    {
                                                                                        "type": "string"
                                                                                    }
                                                                                ]
                                                                            },
                                                                            "nullable": true
                                                                        },
                                                                        "supportsCustomResolution": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "maxImageInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxReferenceImageInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxReferenceImagesWithEndImage": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxVideoInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxAudioInputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxNativeOutputs": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxInputArea": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minInputVideoArea": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxInputVideoDurationSeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minInputVideoDurationSeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "maxPromptLength": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "minPromptLength": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "defaultResolution": {
                                                                            "oneOf": [
                                                                                {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        "360p",
                                                                                        "480p",
                                                                                        "540p",
                                                                                        "580p",
                                                                                        "720p",
                                                                                        "1080p",
                                                                                        "1440p",
                                                                                        "2160p",
                                                                                        "4k",
                                                                                        "0.5K",
                                                                                        "1K",
                                                                                        "2K",
                                                                                        "4K",
                                                                                        "1k",
                                                                                        "2k"
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "type": "string"
                                                                                }
                                                                            ]
                                                                        },
                                                                        "estimatedLatency": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        },
                                                                        "estimatedLatencySeconds": {
                                                                            "type": "number",
                                                                            "nullable": true
                                                                        },
                                                                        "featuredDescription": {
                                                                            "type": "string",
                                                                            "nullable": true
                                                                        }
                                                                    }
                                                                }
                                                            },
                                                            "required": [
                                                                "model",
                                                                "variant"
                                                            ]
                                                        }
                                                    },
                                                    "required": [
                                                        "textToSpeech",
                                                        "audioToAudio",
                                                        "textToSfx",
                                                        "textToMusic",
                                                        "speechToText"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "text",
                                                "image",
                                                "video"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "text",
                                        "image",
                                        "video",
                                        "fast"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/audio/voices": {
            "get": {
                "summary": "List voices",
                "tags": ["audio"],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "default": 0,
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "name": "pageSize",
                        "in": "query",
                        "schema": {
                            "default": 100,
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": ["studio"]
                        }
                    },
                    {
                        "name": "language",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "en",
                                "es",
                                "fr",
                                "de",
                                "it",
                                "pt",
                                "pl",
                                "hi",
                                "ja",
                                "zh",
                                "ko",
                                "ar",
                                "ru",
                                "nl",
                                "sv",
                                "tr",
                                "id",
                                "fil",
                                "af",
                                "hy",
                                "az",
                                "be",
                                "bn",
                                "bs",
                                "bg",
                                "ca",
                                "cs",
                                "da",
                                "el",
                                "et",
                                "fi",
                                "he",
                                "hu",
                                "is",
                                "kn",
                                "lv",
                                "lt",
                                "ms",
                                "mr",
                                "no",
                                "ro",
                                "sk",
                                "sl",
                                "sr",
                                "ta",
                                "te",
                                "th",
                                "uk",
                                "ur",
                                "vi"
                            ]
                        }
                    },
                    {
                        "name": "accent",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "american",
                                "british",
                                "australian",
                                "irish",
                                "scottish",
                                "indian",
                                "canadian",
                                "south african",
                                "new zealand",
                                "swedish",
                                "italian",
                                "german",
                                "french",
                                "spanish",
                                "portuguese",
                                "brazilian",
                                "mexican",
                                "arabic",
                                "japanese",
                                "chinese",
                                "korean"
                            ]
                        }
                    },
                    {
                        "name": "gender",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": ["male", "female", "neutral"]
                        }
                    },
                    {
                        "name": "age",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": ["young", "middle_aged", "old"]
                        }
                    },
                    {
                        "name": "useCase",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "conversational",
                                "narrative_story",
                                "characters_animation",
                                "social_media",
                                "informative_educational",
                                "advertisement",
                                "entertainment_tv"
                            ]
                        }
                    }
                ],
                "operationId": "audio.listVoices",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "voices": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "voiceId": {
                                                        "type": "string"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    },
                                                    "category": {
                                                        "type": "string"
                                                    },
                                                    "previewUrl": {
                                                        "type": "string",
                                                        "format": "uri",
                                                        "nullable": true
                                                    },
                                                    "labels": {
                                                        "type": "object",
                                                        "additionalProperties": {
                                                            "type": "string"
                                                        }
                                                    }
                                                },
                                                "required": [
                                                    "voiceId",
                                                    "name",
                                                    "category",
                                                    "previewUrl",
                                                    "labels"
                                                ]
                                            }
                                        },
                                        "page": {
                                            "type": "number"
                                        },
                                        "pageSize": {
                                            "type": "number"
                                        },
                                        "hasMore": {
                                            "type": "boolean"
                                        },
                                        "totalCount": {
                                            "type": "number"
                                        }
                                    },
                                    "required": [
                                        "voices",
                                        "page",
                                        "pageSize",
                                        "hasMore",
                                        "totalCount"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "403",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/custom-fonts": {
            "get": {
                "summary": "List custom fonts",
                "tags": ["font"],
                "parameters": [
                    {
                        "name": "search",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "operationId": "font.list",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "familyName": {
                                                        "type": "string"
                                                    },
                                                    "originalFilename": {
                                                        "type": "string"
                                                    },
                                                    "contentType": {
                                                        "type": "string"
                                                    },
                                                    "fileSizeInKb": {
                                                        "type": "number"
                                                    },
                                                    "url": {
                                                        "type": "string"
                                                    },
                                                    "previewUrl": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "createdAt": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "familyName",
                                                    "originalFilename",
                                                    "contentType",
                                                    "fileSizeInKb",
                                                    "url",
                                                    "previewUrl",
                                                    "createdAt"
                                                ]
                                            }
                                        }
                                    },
                                    "required": ["data"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/presets": {
            "get": {
                "summary": "List presets",
                "tags": ["preset"],
                "parameters": [],
                "operationId": "preset.list",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "title": {
                                                        "type": "string"
                                                    },
                                                    "description": {
                                                        "type": "string"
                                                    },
                                                    "id": {
                                                        "type": "string"
                                                    },
                                                    "groupLabel": {
                                                        "type": "string"
                                                    },
                                                    "icon": {
                                                        "type": "string"
                                                    },
                                                    "nodes": {
                                                        "type": "array",
                                                        "items": {
                                                            "oneOf": [
                                                                {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "type": {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "text"
                                                                            ]
                                                                        },
                                                                        "data": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "title": {
                                                                                    "type": "string"
                                                                                },
                                                                                "mode": {
                                                                                    "type": "string"
                                                                                },
                                                                                "prompt": {
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "title",
                                                                                "mode",
                                                                                "prompt"
                                                                            ],
                                                                            "additionalProperties": true
                                                                        },
                                                                        "key": {
                                                                            "type": "string"
                                                                        },
                                                                        "width": {
                                                                            "type": "number"
                                                                        },
                                                                        "height": {
                                                                            "type": "number"
                                                                        },
                                                                        "column": {
                                                                            "type": "number"
                                                                        },
                                                                        "x": {
                                                                            "type": "number"
                                                                        },
                                                                        "y": {
                                                                            "type": "number"
                                                                        },
                                                                        "autoModel": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "model": {
                                                                                    "type": "string",
                                                                                    "minLength": 1
                                                                                },
                                                                                "variant": {
                                                                                    "type": "string",
                                                                                    "minLength": 1
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "model",
                                                                                "variant"
                                                                            ]
                                                                        },
                                                                        "parentKey": {
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "type",
                                                                        "data",
                                                                        "key"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "type": {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "image"
                                                                            ]
                                                                        },
                                                                        "data": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "title": {
                                                                                    "type": "string"
                                                                                },
                                                                                "src": {
                                                                                    "type": "string"
                                                                                },
                                                                                "mode": {
                                                                                    "type": "string"
                                                                                },
                                                                                "aspectRatio": {
                                                                                    "type": "string"
                                                                                },
                                                                                "prompt": {
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "title",
                                                                                "mode",
                                                                                "prompt"
                                                                            ],
                                                                            "additionalProperties": true
                                                                        },
                                                                        "key": {
                                                                            "type": "string"
                                                                        },
                                                                        "width": {
                                                                            "type": "number"
                                                                        },
                                                                        "height": {
                                                                            "type": "number"
                                                                        },
                                                                        "column": {
                                                                            "type": "number"
                                                                        },
                                                                        "x": {
                                                                            "type": "number"
                                                                        },
                                                                        "y": {
                                                                            "type": "number"
                                                                        },
                                                                        "autoModel": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "model": {
                                                                                    "type": "string",
                                                                                    "minLength": 1
                                                                                },
                                                                                "variant": {
                                                                                    "type": "string",
                                                                                    "minLength": 1
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "model",
                                                                                "variant"
                                                                            ]
                                                                        },
                                                                        "parentKey": {
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "type",
                                                                        "data",
                                                                        "key"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "type": {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "video"
                                                                            ]
                                                                        },
                                                                        "data": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "title": {
                                                                                    "type": "string"
                                                                                },
                                                                                "src": {
                                                                                    "type": "string"
                                                                                },
                                                                                "mode": {
                                                                                    "type": "string"
                                                                                },
                                                                                "aspectRatio": {
                                                                                    "type": "string"
                                                                                },
                                                                                "duration": {
                                                                                    "type": "string"
                                                                                },
                                                                                "prompt": {
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "title",
                                                                                "mode",
                                                                                "prompt"
                                                                            ],
                                                                            "additionalProperties": true
                                                                        },
                                                                        "key": {
                                                                            "type": "string"
                                                                        },
                                                                        "width": {
                                                                            "type": "number"
                                                                        },
                                                                        "height": {
                                                                            "type": "number"
                                                                        },
                                                                        "column": {
                                                                            "type": "number"
                                                                        },
                                                                        "x": {
                                                                            "type": "number"
                                                                        },
                                                                        "y": {
                                                                            "type": "number"
                                                                        },
                                                                        "autoModel": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "model": {
                                                                                    "type": "string",
                                                                                    "minLength": 1
                                                                                },
                                                                                "variant": {
                                                                                    "type": "string",
                                                                                    "minLength": 1
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "model",
                                                                                "variant"
                                                                            ]
                                                                        },
                                                                        "parentKey": {
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "type",
                                                                        "data",
                                                                        "key"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "type": {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "audio"
                                                                            ]
                                                                        },
                                                                        "data": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "title": {
                                                                                    "type": "string"
                                                                                },
                                                                                "src": {
                                                                                    "type": "string"
                                                                                },
                                                                                "mode": {
                                                                                    "type": "string"
                                                                                },
                                                                                "prompt": {
                                                                                    "type": "string"
                                                                                },
                                                                                "voiceId": {
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "title"
                                                                            ],
                                                                            "additionalProperties": true
                                                                        },
                                                                        "key": {
                                                                            "type": "string"
                                                                        },
                                                                        "width": {
                                                                            "type": "number"
                                                                        },
                                                                        "height": {
                                                                            "type": "number"
                                                                        },
                                                                        "column": {
                                                                            "type": "number"
                                                                        },
                                                                        "x": {
                                                                            "type": "number"
                                                                        },
                                                                        "y": {
                                                                            "type": "number"
                                                                        },
                                                                        "autoModel": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "model": {
                                                                                    "type": "string",
                                                                                    "minLength": 1
                                                                                },
                                                                                "variant": {
                                                                                    "type": "string",
                                                                                    "minLength": 1
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "model",
                                                                                "variant"
                                                                            ]
                                                                        },
                                                                        "parentKey": {
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "type",
                                                                        "data",
                                                                        "key"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "type": {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "file"
                                                                            ]
                                                                        },
                                                                        "data": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "title": {
                                                                                    "type": "string"
                                                                                },
                                                                                "src": {
                                                                                    "type": "string"
                                                                                },
                                                                                "mediaType": {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        "image",
                                                                                        "video"
                                                                                    ]
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "title",
                                                                                "mediaType"
                                                                            ],
                                                                            "additionalProperties": true
                                                                        },
                                                                        "key": {
                                                                            "type": "string"
                                                                        },
                                                                        "width": {
                                                                            "type": "number"
                                                                        },
                                                                        "height": {
                                                                            "type": "number"
                                                                        },
                                                                        "column": {
                                                                            "type": "number"
                                                                        },
                                                                        "x": {
                                                                            "type": "number"
                                                                        },
                                                                        "y": {
                                                                            "type": "number"
                                                                        },
                                                                        "autoModel": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "model": {
                                                                                    "type": "string",
                                                                                    "minLength": 1
                                                                                },
                                                                                "variant": {
                                                                                    "type": "string",
                                                                                    "minLength": 1
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "model",
                                                                                "variant"
                                                                            ]
                                                                        },
                                                                        "parentKey": {
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "type",
                                                                        "data",
                                                                        "key"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "type": {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "custom_text"
                                                                            ]
                                                                        },
                                                                        "data": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "title": {
                                                                                    "type": "string"
                                                                                },
                                                                                "generatedText": {
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "title"
                                                                            ],
                                                                            "additionalProperties": true
                                                                        },
                                                                        "key": {
                                                                            "type": "string"
                                                                        },
                                                                        "width": {
                                                                            "type": "number"
                                                                        },
                                                                        "height": {
                                                                            "type": "number"
                                                                        },
                                                                        "column": {
                                                                            "type": "number"
                                                                        },
                                                                        "x": {
                                                                            "type": "number"
                                                                        },
                                                                        "y": {
                                                                            "type": "number"
                                                                        },
                                                                        "autoModel": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "model": {
                                                                                    "type": "string",
                                                                                    "minLength": 1
                                                                                },
                                                                                "variant": {
                                                                                    "type": "string",
                                                                                    "minLength": 1
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "model",
                                                                                "variant"
                                                                            ]
                                                                        },
                                                                        "parentKey": {
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "type",
                                                                        "data",
                                                                        "key"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "type": {
                                                                            "type": "string",
                                                                            "enum": [
                                                                                "group"
                                                                            ]
                                                                        },
                                                                        "data": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "label": {
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "label"
                                                                            ],
                                                                            "additionalProperties": true
                                                                        },
                                                                        "key": {
                                                                            "type": "string"
                                                                        },
                                                                        "width": {
                                                                            "type": "number"
                                                                        },
                                                                        "height": {
                                                                            "type": "number"
                                                                        },
                                                                        "column": {
                                                                            "type": "number"
                                                                        },
                                                                        "x": {
                                                                            "type": "number"
                                                                        },
                                                                        "y": {
                                                                            "type": "number"
                                                                        },
                                                                        "autoModel": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "model": {
                                                                                    "type": "string",
                                                                                    "minLength": 1
                                                                                },
                                                                                "variant": {
                                                                                    "type": "string",
                                                                                    "minLength": 1
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "model",
                                                                                "variant"
                                                                            ]
                                                                        },
                                                                        "parentKey": {
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "type",
                                                                        "data",
                                                                        "key"
                                                                    ]
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    "edges": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "sourceKey": {
                                                                    "type": "string"
                                                                },
                                                                "targetKey": {
                                                                    "type": "string"
                                                                },
                                                                "handleId": {
                                                                    "type": "string"
                                                                },
                                                                "targetHandleId": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "required": [
                                                                "sourceKey",
                                                                "targetKey",
                                                                "handleId"
                                                            ]
                                                        }
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "title",
                                                    "groupLabel",
                                                    "icon",
                                                    "description",
                                                    "nodes",
                                                    "edges"
                                                ]
                                            }
                                        }
                                    },
                                    "required": ["data"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/templates": {
            "get": {
                "summary": "List templates",
                "tags": ["template"],
                "parameters": [],
                "operationId": "template.list",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "title": {
                                                        "type": "string"
                                                    },
                                                    "description": {
                                                        "type": "string"
                                                    },
                                                    "id": {
                                                        "type": "string"
                                                    },
                                                    "groupLabel": {
                                                        "type": "string"
                                                    },
                                                    "icon": {
                                                        "type": "string"
                                                    },
                                                    "previewImageUrl": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "previewVideoUrl": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "inputPorts": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "required": {
                                                                    "type": "boolean"
                                                                },
                                                                "id": {
                                                                    "type": "string"
                                                                },
                                                                "direction": {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "input",
                                                                        "output"
                                                                    ]
                                                                },
                                                                "label": {
                                                                    "type": "string"
                                                                },
                                                                "handleType": {
                                                                    "type": "string"
                                                                },
                                                                "maxConnections": {
                                                                    "type": "integer",
                                                                    "minimum": 0,
                                                                    "exclusiveMinimum": true
                                                                },
                                                                "outputAspectRatio": {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "21:9",
                                                                        "16:9",
                                                                        "3:2",
                                                                        "4:3",
                                                                        "5:4",
                                                                        "1:1",
                                                                        "4:5",
                                                                        "3:4",
                                                                        "2:3",
                                                                        "9:16",
                                                                        "9:21",
                                                                        null
                                                                    ],
                                                                    "nullable": true
                                                                },
                                                                "exampleAssetUrl": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "exampleText": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                }
                                                            },
                                                            "required": [
                                                                "id",
                                                                "direction",
                                                                "label",
                                                                "handleType"
                                                            ]
                                                        }
                                                    },
                                                    "outputPorts": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "required": {
                                                                    "type": "boolean"
                                                                },
                                                                "id": {
                                                                    "type": "string"
                                                                },
                                                                "direction": {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "input",
                                                                        "output"
                                                                    ]
                                                                },
                                                                "label": {
                                                                    "type": "string"
                                                                },
                                                                "handleType": {
                                                                    "type": "string"
                                                                },
                                                                "maxConnections": {
                                                                    "type": "integer",
                                                                    "minimum": 0,
                                                                    "exclusiveMinimum": true
                                                                },
                                                                "outputAspectRatio": {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "21:9",
                                                                        "16:9",
                                                                        "3:2",
                                                                        "4:3",
                                                                        "5:4",
                                                                        "1:1",
                                                                        "4:5",
                                                                        "3:4",
                                                                        "2:3",
                                                                        "9:16",
                                                                        "9:21",
                                                                        null
                                                                    ],
                                                                    "nullable": true
                                                                },
                                                                "exampleAssetUrl": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                },
                                                                "exampleText": {
                                                                    "type": "string",
                                                                    "nullable": true
                                                                }
                                                            },
                                                            "required": [
                                                                "id",
                                                                "direction",
                                                                "label",
                                                                "handleType"
                                                            ]
                                                        }
                                                    },
                                                    "canEdit": {
                                                        "type": "boolean"
                                                    },
                                                    "isGlobal": {
                                                        "type": "boolean"
                                                    },
                                                    "authorName": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "estimatedCreditCost": {
                                                        "type": "number"
                                                    },
                                                    "tags": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "title",
                                                    "groupLabel",
                                                    "icon",
                                                    "description",
                                                    "previewImageUrl",
                                                    "inputPorts",
                                                    "outputPorts",
                                                    "canEdit"
                                                ]
                                            }
                                        }
                                    },
                                    "required": ["data"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/templates/apply": {
            "post": {
                "summary": "Apply a template",
                "description": "Apply a template to a canvas as a single collapsed box.\n\nEach `inputs` entry targets a template `portId` (from **List templates**) and is one of `text`, `asset` (a stored library asset id), or `assetUrl` (a remote media URL that Melius fetches and stores as an asset — **Beta**, API-key requests only). The request sample on the right shows an `asset` input; to pass a **media URL** instead, send an `assetUrl` input:\n\n```bash\ncurl --request POST \\\n  --url https://api.melius.com/api/v1/templates/apply \\\n  --header 'Authorization: Bearer <mel_api_key>' \\\n  --header 'Content-Type: application/json' \\\n  --header 'x-team-id: <team-id>' \\\n  --data '{\n  \"canvasId\": \"<canvasId>\",\n  \"templateId\": \"<templateId>\",\n  \"inputs\": [\n    { \"kind\": \"assetUrl\", \"portId\": \"<portId>\", \"url\": \"https://example.com/photo.jpg\", \"mediaType\": \"image\" }\n  ]\n}'\n```",
                "tags": ["template"],
                "parameters": [],
                "operationId": "template.apply",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "canvasId": {
                                        "type": "string",
                                        "format": "uuid"
                                    },
                                    "templateId": {
                                        "type": "string",
                                        "format": "uuid"
                                    },
                                    "centerX": {
                                        "type": "number"
                                    },
                                    "centerY": {
                                        "type": "number"
                                    },
                                    "inputs": {
                                        "type": "array",
                                        "items": {
                                            "oneOf": [
                                                {
                                                    "type": "object",
                                                    "properties": {
                                                        "kind": {
                                                            "type": "string",
                                                            "enum": ["asset"]
                                                        },
                                                        "portId": {
                                                            "type": "string"
                                                        },
                                                        "assetId": {
                                                            "type": "string",
                                                            "format": "uuid"
                                                        },
                                                        "mediaType": {
                                                            "type": "string",
                                                            "enum": [
                                                                "image",
                                                                "video",
                                                                "audio",
                                                                "pdf"
                                                            ]
                                                        }
                                                    },
                                                    "required": [
                                                        "kind",
                                                        "portId",
                                                        "assetId",
                                                        "mediaType"
                                                    ]
                                                },
                                                {
                                                    "type": "object",
                                                    "properties": {
                                                        "kind": {
                                                            "type": "string",
                                                            "enum": ["text"]
                                                        },
                                                        "portId": {
                                                            "type": "string"
                                                        },
                                                        "text": {
                                                            "type": "string",
                                                            "minLength": 1
                                                        }
                                                    },
                                                    "required": [
                                                        "kind",
                                                        "portId",
                                                        "text"
                                                    ]
                                                },
                                                {
                                                    "type": "object",
                                                    "properties": {
                                                        "kind": {
                                                            "type": "string",
                                                            "enum": ["assetUrl"]
                                                        },
                                                        "portId": {
                                                            "type": "string"
                                                        },
                                                        "url": {
                                                            "type": "string",
                                                            "format": "uri"
                                                        },
                                                        "mediaType": {
                                                            "type": "string",
                                                            "enum": [
                                                                "image",
                                                                "video",
                                                                "audio",
                                                                "pdf"
                                                            ]
                                                        }
                                                    },
                                                    "required": [
                                                        "kind",
                                                        "portId",
                                                        "url",
                                                        "mediaType"
                                                    ]
                                                }
                                            ]
                                        }
                                    }
                                },
                                "required": ["canvasId", "templateId"]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "instanceId": {
                                            "type": "string"
                                        },
                                        "groupId": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["instanceId", "groupId"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/teams": {
            "get": {
                "summary": "List your teams",
                "tags": ["team"],
                "parameters": [],
                "operationId": "team.list",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "id": {
                                                "type": "string",
                                                "format": "uuid"
                                            },
                                            "role": {
                                                "type": "string",
                                                "enum": [
                                                    "owner",
                                                    "admin",
                                                    "editor",
                                                    "viewer"
                                                ]
                                            },
                                            "team": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    },
                                                    "plan": {
                                                        "type": "string",
                                                        "enum": [
                                                            "TIER_0",
                                                            "TIER_1",
                                                            "TIER_2",
                                                            "TIER_3",
                                                            "TIER_4"
                                                        ]
                                                    },
                                                    "teamPhotoUrl": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "createdAt": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "creditExpiresAt": {
                                                        "type": "string",
                                                        "format": "date-time",
                                                        "nullable": true
                                                    },
                                                    "advancedSettings": {
                                                        "type": "object",
                                                        "properties": {
                                                            "negativePromptEnabled": {
                                                                "type": "boolean"
                                                            },
                                                            "customSeedEnabled": {
                                                                "type": "boolean"
                                                            },
                                                            "domainJoinAutoApprove": {
                                                                "type": "boolean"
                                                            }
                                                        }
                                                    },
                                                    "activeProductFeatureOverrides": {
                                                        "default": [],
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "feature": {
                                                                    "type": "string",
                                                                    "minLength": 1
                                                                },
                                                                "expiresAt": {
                                                                    "type": "string",
                                                                    "format": "date-time"
                                                                }
                                                            },
                                                            "required": [
                                                                "feature",
                                                                "expiresAt"
                                                            ]
                                                        }
                                                    },
                                                    "activePlanPreview": {
                                                        "default": null,
                                                        "type": "object",
                                                        "properties": {
                                                            "previewPlanTier": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "TIER_0",
                                                                    "TIER_1",
                                                                    "TIER_2",
                                                                    "TIER_3",
                                                                    "TIER_4"
                                                                ]
                                                            },
                                                            "expiresAt": {
                                                                "type": "string",
                                                                "format": "date-time"
                                                            }
                                                        },
                                                        "required": [
                                                            "previewPlanTier",
                                                            "expiresAt"
                                                        ],
                                                        "nullable": true
                                                    }
                                                },
                                                "required": [
                                                    "id",
                                                    "name",
                                                    "plan",
                                                    "teamPhotoUrl",
                                                    "createdAt",
                                                    "creditExpiresAt",
                                                    "advancedSettings",
                                                    "activeProductFeatureOverrides",
                                                    "activePlanPreview"
                                                ]
                                            }
                                        },
                                        "required": ["id", "role", "team"]
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/profile/me": {
            "get": {
                "summary": "Get your profile",
                "tags": ["profile"],
                "parameters": [],
                "operationId": "profile.get",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "name": {
                                            "type": "string"
                                        },
                                        "email": {
                                            "type": "string"
                                        },
                                        "agentAutoRun": {
                                            "type": "boolean"
                                        },
                                        "completedProductTour": {
                                            "type": "string",
                                            "format": "date-time",
                                            "nullable": true
                                        },
                                        "avatarUrl": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "advancedSettings": {
                                            "type": "object",
                                            "properties": {
                                                "hideNodePromptsEnabled": {
                                                    "type": "boolean"
                                                },
                                                "magicResizeCustomResolutions": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "width": {
                                                                "type": "integer",
                                                                "minimum": 64,
                                                                "maximum": 4096
                                                            },
                                                            "height": {
                                                                "type": "integer",
                                                                "minimum": 64,
                                                                "maximum": 4096
                                                            }
                                                        },
                                                        "required": [
                                                            "width",
                                                            "height"
                                                        ]
                                                    },
                                                    "maxItems": 20
                                                }
                                            }
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "name",
                                        "email",
                                        "agentAutoRun",
                                        "completedProductTour",
                                        "avatarUrl",
                                        "advancedSettings"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/agent/approvals/{approvalId}": {
            "get": {
                "summary": "Get a run approval",
                "tags": ["approval"],
                "parameters": [
                    {
                        "name": "approvalId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "approval.get",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "sessionId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "toolName": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "pending",
                                                "approved",
                                                "denied"
                                            ]
                                        },
                                        "requestArgs": {
                                            "type": "object",
                                            "additionalProperties": {}
                                        },
                                        "result": {
                                            "type": "object",
                                            "additionalProperties": {},
                                            "nullable": true
                                        },
                                        "createdAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "updatedAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "sessionId",
                                        "toolName",
                                        "status",
                                        "requestArgs",
                                        "result",
                                        "createdAt",
                                        "updatedAt"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/api-keys": {
            "post": {
                "summary": "Create an API key",
                "tags": ["apiKey"],
                "parameters": [],
                "operationId": "apiKey.create",
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 255
                                    },
                                    "expiresAt": {
                                        "type": "string",
                                        "format": "date-time"
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "201",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "name": {
                                            "type": "string"
                                        },
                                        "keyPrefix": {
                                            "type": "string"
                                        },
                                        "teamId": {
                                            "type": "string",
                                            "format": "uuid"
                                        },
                                        "createdBy": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "name": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": ["id", "name"]
                                        },
                                        "lastUsedAt": {
                                            "type": "string",
                                            "format": "date-time",
                                            "nullable": true
                                        },
                                        "createdAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "expiresAt": {
                                            "type": "string",
                                            "format": "date-time",
                                            "nullable": true
                                        },
                                        "rawKey": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "id",
                                        "name",
                                        "keyPrefix",
                                        "teamId",
                                        "createdBy",
                                        "lastUsedAt",
                                        "createdAt",
                                        "expiresAt",
                                        "rawKey"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "summary": "List API keys",
                "tags": ["apiKey"],
                "parameters": [],
                "operationId": "apiKey.list",
                "responses": {
                    "200": {
                        "description": "200",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "id": {
                                                "type": "string",
                                                "format": "uuid"
                                            },
                                            "name": {
                                                "type": "string"
                                            },
                                            "keyPrefix": {
                                                "type": "string"
                                            },
                                            "teamId": {
                                                "type": "string",
                                                "format": "uuid"
                                            },
                                            "createdBy": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": ["id", "name"]
                                            },
                                            "lastUsedAt": {
                                                "type": "string",
                                                "format": "date-time",
                                                "nullable": true
                                            },
                                            "createdAt": {
                                                "type": "string",
                                                "format": "date-time"
                                            },
                                            "expiresAt": {
                                                "type": "string",
                                                "format": "date-time",
                                                "nullable": true
                                            }
                                        },
                                        "required": [
                                            "id",
                                            "name",
                                            "keyPrefix",
                                            "teamId",
                                            "createdBy",
                                            "lastUsedAt",
                                            "createdAt",
                                            "expiresAt"
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/api-keys/{keyId}": {
            "delete": {
                "summary": "Revoke an API key",
                "tags": ["apiKey"],
                "parameters": [
                    {
                        "name": "keyId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "operationId": "apiKey.revoke",
                "responses": {
                    "204": {
                        "description": "204"
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/nodes/{nodeId}/tool-runs": {
            "post": {
                "operationId": "run.tool",
                "tags": ["run"],
                "parameters": [
                    {
                        "in": "path",
                        "name": "nodeId",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        },
                        "required": true
                    }
                ],
                "requestBody": {
                    "description": "Body",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "canvasId": {
                                        "type": "string",
                                        "format": "uuid"
                                    },
                                    "toolName": {
                                        "type": "string",
                                        "enum": [
                                            "remove-background",
                                            "topaz-upscale"
                                        ]
                                    },
                                    "toolConfig": {
                                        "type": "object",
                                        "additionalProperties": {}
                                    }
                                },
                                "required": ["canvasId", "toolName"]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "201",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string",
                                            "format": "uuid"
                                        }
                                    },
                                    "required": ["id"]
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "202",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "approvalId": {
                                            "type": "string",
                                            "format": "uuid"
                                        }
                                    },
                                    "required": ["approvalId"]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "400",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired, or revoked API key.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The API key's user is not a member of the requested team.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "404",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": ["message"]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limit reached — retry after the `Retry-After` header.",
                        "headers": {
                            "Retry-After": {
                                "description": "Seconds to wait before retrying.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "statusCode": {
                                            "type": "integer"
                                        },
                                        "error": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "retryAfterSeconds": {
                                            "type": "integer"
                                        }
                                    },
                                    "required": ["statusCode", "message"]
                                }
                            }
                        }
                    }
                },
                "summary": "Run a node tool"
            }
        }
    },
    "info": {
        "title": "Melius API",
        "version": "1",
        "description": "The Melius REST API. Authenticate with an API key as a bearer token (`Authorization: Bearer mel_...`) and select the team to act on with the `x-team-id` header. Generations run through the same node + run pipeline as the app: create a node on a canvas, start a run, poll the run, then read the resulting version asset."
    },
    "servers": [
        {
            "url": "https://api.melius.com"
        }
    ],
    "components": {
        "securitySchemes": {
            "apiKey": {
                "type": "http",
                "scheme": "bearer",
                "description": "A Melius API key (`mel_...`), sent as `Authorization: Bearer <key>`."
            },
            "teamId": {
                "type": "apiKey",
                "in": "header",
                "name": "x-team-id",
                "description": "The team (workspace) to act on. Defaults to the key's team when omitted."
            }
        }
    },
    "security": [
        {
            "apiKey": [],
            "teamId": []
        }
    ]
}
