FECINE / DEVELOPERS
Console développeur
FECINE OPEN API v1.1.0

Référence API

Du scénario au montage final, connectez votre production avec FECINE.

01

Authentification

Utilisez votre clé FECINE comme jeton Bearer. Aucun compte requis pour lire la documentation.

02

Créer et lancer

Créez une œuvre, importez les scénarios et les ressources, puis ajoutez personnages, décors, accessoires et grilles. Créez les épisodes et les scènes, associez les références et générez les vidéos. Sélectionnez une prise par scène, puis exportez le montage final. Attendez la fin de chaque génération et envoyez la dernière revision pour les modifications. Lancez séparément la construction pour structurer les scénarios importés.

03

Récupérer les résultats

Consultez le statut ou recevez un Webhook. Les identifiants des fichiers donnent accès aux liens de téléchargement signés.

Première requête
curl -X GET 'https://YOUR_FECINE_HOST/api/v1/capabilities' \
  -H 'Authorization: Bearer YOUR_FECINE_API_KEY'
GET /api/v1/capabilities
REFERENCE

Référence API

Erreur FECINE. Communiquez request_id au support.

Copiez le JSON puis remplacez les identifiants, URL et contenus par vos valeurs.

Fonctionnalités

GET/api/v1/capabilitiesVoir ce qui est disponible maintenant

Renvoie les fonctions, modèles, formats de transfert et limites de production disponibles dans cet environnement API.

Permission requise: projects:read

Paramètres

Aucun paramètre

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "items": [
      {
        "studio_workflow": {
          "equivalent": false,
          "stages": [
            "script"
          ],
          "project_access": "read_only",
          "gaps": [
            "example"
          ]
        },
        "template_id": "example",
        "template_version": 1,
        "enabled": false,
        "stages": [
          "example"
        ],
        "output_profiles": [
          "example"
        ],
        "unsupported_reasons": [
          "example"
        ],
        "max_shots": 1,
        "max_episode_seconds": 1,
        "upload_mime_types": [
          "example"
        ],
        "max_upload_bytes": 1
      }
    ],
    "next_cursor": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

Projets et ressources

GET/api/v1/worksVoir la liste de vos projets

Liste les projets accessibles. Filtrez par state et paginez avec cursor et limit.

Permission requise: projects:read

Paramètres

NomTypeRequisDescription
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100
statequerystring—
  • Allowed values: active, archived

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "name": "example",
        "revision": 1,
        "state": "active",
        "created_at": "2026-09-20T00:00:00Z",
        "client_reference": "example"
      }
    ],
    "next_cursor": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/worksCréer un projet

Crée un projet avec le name fourni. Utilisez son ID pour ajouter des ressources et lancer la production.

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
namestring*
  • Minimum length: 1 characters
  • Maximum length: 80 characters
client_referencestring—
  • Maximum length: 128 characters
Première requête · JSON
{
  "name": "example"
}

Réponses

HTTP 201 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "name": "example",
    "revision": 1,
    "state": "active",
    "created_at": "2026-09-20T00:00:00Z",
    "client_reference": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/works/{project_id}Voir les infos d’un projet

Renvoie le nom, l’état et la revision du projet, à consulter avant une modification ou une demande de production.

Permission requise: projects:read

Paramètres

NomTypeRequisDescription
project_idpathstring*
  • Format: UUID

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "name": "example",
    "revision": 1,
    "state": "active",
    "created_at": "2026-09-20T00:00:00Z",
    "client_reference": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

PATCH/api/v1/works/{project_id}Modifier les infos d’un projet

Modifie le nom ou l’état active/archived du projet. Envoyez le dernier ETag dans If-Match.

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
project_idpathstring*
  • Format: UUID
If-Matchheaderstring*Utilisez le dernier ETag, guillemets compris.

Corps de la requête

NomTypeRequisDescription
namestring—
  • Minimum length: 1 characters
  • Maximum length: 80 characters
statestring—
  • Allowed values: active, archived
Première requête · JSON
{}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "name": "example",
    "revision": 1,
    "state": "active",
    "created_at": "2026-09-20T00:00:00Z",
    "client_reference": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/works/{project_id}/resourcesVoir les éléments déjà envoyés

Liste les scénarios, personnages, scènes, accessoires, épisodes et plans du projet. Sélectionnez le type avec kind.

Permission requise: projects:read

Paramètres

NomTypeRequisDescription
project_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100
kindquerystring—
  • Allowed values: script, character, scene, prop, episode, shot

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "work_id": "11111111-1111-4111-8111-111111111111",
        "revision": 1,
        "content": {
          "kind": "script",
          "name": "example",
          "data": {
            "language": "example"
          }
        },
        "created_at": "2026-09-20T00:00:00Z"
      }
    ],
    "next_cursor": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{project_id}/resourcesAjouter des éléments (scénario, images…)

Ajoute une ressource structurée via kind et data, par exemple un scénario ou un plan. Transférez les fichiers via /uploads.

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
kindstring*kind = script
  • Fixed value: script
namestring*kind = script
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = scriptFournissez uniquement text ou source_asset_id.
data.textstring—kind = script
  • Minimum length: 1 characters
  • Maximum length: 900000 characters
data.source_asset_idstring—kind = script
  • Format: UUID
data.languagestring*kind = script
  • Minimum length: 2 characters
  • Maximum length: 16 characters
kindstring*kind = character
  • Fixed value: character
namestring*kind = character
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = character
data.descriptionstring*kind = character
  • Maximum length: 4000 characters
data.reference_asset_idsarray—kind = character
  • Default: []
  • Maximum items: 8 items
kindstring*kind = scene
  • Fixed value: scene
namestring*kind = scene
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = scene
data.descriptionstring*kind = scene
  • Maximum length: 4000 characters
data.reference_asset_idsarray—kind = scene
  • Default: []
  • Maximum items: 8 items
kindstring*kind = prop
  • Fixed value: prop
namestring*kind = prop
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = prop
data.descriptionstring*kind = prop
  • Maximum length: 4000 characters
data.reference_asset_idsarray—kind = prop
  • Default: []
  • Maximum items: 8 items
kindstring*kind = episode
  • Fixed value: episode
namestring*kind = episode
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = episode
data.script_resource_idstring*kind = episode
  • Format: UUID
data.sequenceinteger*kind = episode
  • Minimum: 1
  • Maximum: 100
data.raw_contentstring—kind = episode
  • Maximum length: 20000 characters
data.descriptionstring—kind = episode
  • Maximum length: 4000 characters
kindstring*kind = shot
  • Fixed value: shot
namestring*kind = shot
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = shot
data.episode_idstring*kind = shot
  • Format: UUID
data.scene_idstring—kind = shot
  • Format: UUID
data.character_idsarray—kind = shot
  • Default: []
  • Maximum items: 8 items
data.prop_idsarray—kind = shot
  • Default: []
  • Maximum items: 8 items
data.descriptionstring*kind = shot
  • Maximum length: 4000 characters
data.video_promptoneOf—kind = shot
data.sequenceinteger—kind = shot
  • Minimum: 1
  • Maximum: 100
data.duration_secondsinteger*kind = shot
  • Minimum: 1
  • Maximum: 60
data.selected_image_asset_idstring—kind = shot
  • Format: UUID
data.selected_video_asset_idstring—kind = shot
  • Format: UUID
Première requête · JSON
{
  "kind": "script",
  "name": "example",
  "data": {
    "language": "example"
  }
}

Réponses

HTTP 201 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "content": {
      "kind": "script",
      "name": "example",
      "data": {
        "language": "example"
      }
    },
    "created_at": "2026-09-20T00:00:00Z"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/works/{project_id}/resources/{resource_id}Voir un élément

Renvoie le type, le contenu et la revision de la ressource désignée par resource_id dans le projet.

Permission requise: projects:read

Paramètres

NomTypeRequisDescription
project_idpathstring*
  • Format: UUID
