FECINE / DEVELOPERS
开发者控制台
FECINE OPEN API v1.1.0

API 参考文档

从剧本到成片,通过 FECINE API 连接您的制作流程。

01

身份验证

使用 FECINE API Key 作为 Bearer 令牌。阅读文档无需账户。

02

创建并执行

创建作品并上传剧本和素材,再添加角色、背景场景、道具和宫格图。创建剧集和分镜、关联参考资料并生成分镜视频。为每个分镜选择一个版本后导出最终成片。等待生成任务完成后再继续,编辑时传入最新 revision。如需根据上传的剧本构建结构,请单独执行构建操作。

03

获取结果

轮询任务状态或接收 Webhook。使用素材 ID 获取签名下载链接。

第一个请求
curl -X GET 'https://YOUR_FECINE_HOST/api/v1/capabilities' \
  -H 'Authorization: Bearer YOUR_FECINE_API_KEY'
GET /api/v1/capabilities
REFERENCE

API 参考

FECINE 错误。联系支持时请提供 request_id。

复制 JSON 示例后,请将 ID、URL 和内容替换为实际值。

可用功能

GET/api/v1/capabilities查看现在可用的功能

查询当前 API 环境可用的功能、模型、上传格式及制作限制。

所需权限: projects:read

参数

无参数

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "items": [
      {
        "studio_workflow": {
          "equivalent": false,
          "stages": [
            "script"
          ],
          "project_access": "read_only",
          "gaps": [
            "example"
          ]
        },
        "template_id": "example",
        "template_version": 1,
        "enabled": false,
        "stages": [
          "example"
        ],
        "output_profiles": [
          "example"
        ],
        "unsupported_reasons": [
          "example"
        ],
        "max_shots": 1,
        "max_episode_seconds": 1,
        "upload_mime_types": [
          "example"
        ],
        "max_upload_bytes": 1
      }
    ],
    "next_cursor": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

项目与资源

GET/api/v1/works查看我的项目列表

查询可访问的项目。用 state 筛选状态,用 cursor 和 limit 分页。

所需权限: projects:read

参数

名称Type必填描述
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100
statequerystring—
  • Allowed values: active, archived

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "name": "example",
        "revision": 1,
        "state": "active",
        "created_at": "2026-09-20T00:00:00Z",
        "client_reference": "example"
      }
    ],
    "next_cursor": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works创建新项目

按 name 创建项目。使用返回的项目 ID 添加素材并开始制作。

所需权限: projects:write

参数

名称Type必填描述
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
namestring*
  • Minimum length: 1 characters
  • Maximum length: 80 characters
client_referencestring—
  • Maximum length: 128 characters
第一个请求 · JSON
{
  "name": "example"
}

响应

HTTP 201 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "name": "example",
    "revision": 1,
    "state": "active",
    "created_at": "2026-09-20T00:00:00Z",
    "client_reference": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/works/{project_id}查看项目信息

返回项目名称、状态及当前 revision。修改或提交制作请求前,用此接口确认最新版本。

所需权限: projects:read

参数

名称Type必填描述
project_idpathstring*
  • Format: UUID

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "name": "example",
    "revision": 1,
    "state": "active",
    "created_at": "2026-09-20T00:00:00Z",
    "client_reference": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

PATCH/api/v1/works/{project_id}修改项目信息

修改项目名称或切换 active、archived 状态。If-Match 须使用最新 ETag。

所需权限: projects:write

参数

名称Type必填描述
project_idpathstring*
  • Format: UUID
If-Matchheaderstring*使用最新响应的 ETag,包括引号。

请求体

名称Type必填描述
namestring—
  • Minimum length: 1 characters
  • Maximum length: 80 characters
statestring—
  • Allowed values: active, archived
第一个请求 · JSON
{}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "name": "example",
    "revision": 1,
    "state": "active",
    "created_at": "2026-09-20T00:00:00Z",
    "client_reference": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/works/{project_id}/resources查看已上传的素材列表

列出项目的剧本、角色、场景、道具、剧集和镜头记录。用 kind 选择类型。

所需权限: projects:read

参数

名称Type必填描述
project_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100
kindquerystring—
  • Allowed values: script, character, scene, prop, episode, shot

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "work_id": "11111111-1111-4111-8111-111111111111",
        "revision": 1,
        "content": {
          "kind": "script",
          "name": "example",
          "data": {
            "language": "example"
          }
        },
        "created_at": "2026-09-20T00:00:00Z"
      }
    ],
    "next_cursor": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works/{project_id}/resources上传剧本、图片等素材

通过 kind 和 data 添加剧本文本或镜头等制作记录。文件内容请通过 /uploads 上传。

所需权限: projects:write

参数

名称Type必填描述
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
kindstring*kind = script
  • Fixed value: script
namestring*kind = script
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = scripttext 和 source_asset_id 必须且只能提供一个。
data.textstring—kind = script
  • Minimum length: 1 characters
  • Maximum length: 900000 characters
data.source_asset_idstring—kind = script
  • Format: UUID
data.languagestring*kind = script
  • Minimum length: 2 characters
  • Maximum length: 16 characters
kindstring*kind = character
  • Fixed value: character
namestring*kind = character
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = character
data.descriptionstring*kind = character
  • Maximum length: 4000 characters
data.reference_asset_idsarray—kind = character
  • Default: []
  • Maximum items: 8 items
kindstring*kind = scene
  • Fixed value: scene
namestring*kind = scene
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = scene
data.descriptionstring*kind = scene
  • Maximum length: 4000 characters
data.reference_asset_idsarray—kind = scene
  • Default: []
  • Maximum items: 8 items
kindstring*kind = prop
  • Fixed value: prop
namestring*kind = prop
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = prop
data.descriptionstring*kind = prop
  • Maximum length: 4000 characters
data.reference_asset_idsarray—kind = prop
  • Default: []
  • Maximum items: 8 items
kindstring*kind = episode
  • Fixed value: episode
namestring*kind = episode
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = episode
data.script_resource_idstring*kind = episode
  • Format: UUID
data.sequenceinteger*kind = episode
  • Minimum: 1
  • Maximum: 100
data.raw_contentstring—kind = episode
  • Maximum length: 20000 characters
data.descriptionstring—kind = episode
  • Maximum length: 4000 characters
kindstring*kind = shot
  • Fixed value: shot
namestring*kind = shot
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = shot
data.episode_idstring*kind = shot
  • Format: UUID
data.scene_idstring—kind = shot
  • Format: UUID
data.character_idsarray—kind = shot
  • Default: []
  • Maximum items: 8 items
data.prop_idsarray—kind = shot
  • Default: []
  • Maximum items: 8 items
data.descriptionstring*kind = shot
  • Maximum length: 4000 characters
data.video_promptoneOf—kind = shot
data.sequenceinteger—kind = shot
  • Minimum: 1
  • Maximum: 100
data.duration_secondsinteger*kind = shot
  • Minimum: 1
  • Maximum: 60
data.selected_image_asset_idstring—kind = shot
  • Format: UUID
data.selected_video_asset_idstring—kind = shot
  • Format: UUID
第一个请求 · JSON
{
  "kind": "script",
  "name": "example",
  "data": {
    "language": "example"
  }
}

响应

HTTP 201 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "content": {
      "kind": "script",
      "name": "example",
      "data": {
        "language": "example"
      }
    },
    "created_at": "2026-09-20T00:00:00Z"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/works/{project_id}/resources/{resource_id}查看单个素材

返回项目中 resource_id 指定素材的类型、内容及 revision。

所需权限: projects:read

参数

名称Type必填描述
project_idpathstring*
  • Format: UUID
resource_idpathstring*
  • Format: UUID

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "content": {
      "kind": "script",
      "name": "example",
      "data": {
        "language": "example"
      }
    },
    "created_at": "2026-09-20T00:00:00Z"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

PATCH/api/v1/works/{project_id}/resources/{resource_id}修改素材

更新素材的 kind 和 data。通过 If-Match 提交最新 ETag,避免编辑冲突。

所需权限: projects:write

参数

名称Type必填描述
project_idpathstring*
  • Format: UUID
resource_idpathstring*
  • Format: UUID
If-Matchheaderstring*使用最新响应的 ETag,包括引号。

请求体

名称Type必填描述
kindstring*kind = script
  • Fixed value: script
namestring*kind = script
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = scripttext 和 source_asset_id 必须且只能提供一个。
data.textstring—kind = script
  • Minimum length: 1 characters
  • Maximum length: 900000 characters
data.source_asset_idstring—kind = script
  • Format: UUID
data.languagestring*kind = script
  • Minimum length: 2 characters
  • Maximum length: 16 characters
kindstring*kind = character
  • Fixed value: character
namestring*kind = character
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = character
data.descriptionstring*kind = character
  • Maximum length: 4000 characters
data.reference_asset_idsarray—kind = character
  • Default: []
  • Maximum items: 8 items
kindstring*kind = scene
  • Fixed value: scene
namestring*kind = scene
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = scene
data.descriptionstring*kind = scene
  • Maximum length: 4000 characters
data.reference_asset_idsarray—kind = scene
  • Default: []
  • Maximum items: 8 items
kindstring*kind = prop
  • Fixed value: prop
namestring*kind = prop
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = prop
data.descriptionstring*kind = prop
  • Maximum length: 4000 characters
data.reference_asset_idsarray—kind = prop
  • Default: []
  • Maximum items: 8 items
kindstring*kind = episode
  • Fixed value: episode
namestring*kind = episode
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = episode
data.script_resource_idstring*kind = episode
  • Format: UUID
data.sequenceinteger*kind = episode
  • Minimum: 1
  • Maximum: 100
data.raw_contentstring—kind = episode
  • Maximum length: 20000 characters
data.descriptionstring—kind = episode
  • Maximum length: 4000 characters
kindstring*kind = shot
  • Fixed value: shot
namestring*kind = shot
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = shot
data.episode_idstring*kind = shot
  • Format: UUID
data.scene_idstring—kind = shot
  • Format: UUID
data.character_idsarray—kind = shot
  • Default: []
  • Maximum items: 8 items
