Xác thực
Dùng khóa FECINE làm Bearer token. Không cần tài khoản để đọc tài liệu.
Từ kịch bản đến phim hoàn chỉnh, kết nối quy trình sản xuất bằng FECINE.
Dùng khóa FECINE làm Bearer token. Không cần tài khoản để đọc tài liệu.
Tạo tác phẩm, tải kịch bản và tư liệu lên, rồi thêm nhân vật, bối cảnh, đạo cụ và lưới ảnh. Tạo tập và cảnh, gắn tham chiếu rồi tạo video cho cảnh. Chọn một bản quay cho mỗi cảnh và xuất bản dựng cuối. Chờ tác vụ tạo hoàn tất và gửi revision mới nhất khi chỉnh sửa. Muốn dựng cấu trúc từ kịch bản đã tải lên, hãy chạy tác vụ dựng riêng.
Kiểm tra trạng thái hoặc nhận Webhook. Dùng ID tài sản để lấy liên kết tải xuống có chữ ký.
curl -X GET 'https://YOUR_FECINE_HOST/api/v1/capabilities' \
-H 'Authorization: Bearer YOUR_FECINE_API_KEY'GET /api/v1/capabilitiesKhông tìm thấy điểm cuối
Lỗi FECINE. Cung cấp request_id khi liên hệ hỗ trợ.
Sao chép JSON rồi thay ID, URL và nội dung bằng giá trị thực tế.
/api/v1/capabilitiesXem những tính năng đang dùng đượcXem chức năng, mô hình, định dạng tải lên và giới hạn sản xuất của môi trường API hiện tại.
Quyền cần thiết: projects:read
Không có tham số
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/worksXem danh sách dự án của bạnLiệt kê tác phẩm có quyền truy cập. Lọc theo state và phân trang bằng cursor, limit.
Quyền cần thiết: projects:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
cursorquery | string | — |
|
limitquery | integer | — |
|
statequery | string | — |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/worksTạo dự án mớiTạo tác phẩm với name đã nhập. Dùng ID trả về để thêm tư liệu và bắt đầu sản xuất.
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
name | string | * |
|
client_reference | string | — |
|
{
"name": "example"
}HTTP 201 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{project_id}Xem thông tin dự ánLấy tên, trạng thái và revision hiện tại của tác phẩm trước khi sửa hoặc yêu cầu sản xuất.
Quyền cần thiết: projects:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
project_idpath | string | * |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{project_id}Sửa thông tin dự ánĐổi tên hoặc trạng thái active, archived của tác phẩm. Gửi ETag mới nhất trong If-Match.
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
project_idpath | string | * |
|
If-Matchheader | string | * | Dùng ETag mới nhất, bao gồm dấu ngoặc kép. |
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
name | string | — |
|
state | string | — |
|
{}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{project_id}/resourcesXem danh sách tư liệu đã tải lênLiệt kê kịch bản, nhân vật, cảnh, đạo cụ, tập và shot trong tác phẩm. Chọn loại bằng kind.
Quyền cần thiết: projects:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
project_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
kindquery | string | — |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{project_id}/resourcesThêm tư liệu như kịch bản, hình ảnhThêm dữ liệu sản xuất như nội dung kịch bản hoặc shot bằng kind và data. Tải tệp qua /uploads.
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
kind | string | * | kind = script
|
name | string | * | kind = script
|
data | object | * | kind = scriptChỉ cung cấp một trong text hoặc source_asset_id. |
data.text | string | — | kind = script
|
data.source_asset_id | string | — | kind = script
|
data.language | string | * | kind = script
|
kind | string | * | kind = character
|
name | string | * | kind = character
|
data | object | * | kind = character |
data.description | string | * | kind = character
|
data.reference_asset_ids | array | — | kind = character
|
kind | string | * | kind = scene
|
name | string | * | kind = scene
|
data | object | * | kind = scene |
data.description | string | * | kind = scene
|
data.reference_asset_ids | array | — | kind = scene
|
kind | string | * | kind = prop
|
name | string | * | kind = prop
|
data | object | * | kind = prop |
data.description | string | * | kind = prop
|
data.reference_asset_ids | array | — | kind = prop
|
kind | string | * | kind = episode
|
name | string | * | kind = episode
|
data | object | * | kind = episode |
data.script_resource_id | string | * | kind = episode
|
data.sequence | integer | * | kind = episode
|
data.raw_content | string | — | kind = episode
|
data.description | string | — | kind = episode
|
kind | string | * | kind = shot
|
name | string | * | kind = shot
|
data | object | * | kind = shot |
data.episode_id | string | * | kind = shot
|
data.scene_id | string | — | kind = shot
|
data.character_ids | array | — | kind = shot
|
data.prop_ids | array | — | kind = shot
|
data.description | string | * | kind = shot
|
data.video_prompt | oneOf | — | kind = shot |
data.sequence | integer | — | kind = shot
|
data.duration_seconds | integer | * | kind = shot
|
data.selected_image_asset_id | string | — | kind = shot
|
data.selected_video_asset_id | string | — | kind = shot
|
{
"kind": "script",
"name": "example",
"data": {
"language": "example"
}
}HTTP 201 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{project_id}/resources/{resource_id}Xem một tư liệuLấy loại, nội dung và revision của tư liệu được chỉ định bằng resource_id trong tác phẩm.
Quyền cần thiết: projects:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
project_idpath | string | * |
|
resource_idpath | string | * |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{project_id}/resources/{resource_id}Sửa tư liệuCập nhật kind và data của tư liệu. Gửi ETag mới nhất trong If-Match để tránh xung đột chỉnh sửa.
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
project_idpath | string | * |
|
resource_idpath | string | * |
|
If-Matchheader | string | * | Dùng ETag mới nhất, bao gồm dấu ngoặc kép. |
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
kind | string | * | kind = script
|
name | string | * | kind = script
|
data | object | * | kind = scriptChỉ cung cấp một trong text hoặc source_asset_id. |
data.text | string | — | kind = script
|
data.source_asset_id | string | — | kind = script
|
data.language | string | * | kind = script
|
kind | string | * | kind = character
|
name | string | * | kind = character
|
data | object | * | kind = character |
data.description | string | * | kind = character
|
data.reference_asset_ids | array | — | kind = character
|
kind | string | * | kind = scene
|
name | string | * | kind = scene
|
data | object | * | kind = scene |
data.description | string | * | kind = scene
|
data.reference_asset_ids | array | — | kind = scene
|
kind | string | * | kind = prop
|
name | string | * | kind = prop
|
data | object | * | kind = prop |
data.description | string | * | kind = prop
|
data.reference_asset_ids | array | — | kind = prop
|
kind | string | * | kind = episode
|
name | string | * | kind = episode
|
data | object | * | kind = episode |
data.script_resource_id | string | * | kind = episode
|
data.sequence | integer | * | kind = episode
|
data.raw_content | string | — | kind = episode
|
data.description | string | — | kind = episode
|
kind | string | * | kind = shot
|
name | string | * | kind = shot
|
data | object | * | kind = shot |
data.episode_id | string | * | kind = shot
|
data.scene_id | string | — | kind = shot
|
data.character_ids | array | — | kind = shot
|
data.prop_ids | array | — | kind = shot
|
data.description | string | * | kind = shot
|
data.video_prompt | oneOf | — | kind = shot |
data.sequence | integer | — | kind = shot
|
data.duration_seconds | integer | * | kind = shot
|
data.selected_image_asset_id | string | — | kind = shot
|
data.selected_video_asset_id | string | — | kind = shot
|
{
"kind": "script",
"name": "example",
"data": {
"language": "example"
}
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{project_id}/workflowĐọc dữ liệu sản xuất StudioLấy kịch bản, tập, thiết kế, cảnh, tài sản, take, lựa chọn dựng phim và revision mới nhất trong một yêu cầu.
Quyền cần thiết: projects:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
project_idpath | string | * |
|
HTTP 200 Thành công
{
"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
}
]
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{project_id}/script/analysesPhân tích kịch bản StudioPhân tích kịch bản thành cấu trúc sản xuất. Gửi script_text để cập nhật trước khi phân tích, hoặc bỏ qua để dùng bản đã lưu. Theo dõi bằng getJob.
Quyền cần thiết: jobs:create
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * | |
model | string | — |
|
script_text | string | — |
|
{
"revision": 1
}HTTP 202 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag · Retry-After
/api/v1/works/{project_id}/script/buildsXây dựng toàn bộ tác phẩm từ kịch bảnGửi script_asset_ids đã xác minh và revision để dựng kịch bản, tham chiếu và storyboard. full_rebuild thay cấu trúc cũ. Tạo ảnh và video riêng. Tính phí token đầu vào và đầu ra thực tế được báo cáo theo cùng bảng giá Studio. Không cần đặt ngân sách tín dụng cho mỗi yêu cầu. GET /jobs/{job_id} → output_asset_ids.
Quyền cần thiết: jobs:create
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * | |
model | string | — |
|
script_asset_ids | array | — |
|
material_scope | string | — |
|
preprocess | object | — | |
preprocess.ignoreAttachments | boolean | — |
|
preprocess.discardKeywords | array | — |
|
preprocess.keepLabels | array | — |
|
rebuild_policy | string | * |
|
{
"revision": 1,
"rebuild_policy": "full_rebuild"
}HTTP 202 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag · Retry-After
/api/v1/works/{project_id}/libraryLiệt kê tư liệu dùng chungLiệt kê tài sản có thể nhập vào tác phẩm. scope=personal xem thư viện cá nhân; mặc định scope=studio xem thư viện chung.
Quyền cần thiết: assets:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
project_idpath | string | * |
|
limit | integer | — |
|
cursor | string | — | |
scope | string | — |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{project_id}/importsNhập tư liệu vào tác phẩmSao chép tài sản cá nhân hoặc dùng chung theo asset_id vào tác phẩm và trả về bản sao. Thay đổi nguồn sau đó không ảnh hưởng bản sao.
Quyền cần thiết: assets:write, assets:read, projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * | |
asset_id | string | * |
|
{
"revision": 1,
"asset_id": "11111111-1111-4111-8111-111111111111"
}HTTP 201 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{project_id}/script/draftsTạo bản thảo kịch bảnGửi instructions, source_text tùy chọn, revision và max_output_tokens. Lưu kịch bản mới mà không ghi đè bản cũ. Tính phí token đầu vào và đầu ra thực tế được báo cáo theo cùng bảng giá Studio. Không cần đặt ngân sách tín dụng cho mỗi yêu cầu. GET /jobs/{job_id} → output_asset_ids.
Quyền cần thiết: jobs:create
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * | |
model | string | — |
|
instructions | string | * |
|
source_text | string | — |
|
max_output_tokens | integer | — |
|
{
"revision": 1,
"instructions": "example"
}HTTP 202 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag · Retry-After
/api/v1/works/{work_id}/charactersNhân vật · Xem (list)Nhân vật · Xem (list). GET /api/v1/works/{work_id}/characters. GET
Quyền cần thiết: projects:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/charactersNhân vật · TạoNhân vật · Tạo. POST /api/v1/works/{work_id}/characters. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
name | string | * |
|
description | string | — |
|
tags | array | — |
|
revision | integer | * |
{
"name": "example",
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/characters/{reference_id}Nhân vật · XemNhân vật · Xem. GET /api/v1/works/{work_id}/characters/{reference_id}. GET
Quyền cần thiết: projects:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/characters/{reference_id}Nhân vật · SửaNhân vật · Sửa. PATCH /api/v1/works/{work_id}/characters/{reference_id}. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
name | string | * |
|
description | string | — |
|
tags | array | — |
|
revision | integer | * |
{
"name": "example",
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/characters/{reference_id}Nhân vật · XóaNhân vật · Xóa. DELETE /api/v1/works/{work_id}/characters/{reference_id}. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/characters/{reference_id}/primary-imageNhân vật · Đặt ảnh tham chiếuNhân vật · Đặt ảnh tham chiếu. PUT /api/v1/works/{work_id}/characters/{reference_id}/primary-image. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
asset_id | string | * |
|
current_asset_id | oneOf | * | |
revision | integer | * |
{
"asset_id": "11111111-1111-4111-8111-111111111111",
"current_asset_id": "11111111-1111-4111-8111-111111111111",
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/characters/{reference_id}/image-generationsNhân vật · Tạo ảnh tham chiếuNhân vật · Tạo ảnh tham chiếu. POST /api/v1/works/{work_id}/characters/{reference_id}/image-generations. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}
Quyền cần thiết: jobs:create
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * | |
variants | integer | — |
|
model | string | — |
|
prompt | string | — |
|
aspect_ratio | string | — | |
image_size | string | — |
|
quality | string | — |
|
background | string | — |
|
output_format | string | — |
|
reference_asset_ids | array | — |
|
slot | string | — |
|
variant_name | string | — |
|
current_asset_id | string | — |
|
{
"revision": 1
}HTTP 202 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag · Retry-After
/api/v1/works/{work_id}/scenes/{scene_id}/references/characters/{reference_id}Nhân vật · Gắn vào cảnhNhân vật · Gắn vào cảnh. PUT /api/v1/works/{work_id}/scenes/{scene_id}/references/characters/{reference_id}. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/scenes/{scene_id}/references/characters/{reference_id}Nhân vật · Gỡ khỏi cảnhNhân vật · Gỡ khỏi cảnh. DELETE /api/v1/works/{work_id}/scenes/{scene_id}/references/characters/{reference_id}. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/background-scenesBối cảnh · Xem (list)Bối cảnh · Xem (list). GET /api/v1/works/{work_id}/background-scenes. GET
Quyền cần thiết: projects:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/background-scenesBối cảnh · TạoBối cảnh · Tạo. POST /api/v1/works/{work_id}/background-scenes. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
name | string | * |
|
description | string | — |
|
tags | array | — |
|
revision | integer | * |
{
"name": "example",
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/background-scenes/{reference_id}Bối cảnh · XemBối cảnh · Xem. GET /api/v1/works/{work_id}/background-scenes/{reference_id}. GET
Quyền cần thiết: projects:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/background-scenes/{reference_id}Bối cảnh · SửaBối cảnh · Sửa. PATCH /api/v1/works/{work_id}/background-scenes/{reference_id}. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
name | string | * |
|
description | string | — |
|
tags | array | — |
|
revision | integer | * |
{
"name": "example",
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/background-scenes/{reference_id}Bối cảnh · XóaBối cảnh · Xóa. DELETE /api/v1/works/{work_id}/background-scenes/{reference_id}. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/background-scenes/{reference_id}/primary-imageBối cảnh · Đặt ảnh tham chiếuBối cảnh · Đặt ảnh tham chiếu. PUT /api/v1/works/{work_id}/background-scenes/{reference_id}/primary-image. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
asset_id | string | * |
|
current_asset_id | oneOf | * | |
revision | integer | * |
{
"asset_id": "11111111-1111-4111-8111-111111111111",
"current_asset_id": "11111111-1111-4111-8111-111111111111",
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/background-scenes/{reference_id}/image-generationsBối cảnh · Tạo ảnh tham chiếuBối cảnh · Tạo ảnh tham chiếu. POST /api/v1/works/{work_id}/background-scenes/{reference_id}/image-generations. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}
Quyền cần thiết: jobs:create
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * | |
variants | integer | — |
|
model | string | — |
|
prompt | string | — |
|
aspect_ratio | string | — | |
image_size | string | — |
|
quality | string | — |
|
background | string | — |
|
output_format | string | — |
|
reference_asset_ids | array | — |
|
slot | string | — |
|
variant_name | string | — |
|
current_asset_id | string | — |
|
{
"revision": 1
}HTTP 202 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag · Retry-After
/api/v1/works/{work_id}/scenes/{scene_id}/references/background-scenes/{reference_id}Bối cảnh · Gắn vào cảnhBối cảnh · Gắn vào cảnh. PUT /api/v1/works/{work_id}/scenes/{scene_id}/references/background-scenes/{reference_id}. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/scenes/{scene_id}/references/background-scenes/{reference_id}Bối cảnh · Gỡ khỏi cảnhBối cảnh · Gỡ khỏi cảnh. DELETE /api/v1/works/{work_id}/scenes/{scene_id}/references/background-scenes/{reference_id}. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/propsĐạo cụ · Xem (list)Đạo cụ · Xem (list). GET /api/v1/works/{work_id}/props. GET
Quyền cần thiết: projects:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/propsĐạo cụ · TạoĐạo cụ · Tạo. POST /api/v1/works/{work_id}/props. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
name | string | * |
|
description | string | — |
|
tags | array | — |
|
revision | integer | * |
{
"name": "example",
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/props/{reference_id}Đạo cụ · XemĐạo cụ · Xem. GET /api/v1/works/{work_id}/props/{reference_id}. GET
Quyền cần thiết: projects:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/props/{reference_id}Đạo cụ · SửaĐạo cụ · Sửa. PATCH /api/v1/works/{work_id}/props/{reference_id}. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
name | string | * |
|
description | string | — |
|
tags | array | — |
|
revision | integer | * |
{
"name": "example",
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/props/{reference_id}Đạo cụ · XóaĐạo cụ · Xóa. DELETE /api/v1/works/{work_id}/props/{reference_id}. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/props/{reference_id}/primary-imageĐạo cụ · Đặt ảnh tham chiếuĐạo cụ · Đặt ảnh tham chiếu. PUT /api/v1/works/{work_id}/props/{reference_id}/primary-image. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
asset_id | string | * |
|
current_asset_id | oneOf | * | |
revision | integer | * |
{
"asset_id": "11111111-1111-4111-8111-111111111111",
"current_asset_id": "11111111-1111-4111-8111-111111111111",
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/props/{reference_id}/image-generationsĐạo cụ · Tạo ảnh tham chiếuĐạo cụ · Tạo ảnh tham chiếu. POST /api/v1/works/{work_id}/props/{reference_id}/image-generations. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}
Quyền cần thiết: jobs:create
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * | |
variants | integer | — |
|
model | string | — |
|
prompt | string | — |
|
aspect_ratio | string | — | |
image_size | string | — |
|
quality | string | — |
|
background | string | — |
|
output_format | string | — |
|
reference_asset_ids | array | — |
|
slot | string | — |
|
variant_name | string | — |
|
current_asset_id | string | — |
|
{
"revision": 1
}HTTP 202 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag · Retry-After
/api/v1/works/{work_id}/scenes/{scene_id}/references/props/{reference_id}Đạo cụ · Gắn vào cảnhĐạo cụ · Gắn vào cảnh. PUT /api/v1/works/{work_id}/scenes/{scene_id}/references/props/{reference_id}. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/scenes/{scene_id}/references/props/{reference_id}Đạo cụ · Gỡ khỏi cảnhĐạo cụ · Gỡ khỏi cảnh. DELETE /api/v1/works/{work_id}/scenes/{scene_id}/references/props/{reference_id}. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/gridsLưới · Xem (list)Lưới · Xem (list). GET /api/v1/works/{work_id}/grids. GET
Quyền cần thiết: projects:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/gridsLưới · TạoLưới · Tạo. POST /api/v1/works/{work_id}/grids. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
name | string | * |
|
description | string | — |
|
tags | array | — |
|
revision | integer | * |
{
"name": "example",
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/grids/{reference_id}Lưới · XemLưới · Xem. GET /api/v1/works/{work_id}/grids/{reference_id}. GET
Quyền cần thiết: projects:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/grids/{reference_id}Lưới · SửaLưới · Sửa. PATCH /api/v1/works/{work_id}/grids/{reference_id}. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
name | string | * |
|
description | string | — |
|
tags | array | — |
|
revision | integer | * |
{
"name": "example",
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/grids/{reference_id}Lưới · XóaLưới · Xóa. DELETE /api/v1/works/{work_id}/grids/{reference_id}. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/grids/{reference_id}/primary-imageLưới · Đặt ảnh tham chiếuLưới · Đặt ảnh tham chiếu. PUT /api/v1/works/{work_id}/grids/{reference_id}/primary-image. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
asset_id | string | * |
|
current_asset_id | oneOf | * | |
revision | integer | * |
{
"asset_id": "11111111-1111-4111-8111-111111111111",
"current_asset_id": "11111111-1111-4111-8111-111111111111",
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/grids/{reference_id}/image-generationsLưới · Tạo ảnh tham chiếuLưới · Tạo ảnh tham chiếu. POST /api/v1/works/{work_id}/grids/{reference_id}/image-generations. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}
Quyền cần thiết: jobs:create
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * | |
variants | integer | — |
|
model | string | — |
|
prompt | string | — |
|
aspect_ratio | string | — | |
image_size | string | — |
|
quality | string | — |
|
background | string | — |
|
output_format | string | — |
|
reference_asset_ids | array | — |
|
slot | string | — |
|
variant_name | string | — |
|
current_asset_id | string | — |
|
{
"revision": 1
}HTTP 202 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag · Retry-After
/api/v1/works/{work_id}/scenes/{scene_id}/references/grids/{reference_id}Lưới · Gắn vào cảnhLưới · Gắn vào cảnh. PUT /api/v1/works/{work_id}/scenes/{scene_id}/references/grids/{reference_id}. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/scenes/{scene_id}/references/grids/{reference_id}Lưới · Gỡ khỏi cảnhLưới · Gỡ khỏi cảnh. DELETE /api/v1/works/{work_id}/scenes/{scene_id}/references/grids/{reference_id}. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/episodesTập · Xem (list)Tập · Xem (list). GET /api/v1/works/{work_id}/episodes. GET
Quyền cần thiết: projects:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/episodesTạo tậpTạo tập. POST /api/v1/works/{work_id}/episodes. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
title | string | * |
|
number | integer | — | |
raw_content | string | — |
|
description | string | — |
|
revision | integer | * |
{
"title": "example",
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/episodes/{episode_id}Tập · XemTập · Xem. GET /api/v1/works/{work_id}/episodes/{episode_id}. GET
Quyền cần thiết: projects:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
episode_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Thành công
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"number": 1,
"title": "example",
"raw_content": "example",
"description": "example"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/episodes/{episode_id}Tập · SửaTập · Sửa. PATCH /api/v1/works/{work_id}/episodes/{episode_id}. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
episode_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
title | string | * |
|
number | integer | — | |
raw_content | string | — |
|
description | string | — |
|
revision | integer | * |
{
"title": "example",
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/episodes/{episode_id}Tập · XóaTập · Xóa. DELETE /api/v1/works/{work_id}/episodes/{episode_id}. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
episode_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/episodes/{episode_id}/scenesCảnh · Xem (list)Cảnh · Xem (list). GET /api/v1/works/{work_id}/episodes/{episode_id}/scenes. GET
Quyền cần thiết: projects:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
episode_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/episodes/{episode_id}/scenesTạo cảnhTạo cảnh. POST /api/v1/works/{work_id}/episodes/{episode_id}/scenes. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
episode_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
heading | string | * |
|
number | integer | — | |
description | string | — |
|
video_prompt | oneOf | — | |
revision | integer | * |
{
"heading": "example",
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/episodes/{episode_id}/scenes/{scene_id}Cảnh · XemCảnh · Xem. GET /api/v1/works/{work_id}/episodes/{episode_id}/scenes/{scene_id}. GET
Quyền cần thiết: projects:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
episode_idpath | string | * |
|
scene_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/episodes/{episode_id}/scenes/{scene_id}Cảnh · SửaCảnh · Sửa. PATCH /api/v1/works/{work_id}/episodes/{episode_id}/scenes/{scene_id}. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
episode_idpath | string | * |
|
scene_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
heading | string | * |
|
number | integer | — | |
description | string | — |
|
video_prompt | oneOf | — | |
revision | integer | * |
{
"heading": "example",
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/archive-importsNhập tệp ZIPNhập tệp 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}
Quyền cần thiết: jobs:create
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * | |
asset_id | string | * |
|
{
"revision": 1,
"asset_id": "11111111-1111-4111-8111-111111111111"
}HTTP 202 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag · Retry-After
/api/v1/works/{work_id}/archive-imports/{import_id}Xem tiến độ nhập ZIPXem tiến độ nhập 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
Quyền cần thiết: jobs:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
import_idpath | string | * |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/uploadsChuẩn bị tải nhiều tệpChuẩn bị tải nhiều tệp. POST /api/v1/works/{work_id}/uploads. Idempotency-Key + files (1–20) → PUT upload_url → POST /api/v1/uploads/{upload_id}/complete
Quyền cần thiết: assets:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
files | array | * |
|
files[].filename | string | * |
|
files[].mime_type | string | * |
|
files[].size_bytes | integer | * |
|
files[].sha256 | string | * |
{
"files": [
{
"filename": "example",
"mime_type": "text/plain",
"size_bytes": 1,
"sha256": "example"
}
]
}HTTP 201 Thành công
{
"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"
}
}
]
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/scenes/{scene_id}Cảnh · XóaCảnh · Xóa. DELETE /api/v1/works/{work_id}/scenes/{scene_id}. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/episodes/{episode_id}/scene-orderSắp xếp cảnhSắp xếp cảnh. PUT /api/v1/works/{work_id}/episodes/{episode_id}/scene-order. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
episode_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
scene_ids | array | * |
|
revision | integer | * |
{
"scene_ids": [
"11111111-1111-4111-8111-111111111111"
],
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/scriptLưu kịch bảnLưu kịch bản. PUT /api/v1/works/{work_id}/script. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
text | string | * |
|
revision | integer | * |
{
"text": "example",
"revision": 1
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/scenes/{scene_id}/video-generationsTạo video cảnhTạo video cảnh. POST /api/v1/works/{work_id}/scenes/{scene_id}/video-generations. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}
Quyền cần thiết: jobs:create
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * | |
anchor_asset_id | string | — |
|
reference_asset_ids | array | — |
|
model | string | — |
|
prompt | string | — |
|
duration_seconds | integer | * |
|
resolution | string | * |
|
aspect_ratio | string | * |
|
generate_audio | boolean | — |
{
"revision": 1,
"duration_seconds": 1,
"resolution": "example",
"aspect_ratio": "example"
}HTTP 202 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag · Retry-After
/api/v1/works/{work_id}/scenes/{scene_id}/selected-takeChọn bản quay cuốiChọn bản quay cuối. PUT /api/v1/works/{work_id}/scenes/{scene_id}/selected-take. revision + Idempotency-Key
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * | |
take_id | oneOf | * |
{
"revision": 1,
"take_id": "11111111-1111-4111-8111-111111111111"
}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{work_id}/exportsXuất video cuốiXuất video cuối. POST /api/v1/works/{work_id}/exports. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}
Quyền cần thiết: jobs:create
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
work_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * | |
allow_partial | boolean | — |
|
selections | array | — |
|
selections[].scene_id | string | * |
|
selections[].asset_id | string | * |
|
{
"revision": 1
}HTTP 202 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag · Retry-After
/api/v1/works/{project_id}/plansXem kế hoạch và số tín dụng dự kiếnXem trước sẽ sản xuất những gì và tốn bao nhiêu tín dụng mà chưa bắt đầu sản xuất thật.
Quyền cần thiết: runs:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
template_id | string | * |
|
template_version | number | * |
|
project_revision | integer | * | |
episode_ids | array | * | ID tập không được trùng lặp.
|
mode | string | * |
|
output_profile | string | * |
|
{
"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 Thành công
{
"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"
]
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{project_id}/runsBắt đầu sản xuấtBắt đầu sản xuất theo plan_id đã tạo và trả về ID lượt chạy. Theo dõi trạng thái, kết quả bằng getRun.
Quyền cần thiết: runs:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
plan_id | string | * |
|
client_reference | string | — |
|
{
"plan_id": "11111111-1111-4111-8111-111111111111"
}HTTP 202 Thành công
{
"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"
]
}
}Header phản hồi: X-Request-Id · ETag · Retry-After
/api/v1/works/{project_id}/workflow/commandsChỉnh sửa sản xuất StudioSửa dữ liệu sản xuất như kịch bản, cảnh, thiết kế hoặc take đã chọn. Chọn operation và gửi input cùng revision mới nhất.
Quyền cần thiết: projects:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * | operation = design.asset.set |
operation | string | * | operation = design.asset.set
|
input | object | * | operation = design.asset.set |
input.id | string | * | operation = design.asset.set
|
input.asset_id | string | * | operation = design.asset.set
|
input.kind | string | * | operation = design.asset.set
|
input.current_asset_id | oneOf | * | operation = design.asset.set |
input.name | string | — | operation = design.asset.set
|
revision | integer | * | operation = asset.delete |
operation | string | * | operation = asset.delete
|
input | object | * | operation = asset.delete |
input.id | string | * | operation = asset.delete
|
revision | integer | * | operation = trash.restore |
operation | string | * | operation = trash.restore
|
input | object | * | operation = trash.restore |
input.id | string | * | operation = trash.restore
|
input.entity_type | string | * | operation = trash.restore
|
revision | integer | * | operation = scene.duplicate |
operation | string | * | operation = scene.duplicate
|
input | object | * | operation = scene.duplicate |
input.id | string | * | operation = scene.duplicate
|
revision | integer | * | operation = project.settings.update |
operation | string | * | operation = project.settings.update
|
input | object | * | operation = project.settings.update |
input.title | string | * | operation = project.settings.update
|
input.tags | array | * | operation = project.settings.update
|
input.cover | string | * | operation = project.settings.update
|
input.aspect | string | * | operation = project.settings.update
|
input.resolution | string | * | operation = project.settings.update
|
input.style | string | * | operation = project.settings.update
|
input.style_prompt | string | * | operation = project.settings.update
|
revision | integer | * | operation = project.rename |
operation | string | * | operation = project.rename
|
input | object | * | operation = project.rename |
input.title | string | * | operation = project.rename
|
revision | integer | * | operation = project.state.set |
operation | string | * | operation = project.state.set
|
input | object | * | operation = project.state.set |
input.state | string | * | operation = project.state.set
|
revision | integer | * | operation = script.update |
operation | string | * | operation = script.update
|
input | object | * | operation = script.update |
input.text | string | * | operation = script.update
|
revision | integer | * | operation = script.bible.update |
operation | string | * | operation = script.bible.update
|
input | object | * | operation = script.bible.update |
input.logline | string | * | operation = script.bible.update
|
input.synopsis | string | * | operation = script.bible.update
|
revision | integer | * | operation = episode.save |
operation | string | * | operation = episode.save
|
input | object | * | operation = episode.save |
input.id | string | — | operation = episode.save
|
input.title | string | * | operation = episode.save
|
input.number | integer | — | operation = episode.save |
input.raw_content | string | — | operation = episode.save
|
input.description | string | — | operation = episode.save
|
revision | integer | * | operation = episode.delete |
operation | string | * | operation = episode.delete
|
input | object | * | operation = episode.delete |
input.id | string | * | operation = episode.delete
|
revision | integer | * | operation = scene.save |
operation | string | * | operation = scene.save
|
input | object | * | operation = scene.save |
input.id | string | — | operation = scene.save
|
input.episode_id | string | * | operation = scene.save
|
input.heading | string | * | operation = scene.save
|
input.number | integer | — | operation = scene.save |
input.description | string | — | operation = scene.save
|
input.video_prompt | oneOf | — | operation = scene.save |
revision | integer | * | operation = scene.delete |
operation | string | * | operation = scene.delete
|
input | object | * | operation = scene.delete |
input.id | string | * | operation = scene.delete
|
revision | integer | * | operation = scene.reorder |
operation | string | * | operation = scene.reorder
|
input | object | * | operation = scene.reorder |
input.episode_id | string | * | operation = scene.reorder
|
input.scene_ids | array | * | operation = scene.reorder
|
revision | integer | * | operation = design.save |
operation | string | * | operation = design.save
|
input | object | * | operation = design.save |
input.id | string | — | operation = design.save
|
input.kind | string | * | operation = design.save
|
input.name | string | * | operation = design.save
|
input.description | string | — | operation = design.save
|
input.tags | array | — | operation = design.save
|
revision | integer | * | operation = design.delete |
operation | string | * | operation = design.delete
|
input | object | * | operation = design.delete |
input.id | string | * | operation = design.delete
|
revision | integer | * | operation = design.voice.set |
operation | string | * | operation = design.voice.set
|
input | object | * | operation = design.voice.set |
input.id | string | * | operation = design.voice.set
|
input.asset_id | oneOf | * | operation = design.voice.set |
revision | integer | * | operation = design.asset.detach |
operation | string | * | operation = design.asset.detach
|
input | object | * | operation = design.asset.detach |
input.id | string | * | operation = design.asset.detach
|
input.asset_id | string | * | operation = design.asset.detach
|
input.kind | string | * | operation = design.asset.detach
|
revision | integer | * | operation = design.asset.restore |
operation | string | * | operation = design.asset.restore
|
input | object | * | operation = design.asset.restore |
input.id | string | * | operation = design.asset.restore
|
input.current_asset_id | string | * | operation = design.asset.restore
|
input.restore_asset_id | string | * | operation = design.asset.restore
|
input.kind | string | * | operation = design.asset.restore
|
revision | integer | * | operation = design.variant.rename |
operation | string | * | operation = design.variant.rename
|
input | object | * | operation = design.variant.rename |
input.id | string | * | operation = design.variant.rename
|
input.asset_id | string | * | operation = design.variant.rename
|
input.name | string | * | operation = design.variant.rename
|
revision | integer | * | operation = scene.design.attach |
operation | string | * | operation = scene.design.attach
|
input | object | * | operation = scene.design.attach |
input.scene_id | string | * | operation = scene.design.attach
|
input.design_id | string | * | operation = scene.design.attach
|
revision | integer | * | operation = scene.design.detach |
operation | string | * | operation = scene.design.detach
|
input | object | * | operation = scene.design.detach |
input.scene_id | string | * | operation = scene.design.detach
|
input.design_id | string | * | operation = scene.design.detach
|
revision | integer | * | operation = cut.take.select |
operation | string | * | operation = cut.take.select
|
input | object | * | operation = cut.take.select |
input.scene_id | string | * | operation = cut.take.select
|
input.asset_id | oneOf | * | operation = cut.take.select |
revision | integer | * | operation = take.delete |
operation | string | * | operation = take.delete
|
input | object | * | operation = take.delete |
input.scene_id | string | * | operation = take.delete
|
input.asset_id | string | * | operation = take.delete
|
{
"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 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/works/{project_id}/cut/exportsXuất bản dựng StudioGhép video theo thứ tự tập và cảnh. Chọn take bằng selections và cho phép thiếu cảnh bằng allow_partial. Theo dõi xuất bằng getJob.
Quyền cần thiết: jobs:create
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * | |
allow_partial | boolean | — |
|
selections | array | — |
|
selections[].scene_id | string | * |
|
selections[].asset_id | string | * |
|
{
"revision": 1
}HTTP 202 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag · Retry-After
/api/v1/works/{project_id}/storyboard/videosTạo video cảnh storyboardTạo video cho scene_id theo mô hình, thời lượng và độ phân giải đã chọn. Có thể dùng anchor_asset_id để chọn ảnh đầu. Theo dõi bằng getJob.
Quyền cần thiết: jobs:create
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * | |
scene_id | string | * |
|
anchor_asset_id | string | — |
|
reference_asset_ids | array | — |
|
model | string | — |
|
prompt | string | — |
|
duration_seconds | integer | * |
|
resolution | string | * |
|
aspect_ratio | string | * |
|
generate_audio | boolean | — |
{
"revision": 1,
"scene_id": "11111111-1111-4111-8111-111111111111",
"duration_seconds": 1,
"resolution": "example",
"aspect_ratio": "example"
}HTTP 202 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag · Retry-After
/api/v1/works/{project_id}/designs/imagesTạo ảnh nhân vật, bối cảnh, đạo cụ hoặc lướiTạo 1–4 ảnh cho design_id bằng prompt và ảnh tham chiếu tùy chọn. Chọn vị trí ảnh chính hoặc biến thể, theo dõi bằng getJob.
Quyền cần thiết: jobs:create
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
revision | integer | * | |
design_id | string | * |
|
variants | integer | — |
|
model | string | — |
|
prompt | string | — |
|
aspect_ratio | string | — | |
image_size | string | — |
|
quality | string | — |
|
background | string | — |
|
output_format | string | — |
|
reference_asset_ids | array | — |
|
slot | string | — |
|
variant_name | string | — |
|
current_asset_id | string | — |
|
{
"revision": 1,
"design_id": "11111111-1111-4111-8111-111111111111"
}HTTP 202 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag · Retry-After
/api/v1/uploadsNhận địa chỉ để tải tệp lênĐăng ký thông tin tệp và nhận upload_url. PUT nội dung vào URL đó rồi gọi API hoàn tất tải lên. Hỗ trợ TXT, Markdown, DOCX, PNG, JPEG, WebP, AVIF, WAV và ZIP. Giới hạn dùng chung với Studio: xem upload_limits từ GET /capabilities. Kịch bản tối đa 5.000.000 ký tự. Tên tệp không chứa dấu phân cách đường dẫn. WAV dùng PCM hoặc IEEE float.
Quyền cần thiết: assets:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
project_id | string | * |
|
filename | string | * |
|
mime_type | string | * |
|
size_bytes | integer | * |
|
sha256 | string | * |
{
"project_id": "11111111-1111-4111-8111-111111111111",
"filename": "example",
"mime_type": "text/plain",
"size_bytes": 1,
"sha256": "example"
}HTTP 201 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/uploads/{upload_id}/completeBáo là đã tải tệp xongKiểm tra tệp đã tải lên theo thông tin đăng ký và trả về tài sản có thể dùng trong sản xuất.
Quyền cần thiết: assets:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
upload_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
{}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/uploads/{upload_id}/contentTải nội dung tệp lênGửi dữ liệu tệp dạng application/octet-stream theo phiếu tải lên đã cấp. Gọi completeUpload sau khi gửi thành công.
Quyền cần thiết: assets:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
upload_idpath | string | * |
|
HTTP 200 Thành công
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"uploaded": true
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/assets/{asset_id}Xem thông tin thành phẩm và liên kết tải vềLấy thông tin tài sản và download_url có chữ ký khi khả dụng. Tải tệp trước khi liên kết hết hạn.
Quyền cần thiết: assets:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
asset_idpath | string | * |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/downloads/{asset_id}Tải tệp đã hoàn thànhTải tệp bằng toàn bộ download_url có chữ ký từ getAsset. Liên kết hết hạn sau năm phút.
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
asset_idpath | string | * |
|
expiresquery | string | * | |
signaturequery | string | * |
HTTP 200 Byte của tệp
application/octet-stream · Byte của tệp
/api/v1/runsXem danh sách lần sản xuấtLiệt kê lượt sản xuất, lọc theo tác phẩm, trạng thái, client_reference và khoảng thời gian.
Quyền cần thiết: runs:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
cursorquery | string | — |
|
limitquery | integer | — |
|
project_idquery | string | — |
|
statequery | string | — |
|
client_referencequery | string | — |
|
fromquery | string | — |
|
toquery | string | — |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/runs/{run_id}Xem tiến độ sản xuấtLấy trạng thái, phiên bản và kết quả hiện có của lượt sản xuất. Dùng phiên bản này khi gửi quyết định.
Quyền cần thiết: runs:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
run_idpath | string | * |
|
HTTP 200 Thành công
{
"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"
]
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/runs/{run_id}/stepsXem tiến độ theo từng bướcLiệt kê các bước và trạng thái để biết giai đoạn nào đang chờ, đang chạy hoặc đã hoàn tất.
Quyền cần thiết: runs:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
run_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/runs/{run_id}/eventsXem nhật ký trong quá trình sản xuấtXem sự kiện như thay đổi trạng thái và yêu cầu duyệt để theo dõi quá trình sản xuất.
Quyền cần thiết: runs:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
run_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/runs/{run_id}/decisionsDuyệt tiếp hoặc dừng lạiGửi quyết định approve, stop, resume, cancel_remaining hoặc retry_result cho lượt chạy. Gửi phiên bản mới nhất trong expected_version. retry_result chỉ tiếp tục kiểm tra kết quả tác vụ video đã lưu. Gửi expected_version mới nhất và step_id. Giữ tác vụ và tín dụng đã giữ, không tạo lại. Chỉ hỗ trợ video có thể khôi phục trong 24 giờ từ khi tiếp nhận. Kết quả hoặc mức sử dụng chưa rõ khác cần người vận hành kiểm tra.
Quyền cần thiết: runs:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
run_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
action | string | * | 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.
|
expected_version | integer | * | |
step_id | string | — |
|
selected_asset_ids | array | — |
|
{
"action": "approve",
"expected_version": 1
}HTTP 202 Thành công
{
"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"
]
}
}Header phản hồi: X-Request-Id · ETag · Retry-After
/api/v1/jobs/{job_id}Xem trạng thái và kết quả của tác vụLấy trạng thái công việc và ID tài sản đầu ra. Khi hoàn tất, dùng getAsset để lấy tệp kết quả.
Quyền cần thiết: jobs:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
job_idpath | string | * |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/jobs/{job_id}/buildXem tiến độ và tư liệuXem giai đoạn, thông báo tiến độ, tài liệu nguồn và văn bản đã chuẩn bị của công việc dựng cấu trúc kịch bản.
Quyền cần thiết: jobs:read, assets:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
job_idpath | string | * |
|
HTTP 200 Thành công
{
"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
}
]
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/jobsChạy ngay một tính năngChạy đúng một tính năng thay vì cả quy trình. analyze_script đọc kịch bản và tạo các cảnh quay, generate_image tạo ảnh nhân vật, bối cảnh, đạo cụ và cảnh quay, generate_video tạo video cho cảnh đã chọn ảnh, còn assemble_video ghép tập phim khi mọi cảnh đều đã có video. Luôn gửi kèm revision mới nhất của dự án. Yêu cầu Live sẽ giữ trước tín dụng.
Quyền cần thiết: jobs:create
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
project_id | string | * |
|
project_revision | integer | * | |
target_id | string | * |
|
type | string | * |
|
profile_id | string | * |
|
client_reference | string | — |
|
{
"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 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag · Retry-After
/api/v1/requestsXem danh sách yêu cầu đã gửiXem nhật ký API gồm mã HTTP và thời gian xử lý. Lọc theo tác phẩm và khoảng thời gian.
Quyền cần thiết: requests:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
cursorquery | string | — |
|
limitquery | integer | — |
|
fromquery | string | — |
|
toquery | string | — |
|
project_idquery | string | — |
|
run_idquery | string | — |
|
job_idquery | string | — |
|
key_idquery | string | — |
|
status_codequery | integer | — |
|
methodquery | string | — |
|
route_templatequery | string | — |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/requests/{request_id}Xem một yêu cầu đã gửiTra cứu một lệnh gọi API bằng request_id, gồm mã HTTP, thời gian xử lý và lượt chạy hoặc công việc liên quan.
Quyền cần thiết: requests:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
request_idpath | string | * |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/usageXem mức dùng tín dụngLấy tổng mức sử dụng trong kỳ, gồm số tiền đã giữ trước và đã quyết toán.
Quyền cần thiết: usage:read
Không có tham số
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/webhook-endpointsXem danh sách địa chỉ nhận WebhookLiệt kê URL Webhook đã đăng ký, sự kiện đăng ký và trạng thái bật.
Quyền cần thiết: webhooks:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/webhook-endpointsThêm địa chỉ nhận WebhookĐăng ký URL Webhook để nhận các sự kiện sản xuất đã chọn của những tác phẩm được chỉ định.
Quyền cần thiết: webhooks:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
url | string | * |
|
project_ids | array | * |
|
events | array | * |
|
{
"url": "example",
"project_ids": [
"11111111-1111-4111-8111-111111111111"
],
"events": [
"run.state_changed"
]
}HTTP 201 Thành công
{
"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"
}
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/webhook-endpoints/{endpoint_id}Sửa địa chỉ nhận WebhookBật, tắt Webhook hoặc thay đổi các loại sự kiện nhận được.
Quyền cần thiết: webhooks:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
endpoint_idpath | string | * |
|
If-Matchheader | string | * | Dùng ETag mới nhất, bao gồm dấu ngoặc kép. |
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
enabled | boolean | — | |
events | array | — |
|
{}HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/webhook-deliveriesXem lịch sử gửi WebhookLiệt kê các lần gửi Webhook và trạng thái để kiểm tra thông báo đã được gửi thành công hay chưa.
Quyền cần thiết: webhooks:read
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag
/api/v1/webhook-deliveries/{delivery_id}/redeliverGửi lại WebhookYêu cầu gửi lại thông báo Webhook hiện có theo delivery_id.
Quyền cần thiết: webhooks:write
| Tên | Type | Bắt buộc | Mô tả |
|---|---|---|---|
delivery_idpath | string | * |
|
Idempotency-Keyheader | string | * | Thử lại với cùng Idempotency-Key và nội dung yêu cầu.
|
{}HTTP 202 Thành công
{
"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"
}
}Header phản hồi: X-Request-Id · ETag · Retry-After
/api/v1/openapi.jsonTải tài liệu đặc tả APITải đặc tả OpenAPI gồm đường dẫn API, trường yêu cầu và lược đồ phản hồi.
Không có tham số
HTTP 200 Đặc tả OpenAPI
{}error.code 71Mã 2xx nghĩa là yêu cầu đã được tiếp nhận. 201 là đã tạo mới, còn 202 là đã nhận và đang xử lý nên chưa có kết quả — hãy kiểm tra trạng thái công việc để biết khi nào xong. Phản hồi thành công luôn có request_id và data, chỉ trừ khi tải tệp và khi lấy tài liệu đặc tả API. Khi lỗi, mọi endpoint đều trả về error cùng một cấu trúc. Hãy rẽ nhánh trong mã bằng error.code; message là phần giải thích nguyên nhân và cách xử lý cho người đọc. Dùng retryable để biết có nên gửi lại hay không. Chỉ tự động gửi lại khi nó là true, và chờ đúng số giây trong retry_after_seconds hoặc Retry-After. Khi gửi lại một POST, hãy dùng đúng Idempotency-Key và nội dung như lần đầu để không bị tính phí hay tạo trùng. Gặp error.code lạ thì cứ xử lý theo mã HTTP và retryable. Khi liên hệ hỗ trợ, vui lòng gửi kèm request_id. Lỗi xảy ra sau khi công việc đã được tiếp nhận sẽ hiện ở trạng thái và kết quả của công việc, không phải ở phản hồi này.
{
"request_id": "11111111-1111-4111-8111-111111111111",
"error": {
"code": "INVALID_REQUEST",
"message": "Invalid input. Check the required fields, types and values.",
"retryable": false
}
}| error.code | HTTP | Mô tả |
|---|---|---|
INVALID_REFERENCE | 422 | A selected reference is unavailable or does not belong to this project. Select a ready image from this project. |
MODEL_UNAVAILABLE | 422 | The selected model is unavailable. Refresh the model list and select another model. |
MODEL_POLICY_REQUIRED | 503 | No default model policy is configured. Specify a model or ask the administrator to configure the task policy. |
BUILD_REPLAY_CONFLICT | 409 | The build inputs changed. Review the saved build before continuing. |
INVALID_REQUEST | 400,422 | Invalid input. Check the required fields, types and values. |
INVALID_API_KEY | 401 | Invalid credentials or download signature. Check the API key or obtain a new download URL. |
INSUFFICIENT_SCOPE | 403 | Permission denied. Check the key scopes and project access. |
PARTNER_BLOCKED | 403 | Account blocked. Contact support. |
PARTNER_PAUSED | 403 | Account paused. Ask the administrator to resume access. |
RESOURCE_NOT_FOUND | 404 | Resource unavailable. Check its ID and access permissions. |
METHOD_NOT_ALLOWED | 405 | Unsupported HTTP method. Use the documented method. |
REQUEST_TIMEOUT | 408 | Request body timed out. Check the connection and upload size. |
IDEMPOTENCY_KEY_REQUIRED | 400 | Provide a valid Idempotency-Key header. |
IDEMPOTENCY_CONFLICT | 409 | This Idempotency-Key belongs to a different request. Reuse it only with the original request. |
IDEMPOTENCY_KEY_EXPIRED | 409 | Idempotency record expired. Check the original result before starting a new operation. |
PRECONDITION_FAILED | 412 | Provide the latest quoted ETag in If-Match. |
REVISION_CONFLICT | 409 | Resource changed. Read the latest revision before updating. |
RESOURCE_CONFLICT | 409 | Resource conflicts with existing data. Review the current resource. |
INVALID_TRANSITION | 409 | Action is unavailable in the current state. Read the latest state. |
RUN_IN_PROGRESS | 409 | A run is in progress. Check its status before starting another. |
JOB_RUNNING | 409 | A job is running. Wait for completion before editing. |
PLAN_EXPIRED | 409 | Plan expired. Create a new plan and review its quote. |
INSUFFICIENT_CREDITS | 402 | Insufficient credits. Check the balance and required credits. |
BUDGET_EXCEEDED | 409,429 | Budget limit exceeded. Review usage and the configured budget. |
RATE_LIMITED | 429 | Request rate exceeded. Follow retryable and Retry-After before retrying. |
CAPACITY_EXCEEDED | 429 | Capacity limit exceeded. Reduce the workload or wait for active work to finish. |
PAYLOAD_TOO_LARGE | 413 | Request body too large. Reduce it to the documented limit. |
UNSUPPORTED_MEDIA_TYPE | 415 | Unsupported content type or encoding. Use the documented Content-Type without Content-Encoding. |
UPLOAD_TOO_LARGE | 422 | Uploaded content exceeds its processing limit. Reduce the file size. |
UPLOAD_NOT_VERIFIED | 422 | Upload is incomplete, expired or invalid. Check the upload and verification steps. |
ASSET_KIND_MISMATCH | 422 | Asset type does not match the operation. Select a compatible asset. |
SELECTED_IMAGE_REQUIRED | 422 | Select a valid image before generating video. |
SELECTED_VIDEO_REQUIRED | 422 | Select valid videos for the requested shots before assembly. |
REFERENCE_LIMIT_EXCEEDED | 422 | Too many reference assets. Reduce them to the model limit. |
REFERENCE_IMAGE_REQUIRED | 422 | This model requires a reference image. Add an image or select a text-to-image model. |
INVALID_GENERATION_OPTIONS | 422 | Generation options are invalid. Check the model capabilities. |
PROMPT_REQUIRED | 422 | Provide a generation prompt. |
SCRIPT_TEXT_REQUIRED | 422 | Provide script text before starting this operation. |
SCENES_REQUIRED | 422 | Create scenes before starting this operation. |
VARIANT_NAME_REQUIRED | 422 | Provide a variant name. |
EPISODE_ALREADY_STRUCTURED | 409 | Episode already has shots. Review its existing structure. |
ONE_SCRIPT_PER_PROJECT | 409 | This project supports one script. Use the existing script. |
MULTIPLE_SCRIPTS_REQUIRE_REVIEW | 409 | Multiple scripts need review before continuing. |
NATIVE_CONTENT_ALREADY_EXISTS | 409 | Studio content already exists. Review it before continuing. |
LIVE_PROJECT_REQUIRED | 409 | This operation requires a live project. |
STUDIO_MIGRATION_REQUIRED | 409 | Project needs Studio migration. Contact support. |
UNSUPPORTED_CAPABILITY | 422 | Unsupported operation or profile. Check GET /capabilities. |
CAPABILITY_UNAVAILABLE | 503 | Capability currently unavailable. Check GET /capabilities. |
API_NOT_ACCEPTING | 503 | New requests are paused. Check service availability. |
DEPENDENCY_UNAVAILABLE | 503 | A required service is unavailable. Follow the retry guidance or contact support. |
PRICING_UNAVAILABLE | 503 | Pricing unavailable. A valid quote is required to proceed. |
MEDIA_TOOLS_UNAVAILABLE | 503 | Media processing unavailable. Contact support. |
STORAGE_READ_FAILED | 503 | Could not read the stored asset. Contact support with request_id. |
STORAGE_WRITE_FAILED | 503 | Could not save the asset. Check the result before retrying. |
INTERNAL_ERROR | 500 | Internal error. Follow retry guidance; include request_id when contacting support. |
RESPONSE_CONTRACT_VIOLATION | 500 | Server response validation failed. Contact support with request_id. |
INVALID_EXECUTION_CONTEXT | 500 | Execution context is invalid. Contact support. |
RETRY_TRANSACTION | 503 | Transaction could not complete. Follow the response retry guidance. |
CLAIM_LOST | 409 | Execution ownership changed. Check the current job state. |
PROVIDER_TIMEOUT | 504 | Generation service timed out. Check the existing job before submitting again. |
PROVIDER_TERMINAL_FAILURE | 422 | Generation failed. Review the job result and inputs. |
PROVIDER_RESULT_UNAVAILABLE | 502 | Generation result unavailable. Check the existing job and recovery options. |
INVALID_RESULT | 422,503 | Result failed validation. Review the job or contact support. |
RESULT_TOO_LARGE | 422 | Result exceeds the processing limit. Reduce the requested output. |
EXPORT_TOO_LARGE | 422 | Export exceeds the size limit. Reduce the export selection. |
RECOVERY_BACKOFF | 409 | Existing result recovery is delayed. Check again later; do not resubmit generation. |
VIDEO_RECOVERY_REVIEW_REQUIRED | 503 | The original video task needs scheduled recovery or operator review. Do not resubmit generation. |
RESULT_RECOVERY_REQUIRED | 409,503 | Existing result needs recovery. Check the run recovery options before resubmitting. |
RESULT_NOT_RECOVERABLE | 409 | Result cannot be recovered through this action. Review the run or contact support. |
RECOVERY_CAPACITY_EXCEEDED | 409 | Recovery limit reached. Contact support before further recovery attempts. |
USAGE_RECOVERY_REQUIRED | 503 | Usage needs reconciliation. Contact support; do not resubmit generation blindly. |