resource_idpathstring*
  • Format: UUID

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "content": {
      "kind": "script",
      "name": "example",
      "data": {
        "language": "example"
      }
    },
    "created_at": "2026-09-20T00:00:00Z"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

PATCH/api/v1/works/{project_id}/resources/{resource_id}Modifier un élément

Met à jour kind et data. Envoyez le dernier ETag dans If-Match pour éviter les conflits de modification.

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
project_idpathstring*
  • Format: UUID
resource_idpathstring*
  • Format: UUID
If-Matchheaderstring*Utilisez le dernier ETag, guillemets compris.

Corps de la requête

NomTypeRequisDescription
kindstring*kind = script
  • Fixed value: script
namestring*kind = script
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = scriptFournissez uniquement text ou source_asset_id.
data.textstring—kind = script
  • Minimum length: 1 characters
  • Maximum length: 900000 characters
data.source_asset_idstring—kind = script
  • Format: UUID
data.languagestring*kind = script
  • Minimum length: 2 characters
  • Maximum length: 16 characters
kindstring*kind = character
  • Fixed value: character
namestring*kind = character
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = character
data.descriptionstring*kind = character
  • Maximum length: 4000 characters
data.reference_asset_idsarray—kind = character
  • Default: []
  • Maximum items: 8 items
kindstring*kind = scene
  • Fixed value: scene
namestring*kind = scene
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = scene
data.descriptionstring*kind = scene
  • Maximum length: 4000 characters
data.reference_asset_idsarray—kind = scene
  • Default: []
  • Maximum items: 8 items
kindstring*kind = prop
  • Fixed value: prop
namestring*kind = prop
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = prop
data.descriptionstring*kind = prop
  • Maximum length: 4000 characters
data.reference_asset_idsarray—kind = prop
  • Default: []
  • Maximum items: 8 items
kindstring*kind = episode
  • Fixed value: episode
namestring*kind = episode
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = episode
data.script_resource_idstring*kind = episode
  • Format: UUID
data.sequenceinteger*kind = episode
  • Minimum: 1
  • Maximum: 100
data.raw_contentstring—kind = episode
  • Maximum length: 20000 characters
data.descriptionstring—kind = episode
  • Maximum length: 4000 characters
kindstring*kind = shot
  • Fixed value: shot
namestring*kind = shot
  • Minimum length: 1 characters
  • Maximum length: 80 characters
dataobject*kind = shot
data.episode_idstring*kind = shot
  • Format: UUID
data.scene_idstring—kind = shot
  • Format: UUID
data.character_idsarray—kind = shot
  • Default: []
  • Maximum items: 8 items
data.prop_idsarray—kind = shot
  • Default: []
  • Maximum items: 8 items
data.descriptionstring*kind = shot
  • Maximum length: 4000 characters
data.video_promptoneOf—kind = shot
data.sequenceinteger—kind = shot
  • Minimum: 1
  • Maximum: 100
data.duration_secondsinteger*kind = shot
  • Minimum: 1
  • Maximum: 60
data.selected_image_asset_idstring—kind = shot
  • Format: UUID
data.selected_video_asset_idstring—kind = shot
  • Format: UUID
Première requête · JSON
{
  "kind": "script",
  "name": "example",
  "data": {
    "language": "example"
  }
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "content": {
      "kind": "script",
      "name": "example",
      "data": {
        "language": "example"
      }
    },
    "created_at": "2026-09-20T00:00:00Z"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/works/{project_id}/workflowConsulter la production Studio

Renvoie ensemble le scénario, les épisodes, designs, scènes, assets, prises, sélections de montage et la dernière revision.

Permission requise: projects:read

Paramètres

NomTypeRequisDescription
project_idpathstring*
  • Format: UUID

Réponses

HTTP 200 Succès

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

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{project_id}/script/analysesAnalyser le scénario Studio

Analyse le scénario pour en extraire la structure de production. Fournissez script_text pour le mettre à jour, sinon le scénario enregistré est utilisé. Suivez le job avec getJob.

Permission requise: jobs:create

Paramètres

NomTypeRequisDescription
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
modelstring—
  • Minimum length: 1 characters
  • Maximum length: 200 characters
script_textstring—
  • Minimum length: 1 characters
  • Maximum length: 5000000 characters
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 202 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag · Retry-After

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{project_id}/script/buildsConstruire la production depuis le scénario

Envoyez script_asset_ids validés et revision pour créer le scénario, les références et le storyboard. full_rebuild remplace la structure existante. Générez les images et vidéos séparément. Les jetons d’entrée et de sortie déclarés sont facturés aux mêmes tarifs que Studio. Aucun budget de crédits par requête n’est requis. GET /jobs/{job_id} → output_asset_ids.

Permission requise: jobs:create

Paramètres

NomTypeRequisDescription
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

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

Réponses

HTTP 202 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag · Retry-After

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/works/{project_id}/libraryConsulter la bibliothèque partagée

Liste les assets importables. scope=personal consulte votre bibliothèque ; scope=studio, par défaut, consulte la bibliothèque partagée.

Permission requise: assets:read

Paramètres

NomTypeRequisDescription
project_idpathstring*
  • Format: UUID
limitinteger—
  • Minimum: 1
  • Maximum: 100
cursorstring—
scopestring—
  • Allowed values: studio, personal

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "name": "example",
        "kind": "example",
        "media_type": "example",
        "mime": "example",
        "version": 1,
        "is_current_version": false
      }
    ],
    "next_cursor": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{project_id}/importsImporter une ressource dans un projet

Copie l’asset indiqué par asset_id depuis une bibliothèque personnelle ou partagée dans le projet. Les changements ultérieurs de la source n’affectent pas la copie.

Permission requise: assets:write, assets:read, projects:write

Paramètres

NomTypeRequisDescription
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
asset_idstring*
  • Format: UUID
Première requête · JSON
{
  "revision": 1,
  "asset_id": "11111111-1111-4111-8111-111111111111"
}

Réponses

HTTP 201 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "state": "pending",
    "mime_type": "example",
    "size_bytes": 0,
    "download_url": "example",
    "expires_at": "2026-09-20T00:00:00Z"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{project_id}/script/draftsGénérer un brouillon de scénario

Envoyez instructions, source_text facultatif, revision et max_output_tokens. Enregistre un nouveau scénario sans remplacer l’existant. Les jetons d’entrée et de sortie déclarés sont facturés aux mêmes tarifs que Studio. Aucun budget de crédits par requête n’est requis. GET /jobs/{job_id} → output_asset_ids.

Permission requise: jobs:create

Paramètres

NomTypeRequisDescription
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
modelstring—
  • Minimum length: 1 characters
  • Maximum length: 200 characters
instructionsstring*
  • Minimum length: 1 characters
  • Maximum length: 8000 characters
source_textstring—
  • Maximum length: 50000 characters
max_output_tokensinteger—
  • Default: 2048
  • Minimum: 256
  • Maximum: 8192
Première requête · JSON
{
  "revision": 1,
  "instructions": "example"
}

Réponses

HTTP 202 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag · Retry-After

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/works/{work_id}/charactersPersonnage · Consulter (list)

Personnage · Consulter (list). GET /api/v1/works/{work_id}/characters. GET

Permission requise: projects:read

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "kind": "character",
        "name": "example",
        "description": "example",
        "tags": [
          "example"
        ],
        "primary_asset_id": "11111111-1111-4111-8111-111111111111"
      }
    ],
    "next_cursor": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{work_id}/charactersPersonnage · Créer

Personnage · Créer. POST /api/v1/works/{work_id}/characters. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
namestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
descriptionstring—
  • Maximum length: 4000 characters
tagsarray—
  • Maximum items: 8 items