data.prop_idsarray—kind = shot
  • Default: []
  • Maximum items: 8 items
data.descriptionstring*kind = shot
  • Maximum length: 4000 characters
data.video_promptoneOf—kind = shot
data.sequenceinteger—kind = shot
  • Minimum: 1
  • Maximum: 100
data.duration_secondsinteger*kind = shot
  • Minimum: 1
  • Maximum: 60
data.selected_image_asset_idstring—kind = shot
  • Format: UUID
data.selected_video_asset_idstring—kind = shot
  • Format: UUID
第一个请求 · JSON
{
  "kind": "script",
  "name": "example",
  "data": {
    "language": "example"
  }
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "content": {
      "kind": "script",
      "name": "example",
      "data": {
        "language": "example"
      }
    },
    "created_at": "2026-09-20T00:00:00Z"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/works/{project_id}/workflow查询工作室制作数据

一次查询项目的剧本、剧集、设计、场景、素材、镜次、剪辑选择及最新 revision。

所需权限: projects:read

参数

名称Type必填描述
project_idpathstring*
  • Format: UUID

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "api_runs": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "state": "example",
        "created_at": "example",
        "completed_at": "example",
        "total_steps": 0,
        "completed_steps": 0,
        "error_code": "example"
      }
    ],
    "work_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example",
    "trash": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "entity_type": "asset",
        "name": "example",
        "deleted_at": "example"
      }
    ],
    "assets": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "name": "example",
        "kind": "example",
        "media_type": "example",
        "status": "example",
        "mime": "example",
        "lineage_id": "11111111-1111-4111-8111-111111111111",
        "version": 1,
        "is_current_version": false
      }
    ],
    "settings": {
      "title": "example",
      "tags": [
        "example"
      ],
      "cover": "example",
      "aspect": "example",
      "resolution": "example",
      "style": "example",
      "style_prompt": "example",
      "state": "example"
    },
    "script": {
      "text": "example",
      "logline": "example",
      "synopsis": "example"
    },
    "episodes": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "number": 1,
        "title": "example",
        "raw_content": "example",
        "description": "example"
      }
    ],
    "designs": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "kind": "character",
        "name": "example",
        "description": "example",
        "tags": [
          "example"
        ],
        "primary_asset_id": "11111111-1111-4111-8111-111111111111"
      }
    ],
    "scenes": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "episode_id": "11111111-1111-4111-8111-111111111111",
        "number": 1,
        "heading": "example",
        "description": "example",
        "video_prompt": "example"
      }
    ],
    "scene_designs": [
      {
        "scene_id": "11111111-1111-4111-8111-111111111111",
        "design_id": "11111111-1111-4111-8111-111111111111",
        "kind": "example",
        "position": 1
      }
    ],
    "takes": [
      {
        "scene_id": "11111111-1111-4111-8111-111111111111",
        "asset_id": "11111111-1111-4111-8111-111111111111",
        "position": 1
      }
    ],
    "cut_selections": [
      {
        "scene_id": "11111111-1111-4111-8111-111111111111",
        "asset_id": "11111111-1111-4111-8111-111111111111"
      }
    ],
    "design_assets": [
      {
        "design_id": "11111111-1111-4111-8111-111111111111",
        "asset_id": "11111111-1111-4111-8111-111111111111",
        "kind": "example",
        "name": "example",
        "position": 1
      }
    ]
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works/{project_id}/script/analyses分析工作室剧本

分析项目剧本并提取制作结构。传入 script_text 可先更新剧本;省略则使用已保存剧本。用 getJob 跟踪任务。

所需权限: jobs:create

参数

名称Type必填描述
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
modelstring—
  • Minimum length: 1 characters
  • Maximum length: 200 characters
script_textstring—
  • Minimum length: 1 characters
  • Maximum length: 5000000 characters
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 202 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

响应头: X-Request-Id · ETag · Retry-After

错误响应 · error.code ↗

试用

POST/api/v1/works/{project_id}/script/builds从剧本构建完整制作

使用已验证的 script_asset_ids 和 revision 构建剧本、参考资料和分镜。full_rebuild 替换现有结构。图像和视频需单独生成。 按与 Studio 相同的价格结算实际返回的输入和输出令牌。无需设置单次请求的积分预算。 GET /jobs/{job_id} → output_asset_ids.

所需权限: jobs:create

参数

名称Type必填描述
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
modelstring—
  • Minimum length: 1 characters
  • Maximum length: 200 characters
script_asset_idsarray—
  • Default: []
material_scopestring—
  • Allowed values: unclassified, all
  • Default: "unclassified"
preprocessobject—
preprocess.ignoreAttachmentsboolean—
  • Default: true
preprocess.discardKeywordsarray—
  • Default: ["提示词","prompt","Midjourney","Stable Diffusion","DALL-E","Image1","Image2","正向提示词","负向提示词","视觉描述","出图要求","技术规格","画面描述","镜头提示词","请生成","角色三视图","服装本体展示","局部材质与细节放大"]
  • Maximum items: 100 items
preprocess.keepLabelsarray—
  • Default: ["资产名称","资产ID","资产版本","关联角色资产名称","关联角色资产ID","关联场景资产名称","关联场景资产ID","关联道具资产名称","关联道具资产ID","服装变体ID","服装名称","道具资产ID","道具名称","场景资产ID","场景名称","宫格图ID","集数","主题","场景","角色名称","用途"]
  • Maximum items: 100 items
rebuild_policystring*
  • Fixed value: full_rebuild
第一个请求 · JSON
{
  "revision": 1,
  "rebuild_policy": "full_rebuild"
}

响应

HTTP 202 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

响应头: X-Request-Id · ETag · Retry-After

错误响应 · error.code ↗

试用

GET/api/v1/works/{project_id}/library查询共享素材库

查询可导入项目的素材。scope=personal 查询个人素材库,默认 scope=studio 查询共享素材库。

所需权限: assets:read

参数

名称Type必填描述
project_idpathstring*
  • Format: UUID
limitinteger—
  • Minimum: 1
  • Maximum: 100
cursorstring—
scopestring—
  • Allowed values: studio, personal

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "name": "example",
        "kind": "example",
        "media_type": "example",
        "mime": "example",
        "version": 1,
        "is_current_version": false
      }
    ],
    "next_cursor": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works/{project_id}/imports将素材导入作品

将 asset_id 指定的个人或共享素材复制到项目并返回副本。原始素材后续修改或删除不影响副本。

所需权限: assets:write, assets:read, projects:write

参数

名称Type必填描述
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
asset_idstring*
  • Format: UUID
第一个请求 · JSON
{
  "revision": 1,
  "asset_id": "11111111-1111-4111-8111-111111111111"
}

响应

HTTP 201 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "state": "pending",
    "mime_type": "example",
    "size_bytes": 0,
    "download_url": "example",
    "expires_at": "2026-09-20T00:00:00Z"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works/{project_id}/script/drafts生成剧本初稿

传入 instructions、可选的 source_text、revision 和 max_output_tokens。保存为新剧本资料,不覆盖现有剧本。 按与 Studio 相同的价格结算实际返回的输入和输出令牌。无需设置单次请求的积分预算。 GET /jobs/{job_id} → output_asset_ids.

所需权限: jobs:create

参数

名称Type必填描述
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
modelstring—
  • Minimum length: 1 characters
  • Maximum length: 200 characters
instructionsstring*
  • Minimum length: 1 characters
  • Maximum length: 8000 characters
source_textstring—
  • Maximum length: 50000 characters
max_output_tokensinteger—
  • Default: 2048
  • Minimum: 256
  • Maximum: 8192
第一个请求 · JSON
{
  "revision": 1,
  "instructions": "example"
}

响应

HTTP 202 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

响应头: X-Request-Id · ETag · Retry-After

错误响应 · error.code ↗

试用

GET/api/v1/works/{work_id}/characters角色 · 查询 (list)

角色 · 查询 (list). GET /api/v1/works/{work_id}/characters. GET

所需权限: projects:read

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "kind": "character",
        "name": "example",
        "description": "example",
        "tags": [
          "example"
        ],
        "primary_asset_id": "11111111-1111-4111-8111-111111111111"
      }
    ],
    "next_cursor": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works/{work_id}/characters角色 · 创建

角色 · 创建. POST /api/v1/works/{work_id}/characters. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
namestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
descriptionstring—
  • Maximum length: 4000 characters
tagsarray—
  • Maximum items: 8 items