revisioninteger*
Première requête · JSON
{
  "name": "example",
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/works/{work_id}/characters/{reference_id}Personnage · Consulter

Personnage · Consulter. GET /api/v1/works/{work_id}/characters/{reference_id}. GET

Permission requise: projects:read

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "kind": "character",
    "name": "example",
    "description": "example",
    "tags": [
      "example"
    ],
    "primary_asset_id": "11111111-1111-4111-8111-111111111111"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

PATCH/api/v1/works/{work_id}/characters/{reference_id}Personnage · Modifier

Personnage · Modifier. PATCH /api/v1/works/{work_id}/characters/{reference_id}. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
namestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
descriptionstring—
  • Maximum length: 4000 characters
tagsarray—
  • Maximum items: 8 items
revisioninteger*
Première requête · JSON
{
  "name": "example",
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

DELETE/api/v1/works/{work_id}/characters/{reference_id}Personnage · Supprimer

Personnage · Supprimer. DELETE /api/v1/works/{work_id}/characters/{reference_id}. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

PUT/api/v1/works/{work_id}/characters/{reference_id}/primary-imagePersonnage · Définir l’image de référence

Personnage · Définir l’image de référence. PUT /api/v1/works/{work_id}/characters/{reference_id}/primary-image. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
asset_idstring*
  • Format: UUID
current_asset_idoneOf*
revisioninteger*
Première requête · JSON
{
  "asset_id": "11111111-1111-4111-8111-111111111111",
  "current_asset_id": "11111111-1111-4111-8111-111111111111",
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{work_id}/characters/{reference_id}/image-generationsPersonnage · Générer l’image de référence

Personnage · Générer l’image de référence. POST /api/v1/works/{work_id}/characters/{reference_id}/image-generations. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}

Permission requise: jobs:create

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
variantsinteger—
  • Default: 1
  • Minimum: 1
  • Maximum: 4
modelstring—
  • Default: "image-standard"
  • Minimum length: 1 characters
  • Maximum length: 200 characters
promptstring—
  • Minimum length: 1 characters
  • Maximum length: 20000 characters
aspect_ratiostring—
image_sizestring—
  • Maximum length: 40 characters
qualitystring—
  • Allowed values: low, medium, high
backgroundstring—
  • Allowed values: auto, opaque, transparent
output_formatstring—
  • Allowed values: png, jpeg
reference_asset_idsarray—
  • Default: []
  • Maximum items: 16 items
slotstring—
  • Allowed values: primary, variant
  • Default: "primary"
variant_namestring—
  • Minimum length: 1 characters
  • Maximum length: 80 characters
current_asset_idstring—
  • Format: UUID
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 202 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag · Retry-After

Réponses d’erreur · error.code ↗

Essayer

PUT/api/v1/works/{work_id}/scenes/{scene_id}/references/characters/{reference_id}Personnage · Associer à la scène

Personnage · Associer à la scène. PUT /api/v1/works/{work_id}/scenes/{scene_id}/references/characters/{reference_id}. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

DELETE/api/v1/works/{work_id}/scenes/{scene_id}/references/characters/{reference_id}Personnage · Dissocier de la scène

Personnage · Dissocier de la scène. DELETE /api/v1/works/{work_id}/scenes/{scene_id}/references/characters/{reference_id}. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/works/{work_id}/background-scenesDécor · Consulter (list)

Décor · Consulter (list). GET /api/v1/works/{work_id}/background-scenes. GET

Permission requise: projects:read

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "kind": "character",
        "name": "example",
        "description": "example",
        "tags": [
          "example"
        ],
        "primary_asset_id": "11111111-1111-4111-8111-111111111111"
      }
    ],
    "next_cursor": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{work_id}/background-scenesDécor · Créer

Décor · Créer. POST /api/v1/works/{work_id}/background-scenes. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
namestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
descriptionstring—
  • Maximum length: 4000 characters
tagsarray—
  • Maximum items: 8 items
revisioninteger*
Première requête · JSON
{
  "name": "example",
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/works/{work_id}/background-scenes/{reference_id}Décor · Consulter

Décor · Consulter. GET /api/v1/works/{work_id}/background-scenes/{reference_id}. GET

Permission requise: projects:read

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "kind": "character",
    "name": "example",
    "description": "example",
    "tags": [
      "example"
    ],
    "primary_asset_id": "11111111-1111-4111-8111-111111111111"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

PATCH/api/v1/works/{work_id}/background-scenes/{reference_id}Décor · Modifier

Décor · Modifier. PATCH /api/v1/works/{work_id}/background-scenes/{reference_id}. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
namestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
descriptionstring—
  • Maximum length: 4000 characters
tagsarray—
  • Maximum items: 8 items
revisioninteger*
Première requête · JSON
{
  "name": "example",
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

DELETE/api/v1/works/{work_id}/background-scenes/{reference_id}Décor · Supprimer

Décor · Supprimer. DELETE /api/v1/works/{work_id}/background-scenes/{reference_id}. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

PUT/api/v1/works/{work_id}/background-scenes/{reference_id}/primary-imageDécor · Définir l’image de référence

Décor · Définir l’image de référence. PUT /api/v1/works/{work_id}/background-scenes/{reference_id}/primary-image. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
asset_idstring*
  • Format: UUID
current_asset_idoneOf*
revisioninteger*
Première requête · JSON
{
  "asset_id": "11111111-1111-4111-8111-111111111111",
  "current_asset_id": "11111111-1111-4111-8111-111111111111",
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{work_id}/background-scenes/{reference_id}/image-generationsDécor · Générer l’image de référence

Décor · Générer l’image de référence. POST /api/v1/works/{work_id}/background-scenes/{reference_id}/image-generations. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}

Permission requise: jobs:create

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
variantsinteger—
  • Default: 1
  • Minimum: 1
  • Maximum: 4
modelstring—
  • Default: "image-standard"
  • Minimum length: 1 characters
  • Maximum length: 200 characters
promptstring—
  • Minimum length: 1 characters
  • Maximum length: 20000 characters
aspect_ratiostring—
image_sizestring—
  • Maximum length: 40 characters
qualitystring—
  • Allowed values: low, medium, high
backgroundstring—
  • Allowed values: auto, opaque, transparent
output_formatstring—
  • Allowed values: png, jpeg
reference_asset_idsarray—
  • Default: []
  • Maximum items: 16 items
slotstring—
  • Allowed values: primary, variant
  • Default: "primary"
variant_namestring—
  • Minimum length: 1 characters
  • Maximum length: 80 characters
current_asset_idstring—
  • Format: UUID
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 202 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag · Retry-After

Réponses d’erreur · error.code ↗

Essayer

PUT/api/v1/works/{work_id}/scenes/{scene_id}/references/background-scenes/{reference_id}Décor · Associer à la scène

Décor · Associer à la scène. PUT /api/v1/works/{work_id}/scenes/{scene_id}/references/background-scenes/{reference_id}. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

DELETE/api/v1/works/{work_id}/scenes/{scene_id}/references/background-scenes/{reference_id}Décor · Dissocier de la scène

Décor · Dissocier de la scène. DELETE /api/v1/works/{work_id}/scenes/{scene_id}/references/background-scenes/{reference_id}. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/works/{work_id}/propsAccessoire · Consulter (list)

Accessoire · Consulter (list). GET /api/v1/works/{work_id}/props. GET

Permission requise: projects:read

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "kind": "character",
        "name": "example",
        "description": "example",
        "tags": [
          "example"
        ],
        "primary_asset_id": "11111111-1111-4111-8111-111111111111"
      }
    ],
    "next_cursor": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{work_id}/propsAccessoire · Créer

Accessoire · Créer. POST /api/v1/works/{work_id}/props. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
namestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
descriptionstring—
  • Maximum length: 4000 characters
tagsarray—
  • Maximum items: 8 items
revisioninteger*
Première requête · JSON
{
  "name": "example",
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/works/{work_id}/props/{reference_id}Accessoire · Consulter

Accessoire · Consulter. GET /api/v1/works/{work_id}/props/{reference_id}. GET

Permission requise: projects:read

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "kind": "character",
    "name": "example",
    "description": "example",
    "tags": [
      "example"
    ],
    "primary_asset_id": "11111111-1111-4111-8111-111111111111"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

PATCH/api/v1/works/{work_id}/props/{reference_id}Accessoire · Modifier

Accessoire · Modifier. PATCH /api/v1/works/{work_id}/props/{reference_id}. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
namestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
descriptionstring—
  • Maximum length: 4000 characters
tagsarray—
  • Maximum items: 8 items
revisioninteger*
Première requête · JSON
{
  "name": "example",
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

DELETE/api/v1/works/{work_id}/props/{reference_id}Accessoire · Supprimer

Accessoire · Supprimer. DELETE /api/v1/works/{work_id}/props/{reference_id}. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

PUT/api/v1/works/{work_id}/props/{reference_id}/primary-imageAccessoire · Définir l’image de référence

Accessoire · Définir l’image de référence. PUT /api/v1/works/{work_id}/props/{reference_id}/primary-image. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
asset_idstring*
  • Format: UUID
current_asset_idoneOf*
revisioninteger*
Première requête · JSON
{
  "asset_id": "11111111-1111-4111-8111-111111111111",
  "current_asset_id": "11111111-1111-4111-8111-111111111111",
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{work_id}/props/{reference_id}/image-generationsAccessoire · Générer l’image de référence

Accessoire · Générer l’image de référence. POST /api/v1/works/{work_id}/props/{reference_id}/image-generations. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}

Permission requise: jobs:create

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
variantsinteger—
  • Default: 1
  • Minimum: 1
  • Maximum: 4
modelstring—
  • Default: "image-standard"
  • Minimum length: 1 characters
  • Maximum length: 200 characters
promptstring—
  • Minimum length: 1 characters
  • Maximum length: 20000 characters
aspect_ratiostring—
image_sizestring—
  • Maximum length: 40 characters
qualitystring—
  • Allowed values: low, medium, high
backgroundstring—
  • Allowed values: auto, opaque, transparent
output_formatstring—
  • Allowed values: png, jpeg
reference_asset_idsarray—
  • Default: []
  • Maximum items: 16 items
slotstring—
  • Allowed values: primary, variant
  • Default: "primary"
variant_namestring—
  • Minimum length: 1 characters
  • Maximum length: 80 characters
current_asset_idstring—
  • Format: UUID
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 202 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag · Retry-After

Réponses d’erreur · error.code ↗

Essayer

PUT/api/v1/works/{work_id}/scenes/{scene_id}/references/props/{reference_id}Accessoire · Associer à la scène

Accessoire · Associer à la scène. PUT /api/v1/works/{work_id}/scenes/{scene_id}/references/props/{reference_id}. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

DELETE/api/v1/works/{work_id}/scenes/{scene_id}/references/props/{reference_id}Accessoire · Dissocier de la scène

Accessoire · Dissocier de la scène. DELETE /api/v1/works/{work_id}/scenes/{scene_id}/references/props/{reference_id}. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/works/{work_id}/gridsGrille · Consulter (list)

Grille · Consulter (list). GET /api/v1/works/{work_id}/grids. GET

Permission requise: projects:read

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "kind": "character",
        "name": "example",
        "description": "example",
        "tags": [
          "example"
        ],
        "primary_asset_id": "11111111-1111-4111-8111-111111111111"
      }
    ],
    "next_cursor": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{work_id}/gridsGrille · Créer

Grille · Créer. POST /api/v1/works/{work_id}/grids. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
namestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
descriptionstring—
  • Maximum length: 4000 characters
tagsarray—
  • Maximum items: 8 items
revisioninteger*
Première requête · JSON
{
  "name": "example",
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/works/{work_id}/grids/{reference_id}Grille · Consulter

Grille · Consulter. GET /api/v1/works/{work_id}/grids/{reference_id}. GET

Permission requise: projects:read

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "kind": "character",
    "name": "example",
    "description": "example",
    "tags": [
      "example"
    ],
    "primary_asset_id": "11111111-1111-4111-8111-111111111111"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

PATCH/api/v1/works/{work_id}/grids/{reference_id}Grille · Modifier

Grille · Modifier. PATCH /api/v1/works/{work_id}/grids/{reference_id}. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
namestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
descriptionstring—
  • Maximum length: 4000 characters
tagsarray—
  • Maximum items: 8 items
revisioninteger*
Première requête · JSON
{
  "name": "example",
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

DELETE/api/v1/works/{work_id}/grids/{reference_id}Grille · Supprimer

Grille · Supprimer. DELETE /api/v1/works/{work_id}/grids/{reference_id}. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

PUT/api/v1/works/{work_id}/grids/{reference_id}/primary-imageGrille · Définir l’image de référence

Grille · Définir l’image de référence. PUT /api/v1/works/{work_id}/grids/{reference_id}/primary-image. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
asset_idstring*
  • Format: UUID
current_asset_idoneOf*
revisioninteger*
Première requête · JSON
{
  "asset_id": "11111111-1111-4111-8111-111111111111",
  "current_asset_id": "11111111-1111-4111-8111-111111111111",
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{work_id}/grids/{reference_id}/image-generationsGrille · Générer l’image de référence

Grille · Générer l’image de référence. POST /api/v1/works/{work_id}/grids/{reference_id}/image-generations. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}

Permission requise: jobs:create

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
variantsinteger—
  • Default: 1
  • Minimum: 1
  • Maximum: 4
modelstring—
  • Default: "image-standard"
  • Minimum length: 1 characters
  • Maximum length: 200 characters
promptstring—
  • Minimum length: 1 characters
  • Maximum length: 20000 characters
aspect_ratiostring—
image_sizestring—
  • Maximum length: 40 characters
qualitystring—
  • Allowed values: low, medium, high
backgroundstring—
  • Allowed values: auto, opaque, transparent
output_formatstring—
  • Allowed values: png, jpeg
reference_asset_idsarray—
  • Default: []
  • Maximum items: 16 items
slotstring—
  • Allowed values: primary, variant
  • Default: "primary"
variant_namestring—
  • Minimum length: 1 characters
  • Maximum length: 80 characters
current_asset_idstring—
  • Format: UUID
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 202 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag · Retry-After

Réponses d’erreur · error.code ↗

Essayer

PUT/api/v1/works/{work_id}/scenes/{scene_id}/references/grids/{reference_id}Grille · Associer à la scène

Grille · Associer à la scène. PUT /api/v1/works/{work_id}/scenes/{scene_id}/references/grids/{reference_id}. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

DELETE/api/v1/works/{work_id}/scenes/{scene_id}/references/grids/{reference_id}Grille · Dissocier de la scène

Grille · Dissocier de la scène. DELETE /api/v1/works/{work_id}/scenes/{scene_id}/references/grids/{reference_id}. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
reference_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/works/{work_id}/episodesÉpisode · Consulter (list)

Épisode · Consulter (list). GET /api/v1/works/{work_id}/episodes. GET

Permission requise: projects:read

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "number": 1,
        "title": "example",
        "raw_content": "example",
        "description": "example"
      }
    ],
    "next_cursor": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{work_id}/episodesCréer un épisode

Créer un épisode. POST /api/v1/works/{work_id}/episodes. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
titlestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
numberinteger—
raw_contentstring—
  • Maximum length: 20000 characters
descriptionstring—
  • Maximum length: 4000 characters
revisioninteger*
Première requête · JSON
{
  "title": "example",
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/works/{work_id}/episodes/{episode_id}Épisode · Consulter

Épisode · Consulter. GET /api/v1/works/{work_id}/episodes/{episode_id}. GET

Permission requise: projects:read

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
episode_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "number": 1,
    "title": "example",
    "raw_content": "example",
    "description": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

PATCH/api/v1/works/{work_id}/episodes/{episode_id}Épisode · Modifier

Épisode · Modifier. PATCH /api/v1/works/{work_id}/episodes/{episode_id}. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
episode_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
titlestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
numberinteger—
raw_contentstring—
  • Maximum length: 20000 characters
descriptionstring—
  • Maximum length: 4000 characters
revisioninteger*
Première requête · JSON
{
  "title": "example",
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

DELETE/api/v1/works/{work_id}/episodes/{episode_id}Épisode · Supprimer

Épisode · Supprimer. DELETE /api/v1/works/{work_id}/episodes/{episode_id}. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
episode_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/works/{work_id}/episodes/{episode_id}/scenesScène · Consulter (list)

Scène · Consulter (list). GET /api/v1/works/{work_id}/episodes/{episode_id}/scenes. GET

Permission requise: projects:read

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
episode_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "episode_id": "11111111-1111-4111-8111-111111111111",
        "number": 1,
        "heading": "example",
        "description": "example",
        "video_prompt": "example"
      }
    ],
    "next_cursor": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{work_id}/episodes/{episode_id}/scenesCréer une scène