revisioninteger*
第一个请求 · JSON
{
  "name": "example",
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/works/{work_id}/characters/{reference_id}角色 · 查询

角色 · 查询. GET /api/v1/works/{work_id}/characters/{reference_id}. GET

所需权限: projects:read

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "kind": "character",
    "name": "example",
    "description": "example",
    "tags": [
      "example"
    ],
    "primary_asset_id": "11111111-1111-4111-8111-111111111111"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

PATCH/api/v1/works/{work_id}/characters/{reference_id}角色 · 更新

角色 · 更新. PATCH /api/v1/works/{work_id}/characters/{reference_id}. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
namestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
descriptionstring—
  • Maximum length: 4000 characters
tagsarray—
  • Maximum items: 8 items
revisioninteger*
第一个请求 · JSON
{
  "name": "example",
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

DELETE/api/v1/works/{work_id}/characters/{reference_id}角色 · 删除

角色 · 删除. DELETE /api/v1/works/{work_id}/characters/{reference_id}. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

PUT/api/v1/works/{work_id}/characters/{reference_id}/primary-image角色 · 设置参考图

角色 · 设置参考图. PUT /api/v1/works/{work_id}/characters/{reference_id}/primary-image. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
asset_idstring*
  • Format: UUID
current_asset_idoneOf*
revisioninteger*
第一个请求 · JSON
{
  "asset_id": "11111111-1111-4111-8111-111111111111",
  "current_asset_id": "11111111-1111-4111-8111-111111111111",
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works/{work_id}/characters/{reference_id}/image-generations角色 · 生成参考图

角色 · 生成参考图. POST /api/v1/works/{work_id}/characters/{reference_id}/image-generations. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}

所需权限: jobs:create

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
variantsinteger—
  • Default: 1
  • Minimum: 1
  • Maximum: 4
modelstring—
  • Default: "image-standard"
  • Minimum length: 1 characters
  • Maximum length: 200 characters
promptstring—
  • Minimum length: 1 characters
  • Maximum length: 20000 characters
aspect_ratiostring—
image_sizestring—
  • Maximum length: 40 characters
qualitystring—
  • Allowed values: low, medium, high
backgroundstring—
  • Allowed values: auto, opaque, transparent
output_formatstring—
  • Allowed values: png, jpeg
reference_asset_idsarray—
  • Default: []
  • Maximum items: 16 items
slotstring—
  • Allowed values: primary, variant
  • Default: "primary"
variant_namestring—
  • Minimum length: 1 characters
  • Maximum length: 80 characters
current_asset_idstring—
  • Format: UUID
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 202 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

响应头: X-Request-Id · ETag · Retry-After

错误响应 · error.code ↗

试用

PUT/api/v1/works/{work_id}/scenes/{scene_id}/references/characters/{reference_id}角色 · 关联到场景

角色 · 关联到场景. PUT /api/v1/works/{work_id}/scenes/{scene_id}/references/characters/{reference_id}. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

DELETE/api/v1/works/{work_id}/scenes/{scene_id}/references/characters/{reference_id}角色 · 取消场景关联

角色 · 取消场景关联. DELETE /api/v1/works/{work_id}/scenes/{scene_id}/references/characters/{reference_id}. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/works/{work_id}/background-scenes背景场景 · 查询 (list)

背景场景 · 查询 (list). GET /api/v1/works/{work_id}/background-scenes. GET

所需权限: projects:read

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "kind": "character",
        "name": "example",
        "description": "example",
        "tags": [
          "example"
        ],
        "primary_asset_id": "11111111-1111-4111-8111-111111111111"
      }
    ],
    "next_cursor": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works/{work_id}/background-scenes背景场景 · 创建

背景场景 · 创建. POST /api/v1/works/{work_id}/background-scenes. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
namestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
descriptionstring—
  • Maximum length: 4000 characters
tagsarray—
  • Maximum items: 8 items
revisioninteger*
第一个请求 · JSON
{
  "name": "example",
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/works/{work_id}/background-scenes/{reference_id}背景场景 · 查询

背景场景 · 查询. GET /api/v1/works/{work_id}/background-scenes/{reference_id}. GET

所需权限: projects:read

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "kind": "character",
    "name": "example",
    "description": "example",
    "tags": [
      "example"
    ],
    "primary_asset_id": "11111111-1111-4111-8111-111111111111"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

PATCH/api/v1/works/{work_id}/background-scenes/{reference_id}背景场景 · 更新

背景场景 · 更新. PATCH /api/v1/works/{work_id}/background-scenes/{reference_id}. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
namestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
descriptionstring—
  • Maximum length: 4000 characters
tagsarray—
  • Maximum items: 8 items
revisioninteger*
第一个请求 · JSON
{
  "name": "example",
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

DELETE/api/v1/works/{work_id}/background-scenes/{reference_id}背景场景 · 删除

背景场景 · 删除. DELETE /api/v1/works/{work_id}/background-scenes/{reference_id}. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

PUT/api/v1/works/{work_id}/background-scenes/{reference_id}/primary-image背景场景 · 设置参考图

背景场景 · 设置参考图. PUT /api/v1/works/{work_id}/background-scenes/{reference_id}/primary-image. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
asset_idstring*
  • Format: UUID
current_asset_idoneOf*
revisioninteger*
第一个请求 · JSON
{
  "asset_id": "11111111-1111-4111-8111-111111111111",
  "current_asset_id": "11111111-1111-4111-8111-111111111111",
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works/{work_id}/background-scenes/{reference_id}/image-generations背景场景 · 生成参考图

背景场景 · 生成参考图. POST /api/v1/works/{work_id}/background-scenes/{reference_id}/image-generations. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}

所需权限: jobs:create

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
variantsinteger—
  • Default: 1
  • Minimum: 1
  • Maximum: 4
modelstring—
  • Default: "image-standard"
  • Minimum length: 1 characters
  • Maximum length: 200 characters
promptstring—
  • Minimum length: 1 characters
  • Maximum length: 20000 characters
aspect_ratiostring—
image_sizestring—
  • Maximum length: 40 characters
qualitystring—
  • Allowed values: low, medium, high
backgroundstring—
  • Allowed values: auto, opaque, transparent
output_formatstring—
  • Allowed values: png, jpeg
reference_asset_idsarray—
  • Default: []
  • Maximum items: 16 items
slotstring—
  • Allowed values: primary, variant
  • Default: "primary"
variant_namestring—
  • Minimum length: 1 characters
  • Maximum length: 80 characters
current_asset_idstring—
  • Format: UUID
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 202 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

响应头: X-Request-Id · ETag · Retry-After

错误响应 · error.code ↗

试用

PUT/api/v1/works/{work_id}/scenes/{scene_id}/references/background-scenes/{reference_id}背景场景 · 关联到场景

背景场景 · 关联到场景. PUT /api/v1/works/{work_id}/scenes/{scene_id}/references/background-scenes/{reference_id}. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

DELETE/api/v1/works/{work_id}/scenes/{scene_id}/references/background-scenes/{reference_id}背景场景 · 取消场景关联

背景场景 · 取消场景关联. DELETE /api/v1/works/{work_id}/scenes/{scene_id}/references/background-scenes/{reference_id}. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/works/{work_id}/props道具 · 查询 (list)

道具 · 查询 (list). GET /api/v1/works/{work_id}/props. GET

所需权限: projects:read

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "kind": "character",
        "name": "example",
        "description": "example",
        "tags": [
          "example"
        ],
        "primary_asset_id": "11111111-1111-4111-8111-111111111111"
      }
    ],
    "next_cursor": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works/{work_id}/props道具 · 创建

道具 · 创建. POST /api/v1/works/{work_id}/props. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
namestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
descriptionstring—
  • Maximum length: 4000 characters
tagsarray—
  • Maximum items: 8 items
revisioninteger*
第一个请求 · JSON
{
  "name": "example",
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/works/{work_id}/props/{reference_id}道具 · 查询

道具 · 查询. GET /api/v1/works/{work_id}/props/{reference_id}. GET

所需权限: projects:read

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "kind": "character",
    "name": "example",
    "description": "example",
    "tags": [
      "example"
    ],
    "primary_asset_id": "11111111-1111-4111-8111-111111111111"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

PATCH/api/v1/works/{work_id}/props/{reference_id}道具 · 更新

道具 · 更新. PATCH /api/v1/works/{work_id}/props/{reference_id}. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
namestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
descriptionstring—
  • Maximum length: 4000 characters
tagsarray—
  • Maximum items: 8 items
revisioninteger*
第一个请求 · JSON
{
  "name": "example",
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

DELETE/api/v1/works/{work_id}/props/{reference_id}道具 · 删除

道具 · 删除. DELETE /api/v1/works/{work_id}/props/{reference_id}. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

PUT/api/v1/works/{work_id}/props/{reference_id}/primary-image道具 · 设置参考图

道具 · 设置参考图. PUT /api/v1/works/{work_id}/props/{reference_id}/primary-image. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
asset_idstring*
  • Format: UUID
current_asset_idoneOf*
revisioninteger*
第一个请求 · JSON
{
  "asset_id": "11111111-1111-4111-8111-111111111111",
  "current_asset_id": "11111111-1111-4111-8111-111111111111",
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works/{work_id}/props/{reference_id}/image-generations道具 · 生成参考图

道具 · 生成参考图. POST /api/v1/works/{work_id}/props/{reference_id}/image-generations. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}

所需权限: jobs:create

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
variantsinteger—
  • Default: 1
  • Minimum: 1
  • Maximum: 4
modelstring—
  • Default: "image-standard"
  • Minimum length: 1 characters
  • Maximum length: 200 characters
promptstring—
  • Minimum length: 1 characters
  • Maximum length: 20000 characters
aspect_ratiostring—
image_sizestring—
  • Maximum length: 40 characters
qualitystring—
  • Allowed values: low, medium, high
backgroundstring—
  • Allowed values: auto, opaque, transparent
output_formatstring—
  • Allowed values: png, jpeg
reference_asset_idsarray—
  • Default: []
  • Maximum items: 16 items
slotstring—
  • Allowed values: primary, variant
  • Default: "primary"
variant_namestring—
  • Minimum length: 1 characters
  • Maximum length: 80 characters
current_asset_idstring—
  • Format: UUID
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 202 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

响应头: X-Request-Id · ETag · Retry-After

错误响应 · error.code ↗

试用

PUT/api/v1/works/{work_id}/scenes/{scene_id}/references/props/{reference_id}道具 · 关联到场景

道具 · 关联到场景. PUT /api/v1/works/{work_id}/scenes/{scene_id}/references/props/{reference_id}. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

DELETE/api/v1/works/{work_id}/scenes/{scene_id}/references/props/{reference_id}道具 · 取消场景关联

道具 · 取消场景关联. DELETE /api/v1/works/{work_id}/scenes/{scene_id}/references/props/{reference_id}. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/works/{work_id}/grids网格 · 查询 (list)

网格 · 查询 (list). GET /api/v1/works/{work_id}/grids. GET

所需权限: projects:read

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "kind": "character",
        "name": "example",
        "description": "example",
        "tags": [
          "example"
        ],
        "primary_asset_id": "11111111-1111-4111-8111-111111111111"
      }
    ],
    "next_cursor": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works/{work_id}/grids网格 · 创建

网格 · 创建. POST /api/v1/works/{work_id}/grids. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
namestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
descriptionstring—
  • Maximum length: 4000 characters
tagsarray—
  • Maximum items: 8 items