Créer une scène. POST /api/v1/works/{work_id}/episodes/{episode_id}/scenes. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
episode_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
headingstring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
numberinteger—
descriptionstring—
  • Maximum length: 4000 characters
video_promptoneOf—
revisioninteger*
Première requête · JSON
{
  "heading": "example",
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/works/{work_id}/episodes/{episode_id}/scenes/{scene_id}Scène · Consulter

Scène · Consulter. GET /api/v1/works/{work_id}/episodes/{episode_id}/scenes/{scene_id}. GET

Permission requise: projects:read

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
episode_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "episode_id": "11111111-1111-4111-8111-111111111111",
    "number": 1,
    "heading": "example",
    "description": "example",
    "video_prompt": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

PATCH/api/v1/works/{work_id}/episodes/{episode_id}/scenes/{scene_id}Scène · Modifier

Scène · Modifier. PATCH /api/v1/works/{work_id}/episodes/{episode_id}/scenes/{scene_id}. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
episode_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
headingstring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
numberinteger—
descriptionstring—
  • Maximum length: 4000 characters
video_promptoneOf—
revisioninteger*
Première requête · JSON
{
  "heading": "example",
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{work_id}/archive-importsImporter une archive ZIP

Importer une archive 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}

Permission requise: jobs:create

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
asset_idstring*
  • Format: UUID
Première requête · JSON
{
  "revision": 1,
  "asset_id": "11111111-1111-4111-8111-111111111111"
}

Réponses

HTTP 202 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "progress": {
      "phase": "extracting",
      "current": 0,
      "total": 0
    },
    "imported": 0,
    "failed": 0,
    "asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag · Retry-After

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/works/{work_id}/archive-imports/{import_id}Consulter une importation ZIP

Consulter une importation 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

Permission requise: jobs:read

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
import_idpathstring*
  • Format: UUID

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "progress": {
      "phase": "extracting",
      "current": 0,
      "total": 0
    },
    "imported": 0,
    "failed": 0,
    "asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{work_id}/uploadsPréparer un lot de fichiers

Préparer un lot de fichiers. POST /api/v1/works/{work_id}/uploads. Idempotency-Key + files (1–20) → PUT upload_url → POST /api/v1/uploads/{upload_id}/complete

Permission requise: assets:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
filesarray*
  • Maximum items: 20 items
files[].filenamestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
files[].mime_typestring*
  • Allowed values: text/plain, text/markdown, application/vnd.openxmlformats-officedocument.wordprocessingml.document, image/png, image/jpeg, image/webp, image/avif, audio/wav, application/zip
files[].size_bytesinteger*
  • Maximum: 1073741824
files[].sha256string*
Première requête · JSON
{
  "files": [
    {
      "filename": "example",
      "mime_type": "text/plain",
      "size_bytes": 1,
      "sha256": "example"
    }
  ]
}

Réponses

HTTP 201 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "items": [
      {
        "filename": "example",
        "ticket": {
          "id": "11111111-1111-4111-8111-111111111111",
          "asset_id": "11111111-1111-4111-8111-111111111111",
          "upload_url": "example",
          "method": "PUT",
          "content_type": "example",
          "expires_at": "2026-09-20T00:00:00Z"
        }
      }
    ]
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

DELETE/api/v1/works/{work_id}/scenes/{scene_id}Scène · Supprimer

Scène · Supprimer. DELETE /api/v1/works/{work_id}/scenes/{scene_id}. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

PUT/api/v1/works/{work_id}/episodes/{episode_id}/scene-orderRéordonner les scènes

Réordonner les scènes. PUT /api/v1/works/{work_id}/episodes/{episode_id}/scene-order. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
episode_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
scene_idsarray*
  • Maximum items: 500 items
revisioninteger*
Première requête · JSON
{
  "scene_ids": [
    "11111111-1111-4111-8111-111111111111"
  ],
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

PUT/api/v1/works/{work_id}/scriptEnregistrer le scénario

Enregistrer le scénario. PUT /api/v1/works/{work_id}/script. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
textstring*
  • Maximum length: 5000000 characters
revisioninteger*
Première requête · JSON
{
  "text": "example",
  "revision": 1
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{work_id}/scenes/{scene_id}/video-generationsGénérer la vidéo de scène

Générer la vidéo de scène. POST /api/v1/works/{work_id}/scenes/{scene_id}/video-generations. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}

Permission requise: jobs:create

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
anchor_asset_idstring—
  • Format: UUID
reference_asset_idsarray—
  • Maximum items: 12 items
modelstring—
  • Default: "video-standard"
  • Minimum length: 1 characters
  • Maximum length: 200 characters
promptstring—
  • Minimum length: 1 characters
  • Maximum length: 10000 characters
duration_secondsinteger*
  • Minimum: 1
  • Maximum: 60
resolutionstring*
  • Minimum length: 1 characters
  • Maximum length: 20 characters
aspect_ratiostring*
  • Minimum length: 1 characters
  • Maximum length: 20 characters
generate_audioboolean—
Première requête · JSON
{
  "revision": 1,
  "duration_seconds": 1,
  "resolution": "example",
  "aspect_ratio": "example"
}

Réponses

HTTP 202 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag · Retry-After

Réponses d’erreur · error.code ↗

Essayer

PUT/api/v1/works/{work_id}/scenes/{scene_id}/selected-takeChoisir la prise finale

Choisir la prise finale. PUT /api/v1/works/{work_id}/scenes/{scene_id}/selected-take. revision + Idempotency-Key

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
scene_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
take_idoneOf*
Première requête · JSON
{
  "revision": 1,
  "take_id": "11111111-1111-4111-8111-111111111111"
}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{work_id}/exportsExporter la vidéo finale

Exporter la vidéo finale. POST /api/v1/works/{work_id}/exports. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}

Permission requise: jobs:create

Paramètres

NomTypeRequisDescription
work_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
allow_partialboolean—
  • Default: true
selectionsarray—
  • Maximum items: 200 items
selections[].scene_idstring*
  • Format: UUID
selections[].asset_idstring*
  • Format: UUID
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 202 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag · Retry-After

Réponses d’erreur · error.code ↗

Essayer

API de compatibilit?
POST/api/v1/works/{project_id}/plansVoir le plan et les crédits prévus

Voyez ce qui sera produit et combien de crédits cela coûtera, sans lancer la production.

Permission requise: runs:write

Paramètres

NomTypeRequisDescription
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
template_idstring*
  • Fixed value: episode-production
template_versionnumber*
  • Fixed value: 1
project_revisioninteger*
episode_idsarray*Les identifiants des épisodes doivent être uniques.
  • Maximum items: 10 items
modestring*
  • Allowed values: reviewed, automatic
output_profilestring*
  • Allowed values: sandbox-episode-v1, episode-standard-v1
Première requête · JSON
{
  "template_id": "episode-production",
  "template_version": 1,
  "project_revision": 1,
  "episode_ids": [
    "11111111-1111-4111-8111-111111111111"
  ],
  "mode": "reviewed",
  "output_profile": "sandbox-episode-v1"
}

Réponses

HTTP 201 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "project_revision": 1,
    "template_id": "example",
    "template_version": 1,
    "executable": false,
    "expires_at": "2026-09-20T00:00:00Z",
    "budget_ceiling": {
      "currency": "example",
      "micro_units": "example"
    },
    "steps": [
      {
        "stage_key": "example",
        "target_ids": [
          "11111111-1111-4111-8111-111111111111"
        ],
        "depends_on": [
          "example"
        ],
        "requires_review": false,
        "max_cost": {
          "currency": "example",
          "micro_units": "example"
        }
      }
    ],
    "unsupported_reasons": [
      "example"
    ]
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{project_id}/runsLancer la production

Lance la production depuis un plan_id existant et renvoie un ID d’exécution. Suivez l’état et les résultats avec getRun.

Permission requise: runs:write

Paramètres

NomTypeRequisDescription
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
plan_idstring*
  • Format: UUID
client_referencestring—
  • Maximum length: 128 characters
Première requête · JSON
{
  "plan_id": "11111111-1111-4111-8111-111111111111"
}

Réponses

HTTP 202 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "plan_id": "11111111-1111-4111-8111-111111111111",
    "version": 1,
    "state": "queued",
    "client_reference": "example",
    "created_at": "2026-09-20T00:00:00Z",
    "completed_at": "2026-09-20T00:00:00Z",
    "budget_remaining": {
      "currency": "example",
      "micro_units": "example"
    },
    "committed_cost": {
      "currency": "example",
      "micro_units": "example"
    },
    "unresolved_cost": {
      "currency": "example",
      "micro_units": "example"
    },
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ]
  }
}