revisioninteger*
第一个请求 · JSON
{
  "name": "example",
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/works/{work_id}/grids/{reference_id}网格 · 查询

网格 · 查询. GET /api/v1/works/{work_id}/grids/{reference_id}. GET

所需权限: projects:read

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "kind": "character",
    "name": "example",
    "description": "example",
    "tags": [
      "example"
    ],
    "primary_asset_id": "11111111-1111-4111-8111-111111111111"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

PATCH/api/v1/works/{work_id}/grids/{reference_id}网格 · 更新

网格 · 更新. PATCH /api/v1/works/{work_id}/grids/{reference_id}. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
namestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
descriptionstring—
  • Maximum length: 4000 characters
tagsarray—
  • Maximum items: 8 items
revisioninteger*
第一个请求 · JSON
{
  "name": "example",
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

DELETE/api/v1/works/{work_id}/grids/{reference_id}网格 · 删除

网格 · 删除. DELETE /api/v1/works/{work_id}/grids/{reference_id}. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

PUT/api/v1/works/{work_id}/grids/{reference_id}/primary-image网格 · 设置参考图

网格 · 设置参考图. PUT /api/v1/works/{work_id}/grids/{reference_id}/primary-image. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
asset_idstring*
  • Format: UUID
current_asset_idoneOf*
revisioninteger*
第一个请求 · JSON
{
  "asset_id": "11111111-1111-4111-8111-111111111111",
  "current_asset_id": "11111111-1111-4111-8111-111111111111",
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works/{work_id}/grids/{reference_id}/image-generations网格 · 生成参考图

网格 · 生成参考图. POST /api/v1/works/{work_id}/grids/{reference_id}/image-generations. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}

所需权限: jobs:create

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
variantsinteger—
  • Default: 1
  • Minimum: 1
  • Maximum: 4
modelstring—
  • Default: "image-standard"
  • Minimum length: 1 characters
  • Maximum length: 200 characters
promptstring—
  • Minimum length: 1 characters
  • Maximum length: 20000 characters
aspect_ratiostring—
image_sizestring—
  • Maximum length: 40 characters
qualitystring—
  • Allowed values: low, medium, high
backgroundstring—
  • Allowed values: auto, opaque, transparent
output_formatstring—
  • Allowed values: png, jpeg
reference_asset_idsarray—
  • Default: []
  • Maximum items: 16 items
slotstring—
  • Allowed values: primary, variant
  • Default: "primary"
variant_namestring—
  • Minimum length: 1 characters
  • Maximum length: 80 characters
current_asset_idstring—
  • Format: UUID
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 202 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

响应头: X-Request-Id · ETag · Retry-After

错误响应 · error.code ↗

试用

PUT/api/v1/works/{work_id}/scenes/{scene_id}/references/grids/{reference_id}网格 · 关联到场景

网格 · 关联到场景. PUT /api/v1/works/{work_id}/scenes/{scene_id}/references/grids/{reference_id}. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

DELETE/api/v1/works/{work_id}/scenes/{scene_id}/references/grids/{reference_id}网格 · 取消场景关联

网格 · 取消场景关联. DELETE /api/v1/works/{work_id}/scenes/{scene_id}/references/grids/{reference_id}. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/works/{work_id}/episodes集 · 查询 (list)

集 · 查询 (list). GET /api/v1/works/{work_id}/episodes. GET

所需权限: projects:read

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "number": 1,
        "title": "example",
        "raw_content": "example",
        "description": "example"
      }
    ],
    "next_cursor": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works/{work_id}/episodes创建集

创建集. POST /api/v1/works/{work_id}/episodes. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
titlestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
numberinteger—
raw_contentstring—
  • Maximum length: 20000 characters
descriptionstring—
  • Maximum length: 4000 characters
revisioninteger*
第一个请求 · JSON
{
  "title": "example",
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/works/{work_id}/episodes/{episode_id}集 · 查询

集 · 查询. GET /api/v1/works/{work_id}/episodes/{episode_id}. GET

所需权限: projects:read

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
episode_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "number": 1,
    "title": "example",
    "raw_content": "example",
    "description": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

PATCH/api/v1/works/{work_id}/episodes/{episode_id}集 · 更新

集 · 更新. PATCH /api/v1/works/{work_id}/episodes/{episode_id}. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
episode_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
titlestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
numberinteger—
raw_contentstring—
  • Maximum length: 20000 characters
descriptionstring—
  • Maximum length: 4000 characters
revisioninteger*
第一个请求 · JSON
{
  "title": "example",
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

DELETE/api/v1/works/{work_id}/episodes/{episode_id}集 · 删除

集 · 删除. DELETE /api/v1/works/{work_id}/episodes/{episode_id}. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
episode_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/works/{work_id}/episodes/{episode_id}/scenes场景 · 查询 (list)

场景 · 查询 (list). GET /api/v1/works/{work_id}/episodes/{episode_id}/scenes. GET

所需权限: projects:read

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
episode_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "episode_id": "11111111-1111-4111-8111-111111111111",
        "number": 1,
        "heading": "example",
        "description": "example",
        "video_prompt": "example"
      }
    ],
    "next_cursor": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works/{work_id}/episodes/{episode_id}/scenes创建场景

创建场景. POST /api/v1/works/{work_id}/episodes/{episode_id}/scenes. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
episode_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
headingstring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
numberinteger—
descriptionstring—
  • Maximum length: 4000 characters
video_promptoneOf—
revisioninteger*
第一个请求 · JSON
{
  "heading": "example",
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/works/{work_id}/episodes/{episode_id}/scenes/{scene_id}场景 · 查询

场景 · 查询. GET /api/v1/works/{work_id}/episodes/{episode_id}/scenes/{scene_id}. GET

所需权限: projects:read

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
episode_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "episode_id": "11111111-1111-4111-8111-111111111111",
    "number": 1,
    "heading": "example",
    "description": "example",
    "video_prompt": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

PATCH/api/v1/works/{work_id}/episodes/{episode_id}/scenes/{scene_id}场景 · 更新

场景 · 更新. PATCH /api/v1/works/{work_id}/episodes/{episode_id}/scenes/{scene_id}. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
episode_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
headingstring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
numberinteger—
descriptionstring—
  • Maximum length: 4000 characters
video_promptoneOf—
revisioninteger*
第一个请求 · JSON
{
  "heading": "example",
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works/{work_id}/archive-imports导入ZIP资料

导入ZIP资料. POST /api/v1/works/{work_id}/archive-imports. Use a verified ZIP asset_id and current revision. Preserves the archive and uses the same name-based material update rules as Studio. Check imported, failed and asset_ids on completion. Creation requires jobs:create, assets:read, assets:write and projects:write. Idempotency-Key; GET /api/v1/works/{work_id}/archive-imports/{import_id}

所需权限: jobs:create

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
asset_idstring*
  • Format: UUID
第一个请求 · JSON
{
  "revision": 1,
  "asset_id": "11111111-1111-4111-8111-111111111111"
}

响应

HTTP 202 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "progress": {
      "phase": "extracting",
      "current": 0,
      "total": 0
    },
    "imported": 0,
    "failed": 0,
    "asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

响应头: X-Request-Id · ETag · Retry-After

错误响应 · error.code ↗

试用

GET/api/v1/works/{work_id}/archive-imports/{import_id}查询ZIP导入进度

查询ZIP导入进度. GET /api/v1/works/{work_id}/archive-imports/{import_id}. Use a verified ZIP asset_id and current revision. Preserves the archive and uses the same name-based material update rules as Studio. Check imported, failed and asset_ids on completion. Creation requires jobs:create, assets:read, assets:write and projects:write. jobs:read

所需权限: jobs:read

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
import_idpathstring*
  • Format: UUID

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "progress": {
      "phase": "extracting",
      "current": 0,
      "total": 0
    },
    "imported": 0,
    "failed": 0,
    "asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works/{work_id}/uploads准备批量上传文件

准备批量上传文件. POST /api/v1/works/{work_id}/uploads. Idempotency-Key + files (1–20) → PUT upload_url → POST /api/v1/uploads/{upload_id}/complete

所需权限: assets:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
filesarray*
  • Maximum items: 20 items
files[].filenamestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
files[].mime_typestring*
  • Allowed values: text/plain, text/markdown, application/vnd.openxmlformats-officedocument.wordprocessingml.document, image/png, image/jpeg, image/webp, image/avif, audio/wav, application/zip
files[].size_bytesinteger*
  • Maximum: 1073741824
files[].sha256string*
第一个请求 · JSON
{
  "files": [
    {
      "filename": "example",
      "mime_type": "text/plain",
      "size_bytes": 1,
      "sha256": "example"
    }
  ]
}

响应

HTTP 201 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "items": [
      {
        "filename": "example",
        "ticket": {
          "id": "11111111-1111-4111-8111-111111111111",
          "asset_id": "11111111-1111-4111-8111-111111111111",
          "upload_url": "example",
          "method": "PUT",
          "content_type": "example",
          "expires_at": "2026-09-20T00:00:00Z"
        }
      }
    ]
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

DELETE/api/v1/works/{work_id}/scenes/{scene_id}场景 · 删除

场景 · 删除. DELETE /api/v1/works/{work_id}/scenes/{scene_id}. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

PUT/api/v1/works/{work_id}/episodes/{episode_id}/scene-order调整场景顺序

调整场景顺序. PUT /api/v1/works/{work_id}/episodes/{episode_id}/scene-order. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
episode_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
scene_idsarray*
  • Maximum items: 500 items
revisioninteger*
第一个请求 · JSON
{
  "scene_ids": [
    "11111111-1111-4111-8111-111111111111"
  ],
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

PUT/api/v1/works/{work_id}/script保存剧本

保存剧本. PUT /api/v1/works/{work_id}/script. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
textstring*
  • Maximum length: 5000000 characters
revisioninteger*
第一个请求 · JSON
{
  "text": "example",
  "revision": 1
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works/{work_id}/scenes/{scene_id}/video-generations生成场景视频

生成场景视频. POST /api/v1/works/{work_id}/scenes/{scene_id}/video-generations. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}

所需权限: jobs:create

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
anchor_asset_idstring—
  • Format: UUID
reference_asset_idsarray—
  • Maximum items: 12 items
modelstring—
  • Default: "video-standard"
  • Minimum length: 1 characters
  • Maximum length: 200 characters
promptstring—
  • Minimum length: 1 characters
  • Maximum length: 10000 characters
duration_secondsinteger*
  • Minimum: 1
  • Maximum: 60
resolutionstring*
  • Minimum length: 1 characters
  • Maximum length: 20 characters
aspect_ratiostring*
  • Minimum length: 1 characters
  • Maximum length: 20 characters
generate_audioboolean—
第一个请求 · JSON
{
  "revision": 1,
  "duration_seconds": 1,
  "resolution": "example",
  "aspect_ratio": "example"
}

响应

HTTP 202 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

响应头: X-Request-Id · ETag · Retry-After

错误响应 · error.code ↗

试用

PUT/api/v1/works/{work_id}/scenes/{scene_id}/selected-take选择最终镜头

选择最终镜头. PUT /api/v1/works/{work_id}/scenes/{scene_id}/selected-take. revision + Idempotency-Key

所需权限: projects:write

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
take_idoneOf*
第一个请求 · JSON
{
  "revision": 1,
  "take_id": "11111111-1111-4111-8111-111111111111"
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works/{work_id}/exports导出最终视频

导出最终视频. POST /api/v1/works/{work_id}/exports. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}

所需权限: jobs:create

参数

名称Type必填描述
work_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
allow_partialboolean—
  • Default: true
selectionsarray—
  • Maximum items: 200 items
selections[].scene_idstring*
  • Format: UUID
selections[].asset_idstring*
  • Format: UUID
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 202 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

响应头: X-Request-Id · ETag · Retry-After

错误响应 · error.code ↗

试用

????API
POST/api/v1/works/{project_id}/plans确认制作计划和预计积分

先确认要制作什么、预计消耗多少积分,不会真正开始制作。

所需权限: runs:write

参数

名称Type必填描述
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
template_idstring*
  • Fixed value: episode-production
template_versionnumber*
  • Fixed value: 1
project_revisioninteger*
episode_idsarray*剧集 ID 不可重复。
  • Maximum items: 10 items
modestring*
  • Allowed values: reviewed, automatic
output_profilestring*
  • Allowed values: sandbox-episode-v1, episode-standard-v1
第一个请求 · JSON
{
  "template_id": "episode-production",
  "template_version": 1,
  "project_revision": 1,
  "episode_ids": [
    "11111111-1111-4111-8111-111111111111"
  ],
  "mode": "reviewed",
  "output_profile": "sandbox-episode-v1"
}

响应

HTTP 201 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "project_revision": 1,
    "template_id": "example",
    "template_version": 1,
    "executable": false,
    "expires_at": "2026-09-20T00:00:00Z",
    "budget_ceiling": {
      "currency": "example",
      "micro_units": "example"
    },
    "steps": [
      {
        "stage_key": "example",
        "target_ids": [
          "11111111-1111-4111-8111-111111111111"
        ],
        "depends_on": [
          "example"
        ],
        "requires_review": false,
        "max_cost": {
          "currency": "example",
          "micro_units": "example"
        }
      }
    ],
    "unsupported_reasons": [
      "example"
    ]
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works/{project_id}/runs开始制作

执行 plan_id 对应的制作计划并返回执行 ID。通过 getRun 查看状态和结果。

所需权限: runs:write

参数

名称Type必填描述
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
plan_idstring*
  • Format: UUID
client_referencestring—
  • Maximum length: 128 characters
第一个请求 · JSON
{
  "plan_id": "11111111-1111-4111-8111-111111111111"
}

响应

HTTP 202 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "plan_id": "11111111-1111-4111-8111-111111111111",
    "version": 1,
    "state": "queued",
    "client_reference": "example",
    "created_at": "2026-09-20T00:00:00Z",
    "completed_at": "2026-09-20T00:00:00Z",
    "budget_remaining": {
      "currency": "example",
      "micro_units": "example"
    },
    "committed_cost": {
      "currency": "example",
      "micro_units": "example"
    },
    "unresolved_cost": {
      "currency": "example",
      "micro_units": "example"
    },
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ]
  }
}

响应头: X-Request-Id · ETag · Retry-After

错误响应 · error.code ↗

试用

POST/api/v1/works/{project_id}/workflow/commands编辑工作室制作

编辑剧本、场景、设计或镜次选择等制作数据。选择 operation,提交对应 input 和最新 revision。

所需权限: projects:write

参数

名称Type必填描述
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*operation = design.asset.set
operationstring*operation = design.asset.set
  • Fixed value: design.asset.set
inputobject*operation = design.asset.set
input.idstring*operation = design.asset.set
  • Format: UUID
input.asset_idstring*operation = design.asset.set
  • Format: UUID
input.kindstring*operation = design.asset.set
  • Allowed values: primary, variant
input.current_asset_idoneOf*operation = design.asset.set
input.namestring—operation = design.asset.set
  • Minimum length: 1 characters
  • Maximum length: 80 characters
revisioninteger*operation = asset.delete
operationstring*operation = asset.delete
  • Fixed value: asset.delete
inputobject*operation = asset.delete
input.idstring*operation = asset.delete
  • Format: UUID
revisioninteger*operation = trash.restore
operationstring*operation = trash.restore
  • Fixed value: trash.restore
inputobject*operation = trash.restore
input.idstring*operation = trash.restore
  • Format: UUID
input.entity_typestring*operation = trash.restore
  • Allowed values: asset, design
revisioninteger*operation = scene.duplicate
operationstring*operation = scene.duplicate
  • Fixed value: scene.duplicate
inputobject*operation = scene.duplicate
input.idstring*operation = scene.duplicate
  • Format: UUID
revisioninteger*operation = project.settings.update
operationstring*operation = project.settings.update
  • Fixed value: project.settings.update
inputobject*operation = project.settings.update
input.titlestring*operation = project.settings.update
  • Minimum length: 1 characters
  • Maximum length: 120 characters
input.tagsarray*operation = project.settings.update
  • Maximum items: 8 items
input.coverstring*operation = project.settings.update
  • Allowed values: amber, indigo, teal, rust, moss, ink, sage, bone, wine, wash, blush, void
input.aspectstring*operation = project.settings.update
  • Allowed values: 16:9, 9:16, 1:1, 4:3, 21:9
input.resolutionstring*operation = project.settings.update
  • Allowed values: 480p, 720p, 1080p, 2k
input.stylestring*operation = project.settings.update
  • Allowed values: realistic_general, realistic_urban, realistic_cinematic, 2d_japanese_manga, 2d_korean_urban, 2d_korean, 2d_otome, 2d_chinese_manga, 2d_classical, 3d_chinese, 3d_xianxia, 3d_cartoon, cg_general, cg_cyberpunk, ink_gongbi, custom
input.style_promptstring*operation = project.settings.update
  • Maximum length: 1000 characters
revisioninteger*operation = project.rename
operationstring*operation = project.rename
  • Fixed value: project.rename
inputobject*operation = project.rename
input.titlestring*operation = project.rename
  • Minimum length: 1 characters
  • Maximum length: 120 characters
revisioninteger*operation = project.state.set
operationstring*operation = project.state.set
  • Fixed value: project.state.set
inputobject*operation = project.state.set
input.statestring*operation = project.state.set
  • Allowed values: active, archived
revisioninteger*operation = script.update
operationstring*operation = script.update
  • Fixed value: script.update
inputobject*operation = script.update
input.textstring*operation = script.update
  • Maximum length: 5000000 characters
revisioninteger*operation = script.bible.update
operationstring*operation = script.bible.update
  • Fixed value: script.bible.update
inputobject*operation = script.bible.update
input.loglinestring*operation = script.bible.update
  • Maximum length: 500 characters
input.synopsisstring*operation = script.bible.update
  • Maximum length: 4000 characters
revisioninteger*operation = episode.save
operationstring*operation = episode.save
  • Fixed value: episode.save
inputobject*operation = episode.save
input.idstring—operation = episode.save
  • Format: UUID
input.titlestring*operation = episode.save
  • Minimum length: 1 characters
  • Maximum length: 200 characters
input.numberinteger—operation = episode.save
input.raw_contentstring—operation = episode.save
  • Maximum length: 20000 characters
input.descriptionstring—operation = episode.save
  • Maximum length: 4000 characters
revisioninteger*operation = episode.delete
operationstring*operation = episode.delete
  • Fixed value: episode.delete
inputobject*operation = episode.delete
input.idstring*operation = episode.delete
  • Format: UUID
revisioninteger*operation = scene.save
operationstring*operation = scene.save
  • Fixed value: scene.save
inputobject*operation = scene.save
input.idstring—operation = scene.save
  • Format: UUID
input.episode_idstring*operation = scene.save
  • Format: UUID
input.headingstring*operation = scene.save
  • Minimum length: 1 characters
  • Maximum length: 200 characters
input.numberinteger—operation = scene.save
input.descriptionstring—operation = scene.save
  • Maximum length: 4000 characters
input.video_promptoneOf—operation = scene.save
revisioninteger*operation = scene.delete
operationstring*operation = scene.delete
  • Fixed value: scene.delete
inputobject*operation = scene.delete
input.idstring*operation = scene.delete
  • Format: UUID
revisioninteger*operation = scene.reorder
operationstring*operation = scene.reorder
  • Fixed value: scene.reorder
inputobject*operation = scene.reorder
input.episode_idstring*operation = scene.reorder
  • Format: UUID
input.scene_idsarray*operation = scene.reorder
  • Maximum items: 500 items
revisioninteger*operation = design.save
operationstring*operation = design.save
  • Fixed value: design.save
inputobject*operation = design.save
input.idstring—operation = design.save
  • Format: UUID
input.kindstring*operation = design.save
  • Allowed values: character, scene, prop, grid
input.namestring*operation = design.save
  • Minimum length: 1 characters
  • Maximum length: 200 characters
input.descriptionstring—operation = design.save
  • Maximum length: 4000 characters
input.tagsarray—operation = design.save
  • Maximum items: 8 items
revisioninteger*operation = design.delete
operationstring*operation = design.delete
  • Fixed value: design.delete
inputobject*operation = design.delete
input.idstring*operation = design.delete
  • Format: UUID
revisioninteger*operation = design.voice.set
operationstring*operation = design.voice.set
  • Fixed value: design.voice.set