En-têtes de réponse: X-Request-Id · ETag · Retry-After

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{project_id}/workflow/commandsModifier la production Studio

Modifie les données de production : scénario, scènes, designs ou prises sélectionnées. Choisissez operation et envoyez input avec la dernière revision.

Permission requise: projects:write

Paramètres

NomTypeRequisDescription
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

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

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "work_id": "11111111-1111-4111-8111-111111111111",
    "changed_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "studio_url": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{project_id}/cut/exportsExporter le montage Studio

Assemble les vidéos dans l’ordre des épisodes et scènes. selections choisit les prises ; allow_partial autorise les scènes manquantes. Suivez l’export avec getJob.

Permission requise: jobs:create

Paramètres

NomTypeRequisDescription
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
allow_partialboolean—
  • Default: true
selectionsarray—
  • Maximum items: 200 items
selections[].scene_idstring*
  • Format: UUID
selections[].asset_idstring*
  • Format: UUID
Première requête · JSON
{
  "revision": 1
}

Réponses

HTTP 202 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag · Retry-After

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{project_id}/storyboard/videosGénérer la vidéo d’une scène

Génère une prise vidéo pour scene_id avec le modèle, la durée et la résolution choisis. anchor_asset_id définit l’image initiale. Suivez le job avec getJob.

Permission requise: jobs:create

Paramètres

NomTypeRequisDescription
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
scene_idstring*
  • Format: UUID
anchor_asset_idstring—
  • Format: UUID
reference_asset_idsarray—
  • Maximum items: 12 items
modelstring—
  • Default: "video-standard"
  • Minimum length: 1 characters
  • Maximum length: 200 characters
promptstring—
  • Minimum length: 1 characters
  • Maximum length: 10000 characters
duration_secondsinteger*
  • Minimum: 1
  • Maximum: 60
resolutionstring*
  • Minimum length: 1 characters
  • Maximum length: 20 characters
aspect_ratiostring*
  • Minimum length: 1 characters
  • Maximum length: 20 characters
generate_audioboolean—
Première requête · JSON
{
  "revision": 1,
  "scene_id": "11111111-1111-4111-8111-111111111111",
  "duration_seconds": 1,
  "resolution": "example",
  "aspect_ratio": "example"
}

Réponses

HTTP 202 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag · Retry-After

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/works/{project_id}/designs/imagesGénérer une image de personnage, de décor, d’accessoire ou de grille

Génère une à quatre images pour design_id avec un prompt et des références facultatives. Choisissez l’image principale ou une variante, puis suivez getJob.

Permission requise: jobs:create

Paramètres

NomTypeRequisDescription
project_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
revisioninteger*
design_idstring*
  • Format: UUID
variantsinteger—
  • Default: 1
  • Minimum: 1
  • Maximum: 4
modelstring—
  • Default: "image-standard"
  • Minimum length: 1 characters
  • Maximum length: 200 characters
promptstring—
  • Minimum length: 1 characters
  • Maximum length: 20000 characters
aspect_ratiostring—
image_sizestring—
  • Maximum length: 40 characters
qualitystring—
  • Allowed values: low, medium, high
backgroundstring—
  • Allowed values: auto, opaque, transparent
output_formatstring—
  • Allowed values: png, jpeg
reference_asset_idsarray—
  • Default: []
  • Maximum items: 16 items
slotstring—
  • Allowed values: primary, variant
  • Default: "primary"
variant_namestring—
  • Minimum length: 1 characters
  • Maximum length: 80 characters
current_asset_idstring—
  • Format: UUID
Première requête · JSON
{
  "revision": 1,
  "design_id": "11111111-1111-4111-8111-111111111111"
}

Réponses

HTTP 202 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag · Retry-After

Réponses d’erreur · error.code ↗

Essayer

Envois

POST/api/v1/uploadsObtenir une adresse pour envoyer un fichier

Enregistre les métadonnées et renvoie upload_url. Envoyez le fichier par PUT, puis confirmez la fin du transfert. Formats : TXT, Markdown, DOCX, PNG, JPEG, WebP, AVIF, WAV et ZIP. Les limites partagent les paramètres de Studio : consultez upload_limits dans GET /capabilities. Scénarios : 5 000 000 caractères maximum. Aucun séparateur de chemin dans le nom. WAV en PCM ou IEEE float.

Permission requise: assets:write

Paramètres

NomTypeRequisDescription
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
project_idstring*
  • Format: UUID
filenamestring*
  • Minimum length: 1 characters
  • Maximum length: 200 characters
mime_typestring*
  • Allowed values: text/plain, text/markdown, application/vnd.openxmlformats-officedocument.wordprocessingml.document, image/png, image/jpeg, image/webp, image/avif, audio/wav, application/zip
size_bytesinteger*
  • Maximum: 1073741824
sha256string*
Première requête · JSON
{
  "project_id": "11111111-1111-4111-8111-111111111111",
  "filename": "example",
  "mime_type": "text/plain",
  "size_bytes": 1,
  "sha256": "example"
}

Réponses

HTTP 201 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "asset_id": "11111111-1111-4111-8111-111111111111",
    "upload_url": "example",
    "method": "PUT",
    "content_type": "example",
    "expires_at": "2026-09-20T00:00:00Z"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/uploads/{upload_id}/completeSignaler que le fichier est bien envoyé

Vérifie le fichier transféré par rapport aux métadonnées déclarées et renvoie l’asset utilisable en production.

Permission requise: assets:write

Paramètres

NomTypeRequisDescription
upload_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

Première requête · JSON
{}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "state": "pending",
    "mime_type": "example",
    "size_bytes": 0,
    "download_url": "example",
    "expires_at": "2026-09-20T00:00:00Z"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

PUT/api/v1/uploads/{upload_id}/contentEnvoyer le contenu du fichier

Envoie les octets du fichier en application/octet-stream pour un transfert préparé. Appelez completeUpload après l’envoi.

Permission requise: assets:write

Paramètres

NomTypeRequisDescription
upload_idpathstring*
  • Format: UUID

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "uploaded": true
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

Fichiers et résultats

GET/api/v1/assets/{asset_id}Voir un résultat et son lien de téléchargement

Renvoie les métadonnées et, si disponible, un download_url signé. Téléchargez le fichier avant son expiration.

Permission requise: assets:read

Paramètres

NomTypeRequisDescription
asset_idpathstring*
  • Format: UUID

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "state": "pending",
    "mime_type": "example",
    "size_bytes": 0,
    "download_url": "example",
    "expires_at": "2026-09-20T00:00:00Z"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/downloads/{asset_id}Télécharger le fichier terminé