inputobject*operation = design.voice.set
input.idstring*operation = design.voice.set
  • Format: UUID
input.asset_idoneOf*operation = design.voice.set
revisioninteger*operation = design.asset.detach
operationstring*operation = design.asset.detach
  • Fixed value: design.asset.detach
inputobject*operation = design.asset.detach
input.idstring*operation = design.asset.detach
  • Format: UUID
input.asset_idstring*operation = design.asset.detach
  • Format: UUID
input.kindstring*operation = design.asset.detach
  • Allowed values: primary, variant, voice
revisioninteger*operation = design.asset.restore
operationstring*operation = design.asset.restore
  • Fixed value: design.asset.restore
inputobject*operation = design.asset.restore
input.idstring*operation = design.asset.restore
  • Format: UUID
input.current_asset_idstring*operation = design.asset.restore
  • Format: UUID
input.restore_asset_idstring*operation = design.asset.restore
  • Format: UUID
input.kindstring*operation = design.asset.restore
  • Allowed values: primary, variant
revisioninteger*operation = design.variant.rename
operationstring*operation = design.variant.rename
  • Fixed value: design.variant.rename
inputobject*operation = design.variant.rename
input.idstring*operation = design.variant.rename
  • Format: UUID
input.asset_idstring*operation = design.variant.rename
  • Format: UUID
input.namestring*operation = design.variant.rename
  • Minimum length: 1 characters
  • Maximum length: 80 characters
revisioninteger*operation = scene.design.attach
operationstring*operation = scene.design.attach
  • Fixed value: scene.design.attach
inputobject*operation = scene.design.attach
input.scene_idstring*operation = scene.design.attach
  • Format: UUID
input.design_idstring*operation = scene.design.attach
  • Format: UUID
revisioninteger*operation = scene.design.detach
operationstring*operation = scene.design.detach
  • Fixed value: scene.design.detach
inputobject*operation = scene.design.detach
input.scene_idstring*operation = scene.design.detach
  • Format: UUID
input.design_idstring*operation = scene.design.detach
  • Format: UUID
revisioninteger*operation = cut.take.select
operationstring*operation = cut.take.select
  • Fixed value: cut.take.select
inputobject*operation = cut.take.select
input.scene_idstring*operation = cut.take.select
  • Format: UUID
input.asset_idoneOf*operation = cut.take.select
revisioninteger*operation = take.delete
operationstring*operation = take.delete
  • Fixed value: take.delete
inputobject*operation = take.delete
input.scene_idstring*operation = take.delete
  • Format: UUID
input.asset_idstring*operation = take.delete
  • Format: UUID
第一个请求 · JSON
{
  "revision": 1,
  "operation": "design.asset.set",
  "input": {
    "id": "11111111-1111-4111-8111-111111111111",
    "asset_id": "11111111-1111-4111-8111-111111111111",
    "kind": "primary",
    "current_asset_id": "11111111-1111-4111-8111-111111111111"
  }
}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/works/{project_id}/cut/exports导出工作室剪辑

按剧集和场景顺序合并视频。用 selections 指定镜次,allow_partial 决定是否允许缺失场景。用 getJob 查询导出进度。

所需权限: jobs:create

参数

名称Type必填描述
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
allow_partialboolean—
  • Default: true
selectionsarray—
  • Maximum items: 200 items
selections[].scene_idstring*
  • Format: UUID
selections[].asset_idstring*
  • Format: UUID
第一个请求 · JSON
{
  "revision": 1
}

响应

HTTP 202 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

响应头: X-Request-Id · ETag · Retry-After

错误响应 · error.code ↗

试用

POST/api/v1/works/{project_id}/storyboard/videos生成分镜场景视频

按所选模型、时长和分辨率为 scene_id 生成视频。anchor_asset_id 可指定起始图像。用 getJob 跟踪任务。

所需权限: jobs:create

参数

名称Type必填描述
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
scene_idstring*
  • Format: UUID
anchor_asset_idstring—
  • Format: UUID
reference_asset_idsarray—
  • Maximum items: 12 items
modelstring—
  • Default: "video-standard"
  • Minimum length: 1 characters
  • Maximum length: 200 characters
promptstring—
  • Minimum length: 1 characters
  • Maximum length: 10000 characters
duration_secondsinteger*
  • Minimum: 1
  • Maximum: 60
resolutionstring*
  • Minimum length: 1 characters
  • Maximum length: 20 characters
aspect_ratiostring*
  • Minimum length: 1 characters
  • Maximum length: 20 characters
generate_audioboolean—
第一个请求 · JSON
{
  "revision": 1,
  "scene_id": "11111111-1111-4111-8111-111111111111",
  "duration_seconds": 1,
  "resolution": "example",
  "aspect_ratio": "example"
}

响应

HTTP 202 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

响应头: X-Request-Id · ETag · Retry-After

错误响应 · error.code ↗

试用

POST/api/v1/works/{project_id}/designs/images生成角色、场景、道具或宫格图图片

为 design_id 生成一至四张图像,可设置提示词和参考图。选择主图或变体槽位,用 getJob 查询结果。

所需权限: jobs:create

参数

名称Type必填描述
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
revisioninteger*
design_idstring*
  • Format: UUID
variantsinteger—
  • Default: 1
  • Minimum: 1
  • Maximum: 4
modelstring—
  • Default: "image-standard"
  • Minimum length: 1 characters
  • Maximum length: 200 characters
promptstring—
  • Minimum length: 1 characters
  • Maximum length: 20000 characters
aspect_ratiostring—
image_sizestring—
  • Maximum length: 40 characters
qualitystring—
  • Allowed values: low, medium, high
backgroundstring—
  • Allowed values: auto, opaque, transparent
output_formatstring—
  • Allowed values: png, jpeg
reference_asset_idsarray—
  • Default: []
  • Maximum items: 16 items
slotstring—
  • Allowed values: primary, variant
  • Default: "primary"
variant_namestring—
  • Minimum length: 1 characters
  • Maximum length: 80 characters
current_asset_idstring—
  • Format: UUID
第一个请求 · JSON
{
  "revision": 1,
  "design_id": "11111111-1111-4111-8111-111111111111"
}

响应

HTTP 202 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

响应头: X-Request-Id · ETag · Retry-After

错误响应 · error.code ↗

试用

上传

POST/api/v1/uploads获取文件上传地址

登记文件信息并返回 upload_url。将文件内容 PUT 到该地址后,调用上传完成接口。 支持 TXT、Markdown、DOCX、PNG、JPEG、WebP、AVIF、WAV 和 ZIP。文件大小限制与 Studio 共用设置,请查看 GET /capabilities 的 upload_limits。剧本最多 5,000,000 字符。文件名不能包含路径分隔符。WAV 须为 PCM 或 IEEE float。

所需权限: assets:write

参数

名称Type必填描述
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
project_idstring*
  • Format: UUID
filenamestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
mime_typestring*
  • Allowed values: text/plain, text/markdown, application/vnd.openxmlformats-officedocument.wordprocessingml.document, image/png, image/jpeg, image/webp, image/avif, audio/wav, application/zip
size_bytesinteger*
  • Maximum: 1073741824
sha256string*
第一个请求 · JSON
{
  "project_id": "11111111-1111-4111-8111-111111111111",
  "filename": "example",
  "mime_type": "text/plain",
  "size_bytes": 1,
  "sha256": "example"
}

响应

HTTP 201 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "asset_id": "11111111-1111-4111-8111-111111111111",
    "upload_url": "example",
    "method": "PUT",
    "content_type": "example",
    "expires_at": "2026-09-20T00:00:00Z"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/uploads/{upload_id}/complete告知文件已上传完成

根据登记信息验证已上传文件,并返回可用于制作的素材信息。

所需权限: assets:write

参数

名称Type必填描述
upload_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

第一个请求 · JSON
{}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "state": "pending",
    "mime_type": "example",
    "size_bytes": 0,
    "download_url": "example",
    "expires_at": "2026-09-20T00:00:00Z"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

PUT/api/v1/uploads/{upload_id}/content上传文件内容

为已有上传凭证发送 application/octet-stream 文件内容。成功后调用 completeUpload。

所需权限: assets:write

参数

名称Type必填描述
upload_idpathstring*
  • Format: UUID

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "uploaded": true
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

素材与结果

GET/api/v1/assets/{asset_id}查看成果文件信息和下载链接

返回素材信息及可用时的签名 download_url。请在地址过期前下载文件。

所需权限: assets:read

参数

名称Type必填描述
asset_idpathstring*
  • Format: UUID

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "state": "pending",
    "mime_type": "example",
    "size_bytes": 0,
    "download_url": "example",
    "expires_at": "2026-09-20T00:00:00Z"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/downloads/{asset_id}下载完成的文件

使用 getAsset 返回的完整签名 download_url 下载文件。链接五分钟后过期。

参数

名称Type必填描述
asset_idpathstring*
  • Format: UUID
expiresquerystring*
signaturequerystring*

响应

HTTP 200 文件字节

application/octet-stream · 文件字节

错误响应 · error.code ↗

试用

制作执行

GET/api/v1/runs查看制作列表

列出制作执行记录,可按项目、状态、client_reference 和时间范围筛选。

所需权限: runs:read

参数

名称Type必填描述
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100
project_idquerystring—
  • Format: UUID
statequerystring—
  • Allowed values: queued, running, awaiting_review, stopping, paused, needs_attention, partially_succeeded, succeeded, failed, cancelled
client_referencequerystring—
  • Minimum length: 1 characters
  • Maximum length: 128 characters
fromquerystring—
  • Format: Date and time with timezone
toquerystring—
  • Format: Date and time with timezone

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "work_id": "11111111-1111-4111-8111-111111111111",
        "plan_id": "11111111-1111-4111-8111-111111111111",
        "version": 1,
        "state": "queued",
        "client_reference": "example",
        "created_at": "2026-09-20T00:00:00Z",
        "completed_at": "2026-09-20T00:00:00Z",
        "budget_remaining": {
          "currency": "example",
          "micro_units": "example"
        },
        "committed_cost": {
          "currency": "example",
          "micro_units": "example"
        },
        "unresolved_cost": {
          "currency": "example",
          "micro_units": "example"
        },
        "output_asset_ids": [
          "11111111-1111-4111-8111-111111111111"
        ]
      }
    ],
    "next_cursor": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/runs/{run_id}查看制作进度