Télécharge le fichier via le download_url signé complet renvoyé par getAsset. Le lien expire après cinq minutes.

Paramètres

NomTypeRequisDescription
asset_idpathstring*
  • Format: UUID
expiresquerystring*
signaturequerystring*

Réponses

HTTP 200 Octets du fichier

application/octet-stream · Octets du fichier

Réponses d’erreur · error.code ↗

Essayer

Exécutions

GET/api/v1/runsVoir la liste des productions

Liste les exécutions avec des filtres par projet, état, client_reference et période.

Permission requise: runs:read

Paramètres

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

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "work_id": "11111111-1111-4111-8111-111111111111",
        "plan_id": "11111111-1111-4111-8111-111111111111",
        "version": 1,
        "state": "queued",
        "client_reference": "example",
        "created_at": "2026-09-20T00:00:00Z",
        "completed_at": "2026-09-20T00:00:00Z",
        "budget_remaining": {
          "currency": "example",
          "micro_units": "example"
        },
        "committed_cost": {
          "currency": "example",
          "micro_units": "example"
        },
        "unresolved_cost": {
          "currency": "example",
          "micro_units": "example"
        },
        "output_asset_ids": [
          "11111111-1111-4111-8111-111111111111"
        ]
      }
    ],
    "next_cursor": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/runs/{run_id}Voir l’avancement d’une production

Renvoie l’état, la version et les résultats disponibles d’une exécution. Utilisez cette version pour soumettre une décision.

Permission requise: runs:read

Paramètres

NomTypeRequisDescription
run_idpathstring*
  • Format: UUID

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "plan_id": "11111111-1111-4111-8111-111111111111",
    "version": 1,
    "state": "queued",
    "client_reference": "example",
    "created_at": "2026-09-20T00:00:00Z",
    "completed_at": "2026-09-20T00:00:00Z",
    "budget_remaining": {
      "currency": "example",
      "micro_units": "example"
    },
    "committed_cost": {
      "currency": "example",
      "micro_units": "example"
    },
    "unresolved_cost": {
      "currency": "example",
      "micro_units": "example"
    },
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ]
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/runs/{run_id}/stepsVoir l’avancement étape par étape

Liste les étapes d’une exécution pour identifier celles en attente, en cours ou terminées.

Permission requise: runs:read

Paramètres

NomTypeRequisDescription
run_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "run_id": "11111111-1111-4111-8111-111111111111",
        "stage_key": "example",
        "target_id": "11111111-1111-4111-8111-111111111111",
        "job_id": "11111111-1111-4111-8111-111111111111",
        "state": "blocked",
        "output_asset_ids": [
          "11111111-1111-4111-8111-111111111111"
        ],
        "error_code": "example",
        "ordinal": 1
      }
    ],
    "next_cursor": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/runs/{run_id}/eventsVoir ce qui s’est passé pendant la production

Liste les événements, tels que changements d’état et demandes de validation, pour retracer la production.

Permission requise: runs:read

Paramètres

NomTypeRequisDescription
run_idpathstring*
  • Format: UUID
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "items": [
      {
        "event_id": "11111111-1111-4111-8111-111111111111",
        "run_id": "11111111-1111-4111-8111-111111111111",
        "sequence": 1,
        "type": "run.state_changed",
        "state": "queued",
        "step_id": "11111111-1111-4111-8111-111111111111",
        "created_at": "2026-09-20T00:00:00Z"
      }
    ],
    "next_cursor": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/runs/{run_id}/decisionsValider la suite ou arrêter

Soumet une décision : approve, stop, resume, cancel_remaining ou retry_result. Envoyez la dernière version dans expected_version. retry_result reprend uniquement la consultation du résultat vidéo enregistré. Fournissez expected_version à jour et step_id. Le travail et la réservation sont conservés, sans nouvelle génération. Limite : 24 heures après admission. Les autres résultats ou usages incertains nécessitent une vérification opérateur.

Permission requise: runs:write

Paramètres

NomTypeRequisDescription
run_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
actionstring*retry_result resumes result polling for an accepted Studio video on the original reservation; requires step_id and expected_version. It never resubmits generation. Unconfirmed usage without a saved video task requires operator review.
  • Allowed values: approve, stop, resume, cancel_remaining, retry_result
expected_versioninteger*
step_idstring—
  • Format: UUID
selected_asset_idsarray—
  • Maximum items: 10 items
Première requête · JSON
{
  "action": "approve",
  "expected_version": 1
}

Réponses

HTTP 202 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "plan_id": "11111111-1111-4111-8111-111111111111",
    "version": 1,
    "state": "queued",
    "client_reference": "example",
    "created_at": "2026-09-20T00:00:00Z",
    "completed_at": "2026-09-20T00:00:00Z",
    "budget_remaining": {
      "currency": "example",
      "micro_units": "example"
    },
    "committed_cost": {
      "currency": "example",
      "micro_units": "example"
    },
    "unresolved_cost": {
      "currency": "example",
      "micro_units": "example"
    },
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ]
  }
}

En-têtes de réponse: X-Request-Id · ETag · Retry-After

Réponses d’erreur · error.code ↗

Essayer

Fonctions du workflow

GET/api/v1/jobs/{job_id}Voir l’état et le résultat d’une tâche

Renvoie l’état du job et les ID des assets produits. Après achèvement, utilisez getAsset pour récupérer les fichiers.

Permission requise: jobs:read

Paramètres

NomTypeRequisDescription
job_idpathstring*
  • Format: UUID

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/jobs/{job_id}/buildConsulter la progression et les sources

Renvoie l’étape, les messages de progression et les sources d’une construction de scénario, avec le texte préparé pour le traitement.

Permission requise: jobs:read, assets:read

Paramètres

NomTypeRequisDescription
job_idpathstring*
  • Format: UUID

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "state": "example",
    "stage": "example",
    "messages": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "role": "assistant",
        "stage": "example",
        "content": "example",
        "status": "streaming",
        "seq": 1,
        "created_at": "example",
        "updated_at": "example"
      }
    ],
    "sources": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "name": "example",
        "filterMode": "prompt_index",
        "sourceText": "example",
        "llmText": "example",
        "originalChars": 1,
        "preparedChars": 1
      }
    ]
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

API de compatibilit?
POST/api/v1/jobsLancer une seule fonction tout de suite

Exécutez une seule fonction au lieu de toute la production. analyze_script lit le scénario et crée les plans, generate_image crée les images de personnages, décors, accessoires et plans, generate_video crée la vidéo d’un plan dont vous avez choisi l’image, et assemble_video assemble un épisode dont tous les plans ont une vidéo. Envoyez toujours la dernière revision du projet. Une requête Live réserve les crédits à l’avance.

Permission requise: jobs:create

Paramètres

NomTypeRequisDescription
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
project_idstring*
  • Format: UUID
project_revisioninteger*
target_idstring*
  • Format: UUID
typestring*
  • Allowed values: analyze_script, generate_image, generate_video, assemble_video
profile_idstring*
  • Maximum length: 100 characters
client_referencestring—
  • Maximum length: 128 characters
Première requête · JSON
{
  "project_id": "11111111-1111-4111-8111-111111111111",
  "project_revision": 1,
  "target_id": "11111111-1111-4111-8111-111111111111",
  "type": "analyze_script",
  "profile_id": "example"
}

Réponses

HTTP 202 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "state": "queued",
    "output_asset_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "error_code": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag · Retry-After

Réponses d’erreur · error.code ↗

Essayer

Journaux

GET/api/v1/requestsVoir les requêtes que vous avez envoyées

Liste les appels API avec statut HTTP et durée. Filtrez par projet et période pour examiner les requêtes.

Permission requise: requests:read