返回制作执行的当前状态、版本及可用结果。提交决策时使用此版本。

所需权限: runs:read

参数

名称Type必填描述
run_idpathstring*
  • Format: UUID

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "plan_id": "11111111-1111-4111-8111-111111111111",
    "version": 1,
    "state": "queued",
    "client_reference": "example",
    "created_at": "2026-09-20T00:00:00Z",
    "completed_at": "2026-09-20T00:00:00Z",
    "budget_remaining": {
      "currency": "example",
      "micro_units": "example"
    },
    "committed_cost": {
      "currency": "example",
      "micro_units": "example"
    },
    "unresolved_cost": {
      "currency": "example",
      "micro_units": "example"
    },
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ]
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/runs/{run_id}/steps按阶段查看进度

列出执行中的各个步骤及状态,查看哪些阶段正在等待、运行或已完成。

所需权限: runs:read

参数

名称Type必填描述
run_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "run_id": "11111111-1111-4111-8111-111111111111",
        "stage_key": "example",
        "target_id": "11111111-1111-4111-8111-111111111111",
        "job_id": "11111111-1111-4111-8111-111111111111",
        "state": "blocked",
        "output_asset_ids": [
          "11111111-1111-4111-8111-111111111111"
        ],
        "error_code": "example",
        "ordinal": 1
      }
    ],
    "next_cursor": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/runs/{run_id}/events查看制作过程中的记录

查询执行中的状态变化、审核请求等事件,用于追踪制作过程。

所需权限: runs:read

参数

名称Type必填描述
run_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "items": [
      {
        "event_id": "11111111-1111-4111-8111-111111111111",
        "run_id": "11111111-1111-4111-8111-111111111111",
        "sequence": 1,
        "type": "run.state_changed",
        "state": "queued",
        "step_id": "11111111-1111-4111-8111-111111111111",
        "created_at": "2026-09-20T00:00:00Z"
      }
    ],
    "next_cursor": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/runs/{run_id}/decisions确认继续或中止

对制作执行提交 approve、stop、resume、cancel_remaining 或 retry_result 决策。expected_version 须为最新版本。 retry_result 仅恢复已保存视频任务的结果查询。请提交最新 expected_version 和 step_id。保留原任务和额度预留,不重新生成。仅支持提交后 24 小时内可恢复的视频。其他结果或用量不明的任务需运营人员审核。

所需权限: runs:write

参数

名称Type必填描述
run_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
actionstring*retry_result resumes result polling for an accepted Studio video on the original reservation; requires step_id and expected_version. It never resubmits generation. Unconfirmed usage without a saved video task requires operator review.
  • Allowed values: approve, stop, resume, cancel_remaining, retry_result
expected_versioninteger*
step_idstring—
  • Format: UUID
selected_asset_idsarray—
  • Maximum items: 10 items
第一个请求 · JSON
{
  "action": "approve",
  "expected_version": 1
}

响应

HTTP 202 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "plan_id": "11111111-1111-4111-8111-111111111111",
    "version": 1,
    "state": "queued",
    "client_reference": "example",
    "created_at": "2026-09-20T00:00:00Z",
    "completed_at": "2026-09-20T00:00:00Z",
    "budget_remaining": {
      "currency": "example",
      "micro_units": "example"
    },
    "committed_cost": {
      "currency": "example",
      "micro_units": "example"
    },
    "unresolved_cost": {
      "currency": "example",
      "micro_units": "example"
    },
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ]
  }
}

响应头: X-Request-Id · ETag · Retry-After

错误响应 · error.code ↗

试用

工作流功能

GET/api/v1/jobs/{job_id}查看任务状态和结果

返回任务当前状态及输出素材 ID。完成后用 getAsset 获取结果文件。

所需权限: jobs:read

参数

名称Type必填描述
job_idpathstring*
  • Format: UUID

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/jobs/{job_id}/build查询自动构建进度及资料

查询剧本自动构建任务的阶段、进度消息、原始资料及处理用文本。

所需权限: jobs:read, assets:read

参数

名称Type必填描述
job_idpathstring*
  • Format: UUID

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "state": "example",
    "stage": "example",
    "messages": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "role": "assistant",
        "stage": "example",
        "content": "example",
        "status": "streaming",
        "seq": 1,
        "created_at": "example",
        "updated_at": "example"
      }
    ],
    "sources": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "name": "example",
        "filterMode": "prompt_index",
        "sourceText": "example",
        "llmText": "example",
        "originalChars": 1,
        "preparedChars": 1
      }
    ]
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

????API
POST/api/v1/jobs只执行单个功能

不用跑完整流程,只挑一个功能立即执行。analyze_script 读取剧本并生成分镜,generate_image 生成角色、场景、道具和分镜图,generate_video 为已选好图片的分镜生成视频,assemble_video 把所有分镜都有视频的剧集拼接成片。请求里请始终带上项目最新的 revision。Live 请求会先预留积分。

所需权限: jobs:create

参数

名称Type必填描述
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
project_idstring*
  • Format: UUID
project_revisioninteger*
target_idstring*
  • Format: UUID
typestring*
  • Allowed values: analyze_script, generate_image, generate_video, assemble_video
profile_idstring*
  • Maximum length: 100 characters
client_referencestring—
  • Maximum length: 128 characters
第一个请求 · JSON
{
  "project_id": "11111111-1111-4111-8111-111111111111",
  "project_revision": 1,
  "target_id": "11111111-1111-4111-8111-111111111111",
  "type": "analyze_script",
  "profile_id": "example"
}

响应

HTTP 202 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

响应头: X-Request-Id · ETag · Retry-After

错误响应 · error.code ↗

试用

请求日志

GET/api/v1/requests查看已发送的请求记录

查询 API 请求日志,包括 HTTP 状态和耗时。可按项目及时间范围筛选。

所需权限: requests:read

参数

名称Type必填描述
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100
fromquerystring—
  • Format: Date and time with timezone
toquerystring—
  • Format: Date and time with timezone
project_idquerystring—
  • Format: UUID
run_idquerystring—
  • Format: UUID
job_idquerystring—
  • Format: UUID
key_idquerystring—
  • Format: UUID
status_codequeryinteger—
  • Minimum: 100
  • Maximum: 599
methodquerystring—
  • Allowed values: GET, POST, PATCH, PUT
route_templatequerystring—
  • Minimum length: 1 characters
  • Maximum length: 300 characters

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "items": [
      {
        "request_id": "11111111-1111-4111-8111-111111111111",
        "created_at": "2026-09-20T00:00:00Z",
        "method": "GET",
        "route_template": "example",
        "status_code": 100,
        "duration_ms": 0,
        "actor_kind": "api_key",
        "work_id": "11111111-1111-4111-8111-111111111111",
        "run_id": "11111111-1111-4111-8111-111111111111",
        "job_id": "11111111-1111-4111-8111-111111111111",
        "replayed": false,
        "error_code": "example"
      }
    ],
    "next_cursor": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

GET/api/v1/requests/{request_id}查看单条请求记录

通过 request_id 查询一次 API 调用的 HTTP 状态、耗时及关联执行或任务。

所需权限: requests:read

参数

名称Type必填描述
request_idpathstring*
  • Format: UUID

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "request_id": "11111111-1111-4111-8111-111111111111",
    "created_at": "2026-09-20T00:00:00Z",
    "method": "GET",
    "route_template": "example",
    "status_code": 100,
    "duration_ms": 0,
    "actor_kind": "api_key",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "job_id": "11111111-1111-4111-8111-111111111111",
    "replayed": false,
    "error_code": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

用量

GET/api/v1/usage查看积分使用量

返回查询期间的用量汇总,包括预留和已结算金额。

所需权限: usage:read

参数

无参数

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "period_start": "2026-09-20T00:00:00Z",
    "period_end": "2026-09-20T00:00:00Z",
    "as_of": "2026-09-20T00:00:00Z",
    "http_requests": 0,
    "runs": 0,
    "jobs": 0,
    "reserved": {
      "currency": "example",
      "micro_units": "example"
    },
    "committed": {
      "currency": "example",
      "micro_units": "example"
    },
    "unresolved": {
      "currency": "example",
      "micro_units": "example"
    },
    "remaining": {
      "currency": "example",
      "micro_units": "example"
    },
    "amount_basis": "partner_limit",
    "billing_mode": "pilot"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

Webhook

GET/api/v1/webhook-endpoints查看 Webhook 通知地址列表

列出已注册的 Webhook 地址、订阅事件及启用状态。

所需权限: webhooks:read

参数

名称Type必填描述
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "url": "example",
        "work_ids": [
          "11111111-1111-4111-8111-111111111111"
        ],
        "events": [
          "run.state_changed"
        ],
        "enabled": false,
        "verified": false,
        "secret_version": 1,
        "created_at": "2026-09-20T00:00:00Z"
      }
    ],
    "next_cursor": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/webhook-endpoints添加 Webhook 通知地址

注册 Webhook 地址,以接收指定项目的所选制作事件。

所需权限: webhooks:write

参数

名称Type必填描述
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

名称Type必填描述
urlstring*
  • Format: uri
  • Maximum length: 2000 characters
project_idsarray*
  • Maximum items: 100 items
eventsarray*
  • Maximum items: 4 items
第一个请求 · JSON
{
  "url": "example",
  "project_ids": [
    "11111111-1111-4111-8111-111111111111"
  ],
  "events": [
    "run.state_changed"
  ]
}

响应

HTTP 201 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "endpoint": {
      "id": "11111111-1111-4111-8111-111111111111",
      "url": "example",
      "work_ids": [
        "11111111-1111-4111-8111-111111111111"
      ],
      "events": [
        "run.state_changed"
      ],
      "enabled": false,
      "verified": false,
      "secret_version": 1,
      "created_at": "2026-09-20T00:00:00Z"
    }
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

PATCH/api/v1/webhook-endpoints/{endpoint_id}修改 Webhook 通知地址

启用或停用 Webhook,或更改接收的事件类型。

所需权限: webhooks:write

参数

名称Type必填描述
endpoint_idpathstring*
  • Format: UUID
If-Matchheaderstring*使用最新响应的 ETag,包括引号。

请求体

名称Type必填描述
enabledboolean—
eventsarray—
  • Maximum items: 4 items
第一个请求 · JSON
{}

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "url": "example",
    "work_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "events": [
      "run.state_changed"
    ],
    "enabled": false,
    "verified": false,
    "secret_version": 1,
    "created_at": "2026-09-20T00:00:00Z"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

Webhook 投递

GET/api/v1/webhook-deliveries查看 Webhook 发送记录

列出 Webhook 投递尝试及状态,用于确认通知是否成功送达。

所需权限: webhooks:read

参数

名称Type必填描述
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

响应

HTTP 200 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "endpoint_id": "11111111-1111-4111-8111-111111111111",
        "event_id": "11111111-1111-4111-8111-111111111111",
        "state": "pending",
        "attempt": 0,
        "http_status": 1,
        "next_attempt_at": "2026-09-20T00:00:00Z",
        "created_at": "2026-09-20T00:00:00Z"
      }
    ],
    "next_cursor": "example"
  }
}

响应头: X-Request-Id · ETag

错误响应 · error.code ↗

试用

POST/api/v1/webhook-deliveries/{delivery_id}/redeliver重新发送 Webhook

请求重新投递 delivery_id 指定的已有 Webhook 通知。

所需权限: webhooks:write

参数

名称Type必填描述
delivery_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*重试时使用相同的 Idempotency-Key 和请求体。
  • Minimum length: 16 characters
  • Maximum length: 128 characters

请求体

第一个请求 · JSON
{}

响应

HTTP 202 成功

第一个请求 · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "endpoint_id": "11111111-1111-4111-8111-111111111111",
    "event_id": "11111111-1111-4111-8111-111111111111",
    "state": "pending",
    "attempt": 0,
    "http_status": 1,
    "next_attempt_at": "2026-09-20T00:00:00Z",
    "created_at": "2026-09-20T00:00:00Z"
  }
}

响应头: X-Request-Id · ETag · Retry-After

错误响应 · error.code ↗

试用

规范

GET/api/v1/openapi.json下载 API 规范

下载包含 API 路径、请求字段和响应结构的 OpenAPI 规范。

参数

无参数

响应

HTTP 200 OpenAPI 规范

第一个请求 · JSON
{}

试用

错误响应 · error.code 71

返回 2xx 表示请求已被接受。201 表示已创建,202 表示已受理、还在处理,此时还没有结果,请轮询任务状态确认是否完成。 成功响应都包含 request_id 和 data,只有文件下载和 API 规范响应例外。 失败时,所有接口都返回结构相同的 error。程序里请用 error.code 做分支,message 是写给人看的原因和处理方法。 能不能重发,看 retryable:只有为 true 时才自动重试,并按 retry_after_seconds 或 Retry-After 指定的时间等待后再发送。重试 POST 时请使用与第一次相同的 Idempotency-Key 和请求体,以免重复扣费或重复生成。 遇到不认识的 error.code,按 HTTP 状态码和 retryable 处理即可。联系支持时请提供 request_id。任务受理之后发生的失败,请在任务状态和结果里查看,而不是在这个响应里。

{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "error": {
    "code": "INVALID_REQUEST",
    "message": "Invalid input. Check the required fields, types and values.",
    "retryable": false
  }
}
error.codeHTTP描述
INVALID_REFERENCE422A selected reference is unavailable or does not belong to this project. Select a ready image from this project.
MODEL_UNAVAILABLE422The selected model is unavailable. Refresh the model list and select another model.
MODEL_POLICY_REQUIRED503No default model policy is configured. Specify a model or ask the administrator to configure the task policy.
BUILD_REPLAY_CONFLICT409The build inputs changed. Review the saved build before continuing.
INVALID_REQUEST400,422Invalid input. Check the required fields, types and values.
INVALID_API_KEY401Invalid credentials or download signature. Check the API key or obtain a new download URL.
INSUFFICIENT_SCOPE403Permission denied. Check the key scopes and project access.
PARTNER_BLOCKED403Account blocked. Contact support.
PARTNER_PAUSED403Account paused. Ask the administrator to resume access.
RESOURCE_NOT_FOUND404Resource unavailable. Check its ID and access permissions.
METHOD_NOT_ALLOWED405Unsupported HTTP method. Use the documented method.
REQUEST_TIMEOUT408Request body timed out. Check the connection and upload size.
IDEMPOTENCY_KEY_REQUIRED400Provide a valid Idempotency-Key header.
IDEMPOTENCY_CONFLICT409This Idempotency-Key belongs to a different request. Reuse it only with the original request.
IDEMPOTENCY_KEY_EXPIRED409Idempotency record expired. Check the original result before starting a new operation.
PRECONDITION_FAILED412Provide the latest quoted ETag in If-Match.
REVISION_CONFLICT409Resource changed. Read the latest revision before updating.
RESOURCE_CONFLICT409Resource conflicts with existing data. Review the current resource.
INVALID_TRANSITION409Action is unavailable in the current state. Read the latest state.
RUN_IN_PROGRESS409A run is in progress. Check its status before starting another.
JOB_RUNNING409A job is running. Wait for completion before editing.
PLAN_EXPIRED409Plan expired. Create a new plan and review its quote.
INSUFFICIENT_CREDITS402Insufficient credits. Check the balance and required credits.
BUDGET_EXCEEDED409,429Budget limit exceeded. Review usage and the configured budget.
RATE_LIMITED429Request rate exceeded. Follow retryable and Retry-After before retrying.
CAPACITY_EXCEEDED429Capacity limit exceeded. Reduce the workload or wait for active work to finish.
PAYLOAD_TOO_LARGE413Request body too large. Reduce it to the documented limit.
UNSUPPORTED_MEDIA_TYPE415Unsupported content type or encoding. Use the documented Content-Type without Content-Encoding.
UPLOAD_TOO_LARGE422Uploaded content exceeds its processing limit. Reduce the file size.
UPLOAD_NOT_VERIFIED422Upload is incomplete, expired or invalid. Check the upload and verification steps.
ASSET_KIND_MISMATCH422Asset type does not match the operation. Select a compatible asset.
SELECTED_IMAGE_REQUIRED422Select a valid image before generating video.
SELECTED_VIDEO_REQUIRED422Select valid videos for the requested shots before assembly.
REFERENCE_LIMIT_EXCEEDED422Too many reference assets. Reduce them to the model limit.
REFERENCE_IMAGE_REQUIRED422This model requires a reference image. Add an image or select a text-to-image model.
INVALID_GENERATION_OPTIONS422Generation options are invalid. Check the model capabilities.
PROMPT_REQUIRED422Provide a generation prompt.
SCRIPT_TEXT_REQUIRED422Provide script text before starting this operation.
SCENES_REQUIRED422Create scenes before starting this operation.
VARIANT_NAME_REQUIRED422Provide a variant name.
EPISODE_ALREADY_STRUCTURED409Episode already has shots. Review its existing structure.
ONE_SCRIPT_PER_PROJECT409This project supports one script. Use the existing script.
MULTIPLE_SCRIPTS_REQUIRE_REVIEW409Multiple scripts need review before continuing.
NATIVE_CONTENT_ALREADY_EXISTS409Studio content already exists. Review it before continuing.
LIVE_PROJECT_REQUIRED409This operation requires a live project.
STUDIO_MIGRATION_REQUIRED409Project needs Studio migration. Contact support.
UNSUPPORTED_CAPABILITY422Unsupported operation or profile. Check GET /capabilities.
CAPABILITY_UNAVAILABLE503Capability currently unavailable. Check GET /capabilities.
API_NOT_ACCEPTING503New requests are paused. Check service availability.
DEPENDENCY_UNAVAILABLE503A required service is unavailable. Follow the retry guidance or contact support.
PRICING_UNAVAILABLE503Pricing unavailable. A valid quote is required to proceed.
MEDIA_TOOLS_UNAVAILABLE503Media processing unavailable. Contact support.
STORAGE_READ_FAILED503Could not read the stored asset. Contact support with request_id.
STORAGE_WRITE_FAILED503Could not save the asset. Check the result before retrying.
INTERNAL_ERROR500Internal error. Follow retry guidance; include request_id when contacting support.
RESPONSE_CONTRACT_VIOLATION500Server response validation failed. Contact support with request_id.
INVALID_EXECUTION_CONTEXT500Execution context is invalid. Contact support.
RETRY_TRANSACTION503Transaction could not complete. Follow the response retry guidance.
CLAIM_LOST409Execution ownership changed. Check the current job state.
PROVIDER_TIMEOUT504Generation service timed out. Check the existing job before submitting again.
PROVIDER_TERMINAL_FAILURE422Generation failed. Review the job result and inputs.
PROVIDER_RESULT_UNAVAILABLE502Generation result unavailable. Check the existing job and recovery options.
INVALID_RESULT422,503Result failed validation. Review the job or contact support.
RESULT_TOO_LARGE422Result exceeds the processing limit. Reduce the requested output.
EXPORT_TOO_LARGE422Export exceeds the size limit. Reduce the export selection.
RECOVERY_BACKOFF409Existing result recovery is delayed. Check again later; do not resubmit generation.
VIDEO_RECOVERY_REVIEW_REQUIRED503The original video task needs scheduled recovery or operator review. Do not resubmit generation.
RESULT_RECOVERY_REQUIRED409,503Existing result needs recovery. Check the run recovery options before resubmitting.
RESULT_NOT_RECOVERABLE409Result cannot be recovered through this action. Review the run or contact support.
RECOVERY_CAPACITY_EXCEEDED409Recovery limit reached. Contact support before further recovery attempts.
USAGE_RECOVERY_REQUIRED503Usage needs reconciliation. Contact support; do not resubmit generation blindly.