Paramètres

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

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "items": [
      {
        "request_id": "11111111-1111-4111-8111-111111111111",
        "created_at": "2026-09-20T00:00:00Z",
        "method": "GET",
        "route_template": "example",
        "status_code": 100,
        "duration_ms": 0,
        "actor_kind": "api_key",
        "work_id": "11111111-1111-4111-8111-111111111111",
        "run_id": "11111111-1111-4111-8111-111111111111",
        "job_id": "11111111-1111-4111-8111-111111111111",
        "replayed": false,
        "error_code": "example"
      }
    ],
    "next_cursor": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

GET/api/v1/requests/{request_id}Voir une requête envoyée

Retrouve un appel par request_id avec son statut HTTP, sa durée et l’exécution ou le job associé.

Permission requise: requests:read

Paramètres

NomTypeRequisDescription
request_idpathstring*
  • Format: UUID

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "request_id": "11111111-1111-4111-8111-111111111111",
    "created_at": "2026-09-20T00:00:00Z",
    "method": "GET",
    "route_template": "example",
    "status_code": 100,
    "duration_ms": 0,
    "actor_kind": "api_key",
    "work_id": "11111111-1111-4111-8111-111111111111",
    "run_id": "11111111-1111-4111-8111-111111111111",
    "job_id": "11111111-1111-4111-8111-111111111111",
    "replayed": false,
    "error_code": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

Consommation

GET/api/v1/usageVoir votre consommation de crédits

Renvoie les totaux d’utilisation sur la période demandée, avec les montants réservés et facturés.

Permission requise: usage:read

Paramètres

Aucun paramètre

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "period_start": "2026-09-20T00:00:00Z",
    "period_end": "2026-09-20T00:00:00Z",
    "as_of": "2026-09-20T00:00:00Z",
    "http_requests": 0,
    "runs": 0,
    "jobs": 0,
    "reserved": {
      "currency": "example",
      "micro_units": "example"
    },
    "committed": {
      "currency": "example",
      "micro_units": "example"
    },
    "unresolved": {
      "currency": "example",
      "micro_units": "example"
    },
    "remaining": {
      "currency": "example",
      "micro_units": "example"
    },
    "amount_basis": "partner_limit",
    "billing_mode": "pilot"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

Webhooks

GET/api/v1/webhook-endpointsVoir vos adresses de notification Webhook

Liste les URL Webhook enregistrées, les événements suivis et leur état d’activation.

Permission requise: webhooks:read

Paramètres

NomTypeRequisDescription
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "url": "example",
        "work_ids": [
          "11111111-1111-4111-8111-111111111111"
        ],
        "events": [
          "run.state_changed"
        ],
        "enabled": false,
        "verified": false,
        "secret_version": 1,
        "created_at": "2026-09-20T00:00:00Z"
      }
    ],
    "next_cursor": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/webhook-endpointsAjouter une adresse Webhook

Enregistre une URL Webhook pour recevoir les événements de production sélectionnés pour les projets indiqués.

Permission requise: webhooks:write

Paramètres

NomTypeRequisDescription
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

NomTypeRequisDescription
urlstring*
  • Format: uri
  • Maximum length: 2000 characters
project_idsarray*
  • Maximum items: 100 items
eventsarray*
  • Maximum items: 4 items
Première requête · JSON
{
  "url": "example",
  "project_ids": [
    "11111111-1111-4111-8111-111111111111"
  ],
  "events": [
    "run.state_changed"
  ]
}

Réponses

HTTP 201 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "endpoint": {
      "id": "11111111-1111-4111-8111-111111111111",
      "url": "example",
      "work_ids": [
        "11111111-1111-4111-8111-111111111111"
      ],
      "events": [
        "run.state_changed"
      ],
      "enabled": false,
      "verified": false,
      "secret_version": 1,
      "created_at": "2026-09-20T00:00:00Z"
    }
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

PATCH/api/v1/webhook-endpoints/{endpoint_id}Modifier une adresse Webhook

Active ou désactive un Webhook, ou modifie les événements reçus.

Permission requise: webhooks:write

Paramètres

NomTypeRequisDescription
endpoint_idpathstring*
  • Format: UUID
If-Matchheaderstring*Utilisez le dernier ETag, guillemets compris.

Corps de la requête

NomTypeRequisDescription
enabledboolean—
eventsarray—
  • Maximum items: 4 items
Première requête · JSON
{}

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "url": "example",
    "work_ids": [
      "11111111-1111-4111-8111-111111111111"
    ],
    "events": [
      "run.state_changed"
    ],
    "enabled": false,
    "verified": false,
    "secret_version": 1,
    "created_at": "2026-09-20T00:00:00Z"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

Livraisons Webhook

GET/api/v1/webhook-deliveriesVoir les envois Webhook effectués

Liste les tentatives de livraison Webhook et leur état pour vérifier la réception des notifications.

Permission requise: webhooks:read

Paramètres

NomTypeRequisDescription
cursorquerystring—
  • Minimum length: 1 characters
  • Maximum length: 500 characters
limitqueryinteger—
  • Default: 20
  • Minimum: 1
  • Maximum: 100

Réponses

HTTP 200 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "items": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "endpoint_id": "11111111-1111-4111-8111-111111111111",
        "event_id": "11111111-1111-4111-8111-111111111111",
        "state": "pending",
        "attempt": 0,
        "http_status": 1,
        "next_attempt_at": "2026-09-20T00:00:00Z",
        "created_at": "2026-09-20T00:00:00Z"
      }
    ],
    "next_cursor": "example"
  }
}

En-têtes de réponse: X-Request-Id · ETag

Réponses d’erreur · error.code ↗

Essayer

POST/api/v1/webhook-deliveries/{delivery_id}/redeliverRenvoyer un Webhook

Demande une nouvelle livraison de la notification Webhook désignée par delivery_id.

Permission requise: webhooks:write

Paramètres

NomTypeRequisDescription
delivery_idpathstring*
  • Format: UUID
Idempotency-Keyheaderstring*Réessayez avec la même Idempotency-Key et le même corps.
  • Minimum length: 16 characters
  • Maximum length: 128 characters

Corps de la requête

Première requête · JSON
{}

Réponses

HTTP 202 Succès

Première requête · JSON
{
  "request_id": "11111111-1111-4111-8111-111111111111",
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "endpoint_id": "11111111-1111-4111-8111-111111111111",
    "event_id": "11111111-1111-4111-8111-111111111111",
    "state": "pending",
    "attempt": 0,
    "http_status": 1,
    "next_attempt_at": "2026-09-20T00:00:00Z",
    "created_at": "2026-09-20T00:00:00Z"
  }
}

En-têtes de réponse: X-Request-Id · ETag · Retry-After

Réponses d’erreur · error.code ↗

Essayer

Spécification

GET/api/v1/openapi.jsonTélécharger la spécification de l’API

Télécharge la spécification OpenAPI avec les chemins, champs de requête et schémas de réponse.

Paramètres

Aucun paramètre

Réponses

HTTP 200 Document OpenAPI

Première requête · JSON
{}

Essayer

Réponses d’erreur · error.code 71

Une réponse 2xx signifie que la requête est bien passée. 201 veut dire qu’une ressource a été créée, 202 que la demande est acceptée et encore en cours : il n’y a pas encore de résultat, consultez l’état du job pour savoir quand c’est terminé. Les réponses réussies contiennent request_id et data. Seuls le téléchargement de fichiers et la spécification de l’API font exception. En cas d’échec, tous les endpoints renvoient le même objet error. Faites vos conditions sur error.code ; message explique la cause et la marche à suivre pour une personne. C’est retryable qui dit si vous pouvez renvoyer la requête. Ne réessayez automatiquement que s’il vaut true, et attendez le délai indiqué par retry_after_seconds ou l’en-tête Retry-After. Pour réessayer un POST, renvoyez la même Idempotency-Key et le même corps afin de ne rien facturer ni créer deux fois. Si un error.code vous est inconnu, traitez-le à partir du statut HTTP et de retryable. Indiquez request_id lorsque vous contactez le support. Les échecs survenus après l’acceptation d’un job apparaissent dans son état et son résultat, pas dans cette réponse.

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