Autenticazione
Usa la chiave FECINE come token Bearer. Non serve un account per leggere la documentazione.
Dalla sceneggiatura al montaggio finale, collega la produzione con FECINE.
Usa la chiave FECINE come token Bearer. Non serve un account per leggere la documentazione.
Crea un’opera, carica copioni e materiali, poi aggiungi personaggi, ambienti, oggetti e griglie. Crea episodi e scene, collega i riferimenti e genera i video. Scegli una ripresa per ogni scena ed esporta il montaggio finale. Attendi la fine di ogni generazione e invia la revision più recente per le modifiche. Avvia separatamente la costruzione per strutturare i copioni caricati.
Controlla lo stato o ricevi un Webhook. Usa gli ID delle risorse per ottenere link di download firmati.
curl -X GET 'https://YOUR_FECINE_HOST/api/v1/capabilities' \
-H 'Authorization: Bearer YOUR_FECINE_API_KEY'GET /api/v1/capabilitiesNessun endpoint trovato
Errore FECINE. Fornisci request_id al supporto.
Copia il JSON e sostituisci ID, URL e contenuti con i tuoi valori.
/api/v1/capabilitiesVedi cosa puoi fare adessoRestituisce funzioni, modelli, formati di caricamento e limiti di produzione disponibili nell’ambiente API corrente.
Permesso richiesto: projects:read
Nessun parametro
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"items": [
{
"studio_workflow": {
"equivalent": false,
"stages": [
"script"
],
"project_access": "read_only",
"gaps": [
"example"
]
},
"template_id": "example",
"template_version": 1,
"enabled": false,
"stages": [
"example"
],
"output_profiles": [
"example"
],
"unsupported_reasons": [
"example"
],
"max_shots": 1,
"max_episode_seconds": 1,
"upload_mime_types": [
"example"
],
"max_upload_bytes": 1
}
],
"next_cursor": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/worksVedi l’elenco dei tuoi progettiElenca i progetti accessibili. Filtra per state e usa cursor e limit per la paginazione.
Permesso richiesto: projects:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
cursorquery | string | — |
|
limitquery | integer | — |
|
statequery | string | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"items": [
{
"id": "11111111-1111-4111-8111-111111111111",
"name": "example",
"revision": 1,
"state": "active",
"created_at": "2026-09-20T00:00:00Z",
"client_reference": "example"
}
],
"next_cursor": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/worksCrea un nuovo progettoCrea un progetto con il name indicato. Usa l’ID restituito per aggiungere materiali e avviare la produzione.
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
name | string | * |
|
client_reference | string | — |
|
{
"name": "example"
}HTTP 201 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"name": "example",
"revision": 1,
"state": "active",
"created_at": "2026-09-20T00:00:00Z",
"client_reference": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{project_id}Vedi i dati di un progettoRestituisce nome, stato e revision del progetto da consultare prima di modifiche o richieste di produzione.
Permesso richiesto: projects:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
project_idpath | string | * |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"name": "example",
"revision": 1,
"state": "active",
"created_at": "2026-09-20T00:00:00Z",
"client_reference": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{project_id}Modifica i dati di un progettoModifica il nome o lo stato active/archived del progetto. Invia l’ultimo ETag in If-Match.
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
project_idpath | string | * |
|
If-Matchheader | string | * | Usa il più recente ETag, comprese le virgolette. |
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
name | string | — |
|
state | string | — |
|
{}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"name": "example",
"revision": 1,
"state": "active",
"created_at": "2026-09-20T00:00:00Z",
"client_reference": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{project_id}/resourcesVedi i materiali caricatiElenca sceneggiature, personaggi, scene, oggetti, episodi e inquadrature del progetto. Scegli il tipo con kind.
Permesso richiesto: projects:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
project_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
kindquery | string | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"items": [
{
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"content": {
"kind": "script",
"name": "example",
"data": {
"language": "example"
}
},
"created_at": "2026-09-20T00:00:00Z"
}
],
"next_cursor": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{project_id}/resourcesAggiungi materiali come copioni e immaginiAggiunge una risorsa strutturata con kind e data, come testo del copione o inquadrature. Carica i file tramite /uploads.
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
kind | string | * | kind = script
|
name | string | * | kind = script
|
data | object | * | kind = scriptFornisci solo text oppure source_asset_id. |
data.text | string | — | kind = script
|
data.source_asset_id | string | — | kind = script
|
data.language | string | * | kind = script
|
kind | string | * | kind = character
|
name | string | * | kind = character
|
data | object | * | kind = character |
data.description | string | * | kind = character
|
data.reference_asset_ids | array | — | kind = character
|
kind | string | * | kind = scene
|
name | string | * | kind = scene
|
data | object | * | kind = scene |
data.description | string | * | kind = scene
|
data.reference_asset_ids | array | — | kind = scene
|
kind | string | * | kind = prop
|
name | string | * | kind = prop
|
data | object | * | kind = prop |
data.description | string | * | kind = prop
|
data.reference_asset_ids | array | — | kind = prop
|
kind | string | * | kind = episode
|
name | string | * | kind = episode
|
data | object | * | kind = episode |
data.script_resource_id | string | * | kind = episode
|
data.sequence | integer | * | kind = episode
|
data.raw_content | string | — | kind = episode
|
data.description | string | — | kind = episode
|
kind | string | * | kind = shot
|
name | string | * | kind = shot
|
data | object | * | kind = shot |
data.episode_id | string | * | kind = shot
|
data.scene_id | string | — | kind = shot
|
data.character_ids | array | — | kind = shot
|
data.prop_ids | array | — | kind = shot
|
data.description | string | * | kind = shot
|
data.video_prompt | oneOf | — | kind = shot |
data.sequence | integer | — | kind = shot
|
data.duration_seconds | integer | * | kind = shot
|
data.selected_image_asset_id | string | — | kind = shot
|
data.selected_video_asset_id | string | — | kind = shot
|
{
"kind": "script",
"name": "example",
"data": {
"language": "example"
}
}HTTP 201 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"content": {
"kind": "script",
"name": "example",
"data": {
"language": "example"
}
},
"created_at": "2026-09-20T00:00:00Z"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{project_id}/resources/{resource_id}Vedi un singolo materialeRestituisce tipo, contenuto e revision della risorsa indicata da resource_id nel progetto.
Permesso richiesto: projects:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
project_idpath | string | * |
|
resource_idpath | string | * |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"content": {
"kind": "script",
"name": "example",
"data": {
"language": "example"
}
},
"created_at": "2026-09-20T00:00:00Z"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{project_id}/resources/{resource_id}Modifica un materialeAggiorna kind e data. Invia l’ultimo ETag in If-Match per evitare conflitti di modifica.
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
project_idpath | string | * |
|
resource_idpath | string | * |
|
If-Matchheader | string | * | Usa il più recente ETag, comprese le virgolette. |
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
kind | string | * | kind = script
|
name | string | * | kind = script
|
data | object | * | kind = scriptFornisci solo text oppure source_asset_id. |
data.text | string | — | kind = script
|
data.source_asset_id | string | — | kind = script
|
data.language | string | * | kind = script
|
kind | string | * | kind = character
|
name | string | * | kind = character
|
data | object | * | kind = character |
data.description | string | * | kind = character
|
data.reference_asset_ids | array | — | kind = character
|
kind | string | * | kind = scene
|
name | string | * | kind = scene
|
data | object | * | kind = scene |
data.description | string | * | kind = scene
|
data.reference_asset_ids | array | — | kind = scene
|
kind | string | * | kind = prop
|
name | string | * | kind = prop
|
data | object | * | kind = prop |
data.description | string | * | kind = prop
|
data.reference_asset_ids | array | — | kind = prop
|
kind | string | * | kind = episode
|
name | string | * | kind = episode
|
data | object | * | kind = episode |
data.script_resource_id | string | * | kind = episode
|
data.sequence | integer | * | kind = episode
|
data.raw_content | string | — | kind = episode
|
data.description | string | — | kind = episode
|
kind | string | * | kind = shot
|
name | string | * | kind = shot
|
data | object | * | kind = shot |
data.episode_id | string | * | kind = shot
|
data.scene_id | string | — | kind = shot
|
data.character_ids | array | — | kind = shot
|
data.prop_ids | array | — | kind = shot
|
data.description | string | * | kind = shot
|
data.video_prompt | oneOf | — | kind = shot |
data.sequence | integer | — | kind = shot
|
data.duration_seconds | integer | * | kind = shot
|
data.selected_image_asset_id | string | — | kind = shot
|
data.selected_video_asset_id | string | — | kind = shot
|
{
"kind": "script",
"name": "example",
"data": {
"language": "example"
}
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"content": {
"kind": "script",
"name": "example",
"data": {
"language": "example"
}
},
"created_at": "2026-09-20T00:00:00Z"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{project_id}/workflowConsulta la produzione StudioRestituisce insieme copione, episodi, design, scene, asset, take, selezioni di montaggio e revision aggiornata.
Permesso richiesto: projects:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
project_idpath | string | * |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"api_runs": [
{
"id": "11111111-1111-4111-8111-111111111111",
"state": "example",
"created_at": "example",
"completed_at": "example",
"total_steps": 0,
"completed_steps": 0,
"error_code": "example"
}
],
"work_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example",
"trash": [
{
"id": "11111111-1111-4111-8111-111111111111",
"entity_type": "asset",
"name": "example",
"deleted_at": "example"
}
],
"assets": [
{
"id": "11111111-1111-4111-8111-111111111111",
"name": "example",
"kind": "example",
"media_type": "example",
"status": "example",
"mime": "example",
"lineage_id": "11111111-1111-4111-8111-111111111111",
"version": 1,
"is_current_version": false
}
],
"settings": {
"title": "example",
"tags": [
"example"
],
"cover": "example",
"aspect": "example",
"resolution": "example",
"style": "example",
"style_prompt": "example",
"state": "example"
},
"script": {
"text": "example",
"logline": "example",
"synopsis": "example"
},
"episodes": [
{
"id": "11111111-1111-4111-8111-111111111111",
"number": 1,
"title": "example",
"raw_content": "example",
"description": "example"
}
],
"designs": [
{
"id": "11111111-1111-4111-8111-111111111111",
"kind": "character",
"name": "example",
"description": "example",
"tags": [
"example"
],
"primary_asset_id": "11111111-1111-4111-8111-111111111111"
}
],
"scenes": [
{
"id": "11111111-1111-4111-8111-111111111111",
"episode_id": "11111111-1111-4111-8111-111111111111",
"number": 1,
"heading": "example",
"description": "example",
"video_prompt": "example"
}
],
"scene_designs": [
{
"scene_id": "11111111-1111-4111-8111-111111111111",
"design_id": "11111111-1111-4111-8111-111111111111",
"kind": "example",
"position": 1
}
],
"takes": [
{
"scene_id": "11111111-1111-4111-8111-111111111111",
"asset_id": "11111111-1111-4111-8111-111111111111",
"position": 1
}
],
"cut_selections": [
{
"scene_id": "11111111-1111-4111-8111-111111111111",
"asset_id": "11111111-1111-4111-8111-111111111111"
}
],
"design_assets": [
{
"design_id": "11111111-1111-4111-8111-111111111111",
"asset_id": "11111111-1111-4111-8111-111111111111",
"kind": "example",
"name": "example",
"position": 1
}
]
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{project_id}/script/analysesAnalizza la sceneggiatura StudioAnalizza il copione per estrarre la struttura di produzione. Invia script_text per aggiornarlo oppure omettilo per usare quello salvato. Segui il job con getJob.
Permesso richiesto: jobs:create
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * | |
model | string | — |
|
script_text | string | — |
|
{
"revision": 1
}HTTP 202 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"run_id": "11111111-1111-4111-8111-111111111111",
"state": "queued",
"output_asset_ids": [
"11111111-1111-4111-8111-111111111111"
],
"error_code": "example"
}
}Header risposta: X-Request-Id · ETag · Retry-After
/api/v1/works/{project_id}/script/buildsCrea la produzione dalla sceneggiaturaInvia script_asset_ids verificati e revision per costruire copione, riferimenti e storyboard. full_rebuild sostituisce la struttura. Genera immagini e video separatamente. I token di ingresso e uscita riportati sono addebitati alle stesse tariffe di Studio. Non serve un budget di crediti per richiesta. GET /jobs/{job_id} → output_asset_ids.
Permesso richiesto: jobs:create
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * | |
model | string | — |
|
script_asset_ids | array | — |
|
material_scope | string | — |
|
preprocess | object | — | |
preprocess.ignoreAttachments | boolean | — |
|
preprocess.discardKeywords | array | — |
|
preprocess.keepLabels | array | — |
|
rebuild_policy | string | * |
|
{
"revision": 1,
"rebuild_policy": "full_rebuild"
}HTTP 202 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"run_id": "11111111-1111-4111-8111-111111111111",
"state": "queued",
"output_asset_ids": [
"11111111-1111-4111-8111-111111111111"
],
"error_code": "example"
}
}Header risposta: X-Request-Id · ETag · Retry-After
/api/v1/works/{project_id}/libraryConsulta la libreria condivisaElenca gli asset importabili. scope=personal consulta la libreria personale; scope=studio, predefinito, quella condivisa.
Permesso richiesto: assets:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
project_idpath | string | * |
|
limit | integer | — |
|
cursor | string | — | |
scope | string | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"items": [
{
"id": "11111111-1111-4111-8111-111111111111",
"name": "example",
"kind": "example",
"media_type": "example",
"mime": "example",
"version": 1,
"is_current_version": false
}
],
"next_cursor": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{project_id}/importsImporta una risorsa nel progettoCopia l’asset indicato da asset_id dalla libreria personale o condivisa nel progetto. Le modifiche successive all’originale non alterano la copia.
Permesso richiesto: assets:write, assets:read, projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * | |
asset_id | string | * |
|
{
"revision": 1,
"asset_id": "11111111-1111-4111-8111-111111111111"
}HTTP 201 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"state": "pending",
"mime_type": "example",
"size_bytes": 0,
"download_url": "example",
"expires_at": "2026-09-20T00:00:00Z"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{project_id}/script/draftsGenera una bozza di sceneggiaturaInvia instructions, source_text facoltativo, revision e max_output_tokens. Salva un nuovo copione senza sostituire quello esistente. I token di ingresso e uscita riportati sono addebitati alle stesse tariffe di Studio. Non serve un budget di crediti per richiesta. GET /jobs/{job_id} → output_asset_ids.
Permesso richiesto: jobs:create
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * | |
model | string | — |
|
instructions | string | * |
|
source_text | string | — |
|
max_output_tokens | integer | — |
|
{
"revision": 1,
"instructions": "example"
}HTTP 202 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"run_id": "11111111-1111-4111-8111-111111111111",
"state": "queued",
"output_asset_ids": [
"11111111-1111-4111-8111-111111111111"
],
"error_code": "example"
}
}Header risposta: X-Request-Id · ETag · Retry-After
/api/v1/works/{work_id}/charactersPersonaggio · Leggere (list)Personaggio · Leggere (list). GET /api/v1/works/{work_id}/characters. GET
Permesso richiesto: projects:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"items": [
{
"id": "11111111-1111-4111-8111-111111111111",
"kind": "character",
"name": "example",
"description": "example",
"tags": [
"example"
],
"primary_asset_id": "11111111-1111-4111-8111-111111111111"
}
],
"next_cursor": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/charactersPersonaggio · CreaPersonaggio · Crea. POST /api/v1/works/{work_id}/characters. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
name | string | * |
|
description | string | — |
|
tags | array | — |
|
revision | integer | * |
{
"name": "example",
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/characters/{reference_id}Personaggio · LeggerePersonaggio · Leggere. GET /api/v1/works/{work_id}/characters/{reference_id}. GET
Permesso richiesto: projects:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"kind": "character",
"name": "example",
"description": "example",
"tags": [
"example"
],
"primary_asset_id": "11111111-1111-4111-8111-111111111111"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/characters/{reference_id}Personaggio · ModificaPersonaggio · Modifica. PATCH /api/v1/works/{work_id}/characters/{reference_id}. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
name | string | * |
|
description | string | — |
|
tags | array | — |
|
revision | integer | * |
{
"name": "example",
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/characters/{reference_id}Personaggio · EliminaPersonaggio · Elimina. DELETE /api/v1/works/{work_id}/characters/{reference_id}. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/characters/{reference_id}/primary-imagePersonaggio · Imposta immagine di riferimentoPersonaggio · Imposta immagine di riferimento. PUT /api/v1/works/{work_id}/characters/{reference_id}/primary-image. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
asset_id | string | * |
|
current_asset_id | oneOf | * | |
revision | integer | * |
{
"asset_id": "11111111-1111-4111-8111-111111111111",
"current_asset_id": "11111111-1111-4111-8111-111111111111",
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/characters/{reference_id}/image-generationsPersonaggio · Genera immagine di riferimentoPersonaggio · Genera immagine di riferimento. POST /api/v1/works/{work_id}/characters/{reference_id}/image-generations. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}
Permesso richiesto: jobs:create
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * | |
variants | integer | — |
|
model | string | — |
|
prompt | string | — |
|
aspect_ratio | string | — | |
image_size | string | — |
|
quality | string | — |
|
background | string | — |
|
output_format | string | — |
|
reference_asset_ids | array | — |
|
slot | string | — |
|
variant_name | string | — |
|
current_asset_id | string | — |
|
{
"revision": 1
}HTTP 202 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"run_id": "11111111-1111-4111-8111-111111111111",
"state": "queued",
"output_asset_ids": [
"11111111-1111-4111-8111-111111111111"
],
"error_code": "example"
}
}Header risposta: X-Request-Id · ETag · Retry-After
/api/v1/works/{work_id}/scenes/{scene_id}/references/characters/{reference_id}Personaggio · Collega alla scenaPersonaggio · Collega alla scena. PUT /api/v1/works/{work_id}/scenes/{scene_id}/references/characters/{reference_id}. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/scenes/{scene_id}/references/characters/{reference_id}Personaggio · Scollega dalla scenaPersonaggio · Scollega dalla scena. DELETE /api/v1/works/{work_id}/scenes/{scene_id}/references/characters/{reference_id}. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/background-scenesScena di sfondo · Leggere (list)Scena di sfondo · Leggere (list). GET /api/v1/works/{work_id}/background-scenes. GET
Permesso richiesto: projects:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"items": [
{
"id": "11111111-1111-4111-8111-111111111111",
"kind": "character",
"name": "example",
"description": "example",
"tags": [
"example"
],
"primary_asset_id": "11111111-1111-4111-8111-111111111111"
}
],
"next_cursor": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/background-scenesScena di sfondo · CreaScena di sfondo · Crea. POST /api/v1/works/{work_id}/background-scenes. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
name | string | * |
|
description | string | — |
|
tags | array | — |
|
revision | integer | * |
{
"name": "example",
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/background-scenes/{reference_id}Scena di sfondo · LeggereScena di sfondo · Leggere. GET /api/v1/works/{work_id}/background-scenes/{reference_id}. GET
Permesso richiesto: projects:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"kind": "character",
"name": "example",
"description": "example",
"tags": [
"example"
],
"primary_asset_id": "11111111-1111-4111-8111-111111111111"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/background-scenes/{reference_id}Scena di sfondo · ModificaScena di sfondo · Modifica. PATCH /api/v1/works/{work_id}/background-scenes/{reference_id}. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
name | string | * |
|
description | string | — |
|
tags | array | — |
|
revision | integer | * |
{
"name": "example",
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/background-scenes/{reference_id}Scena di sfondo · EliminaScena di sfondo · Elimina. DELETE /api/v1/works/{work_id}/background-scenes/{reference_id}. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/background-scenes/{reference_id}/primary-imageScena di sfondo · Imposta immagine di riferimentoScena di sfondo · Imposta immagine di riferimento. PUT /api/v1/works/{work_id}/background-scenes/{reference_id}/primary-image. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
asset_id | string | * |
|
current_asset_id | oneOf | * | |
revision | integer | * |
{
"asset_id": "11111111-1111-4111-8111-111111111111",
"current_asset_id": "11111111-1111-4111-8111-111111111111",
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/background-scenes/{reference_id}/image-generationsScena di sfondo · Genera immagine di riferimentoScena di sfondo · Genera immagine di riferimento. POST /api/v1/works/{work_id}/background-scenes/{reference_id}/image-generations. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}
Permesso richiesto: jobs:create
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * | |
variants | integer | — |
|
model | string | — |
|
prompt | string | — |
|
aspect_ratio | string | — | |
image_size | string | — |
|
quality | string | — |
|
background | string | — |
|
output_format | string | — |
|
reference_asset_ids | array | — |
|
slot | string | — |
|
variant_name | string | — |
|
current_asset_id | string | — |
|
{
"revision": 1
}HTTP 202 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"run_id": "11111111-1111-4111-8111-111111111111",
"state": "queued",
"output_asset_ids": [
"11111111-1111-4111-8111-111111111111"
],
"error_code": "example"
}
}Header risposta: X-Request-Id · ETag · Retry-After
/api/v1/works/{work_id}/scenes/{scene_id}/references/background-scenes/{reference_id}Scena di sfondo · Collega alla scenaScena di sfondo · Collega alla scena. PUT /api/v1/works/{work_id}/scenes/{scene_id}/references/background-scenes/{reference_id}. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/scenes/{scene_id}/references/background-scenes/{reference_id}Scena di sfondo · Scollega dalla scenaScena di sfondo · Scollega dalla scena. DELETE /api/v1/works/{work_id}/scenes/{scene_id}/references/background-scenes/{reference_id}. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/propsOggetto · Leggere (list)Oggetto · Leggere (list). GET /api/v1/works/{work_id}/props. GET
Permesso richiesto: projects:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"items": [
{
"id": "11111111-1111-4111-8111-111111111111",
"kind": "character",
"name": "example",
"description": "example",
"tags": [
"example"
],
"primary_asset_id": "11111111-1111-4111-8111-111111111111"
}
],
"next_cursor": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/propsOggetto · CreaOggetto · Crea. POST /api/v1/works/{work_id}/props. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
name | string | * |
|
description | string | — |
|
tags | array | — |
|
revision | integer | * |
{
"name": "example",
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/props/{reference_id}Oggetto · LeggereOggetto · Leggere. GET /api/v1/works/{work_id}/props/{reference_id}. GET
Permesso richiesto: projects:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"kind": "character",
"name": "example",
"description": "example",
"tags": [
"example"
],
"primary_asset_id": "11111111-1111-4111-8111-111111111111"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/props/{reference_id}Oggetto · ModificaOggetto · Modifica. PATCH /api/v1/works/{work_id}/props/{reference_id}. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
name | string | * |
|
description | string | — |
|
tags | array | — |
|
revision | integer | * |
{
"name": "example",
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/props/{reference_id}Oggetto · EliminaOggetto · Elimina. DELETE /api/v1/works/{work_id}/props/{reference_id}. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/props/{reference_id}/primary-imageOggetto · Imposta immagine di riferimentoOggetto · Imposta immagine di riferimento. PUT /api/v1/works/{work_id}/props/{reference_id}/primary-image. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
asset_id | string | * |
|
current_asset_id | oneOf | * | |
revision | integer | * |
{
"asset_id": "11111111-1111-4111-8111-111111111111",
"current_asset_id": "11111111-1111-4111-8111-111111111111",
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/props/{reference_id}/image-generationsOggetto · Genera immagine di riferimentoOggetto · Genera immagine di riferimento. POST /api/v1/works/{work_id}/props/{reference_id}/image-generations. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}
Permesso richiesto: jobs:create
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * | |
variants | integer | — |
|
model | string | — |
|
prompt | string | — |
|
aspect_ratio | string | — | |
image_size | string | — |
|
quality | string | — |
|
background | string | — |
|
output_format | string | — |
|
reference_asset_ids | array | — |
|
slot | string | — |
|
variant_name | string | — |
|
current_asset_id | string | — |
|
{
"revision": 1
}HTTP 202 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"run_id": "11111111-1111-4111-8111-111111111111",
"state": "queued",
"output_asset_ids": [
"11111111-1111-4111-8111-111111111111"
],
"error_code": "example"
}
}Header risposta: X-Request-Id · ETag · Retry-After
/api/v1/works/{work_id}/scenes/{scene_id}/references/props/{reference_id}Oggetto · Collega alla scenaOggetto · Collega alla scena. PUT /api/v1/works/{work_id}/scenes/{scene_id}/references/props/{reference_id}. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/scenes/{scene_id}/references/props/{reference_id}Oggetto · Scollega dalla scenaOggetto · Scollega dalla scena. DELETE /api/v1/works/{work_id}/scenes/{scene_id}/references/props/{reference_id}. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/gridsGriglia · Leggere (list)Griglia · Leggere (list). GET /api/v1/works/{work_id}/grids. GET
Permesso richiesto: projects:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"items": [
{
"id": "11111111-1111-4111-8111-111111111111",
"kind": "character",
"name": "example",
"description": "example",
"tags": [
"example"
],
"primary_asset_id": "11111111-1111-4111-8111-111111111111"
}
],
"next_cursor": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/gridsGriglia · CreaGriglia · Crea. POST /api/v1/works/{work_id}/grids. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
name | string | * |
|
description | string | — |
|
tags | array | — |
|
revision | integer | * |
{
"name": "example",
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/grids/{reference_id}Griglia · LeggereGriglia · Leggere. GET /api/v1/works/{work_id}/grids/{reference_id}. GET
Permesso richiesto: projects:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"kind": "character",
"name": "example",
"description": "example",
"tags": [
"example"
],
"primary_asset_id": "11111111-1111-4111-8111-111111111111"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/grids/{reference_id}Griglia · ModificaGriglia · Modifica. PATCH /api/v1/works/{work_id}/grids/{reference_id}. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
name | string | * |
|
description | string | — |
|
tags | array | — |
|
revision | integer | * |
{
"name": "example",
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/grids/{reference_id}Griglia · EliminaGriglia · Elimina. DELETE /api/v1/works/{work_id}/grids/{reference_id}. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/grids/{reference_id}/primary-imageGriglia · Imposta immagine di riferimentoGriglia · Imposta immagine di riferimento. PUT /api/v1/works/{work_id}/grids/{reference_id}/primary-image. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
asset_id | string | * |
|
current_asset_id | oneOf | * | |
revision | integer | * |
{
"asset_id": "11111111-1111-4111-8111-111111111111",
"current_asset_id": "11111111-1111-4111-8111-111111111111",
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/grids/{reference_id}/image-generationsGriglia · Genera immagine di riferimentoGriglia · Genera immagine di riferimento. POST /api/v1/works/{work_id}/grids/{reference_id}/image-generations. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}
Permesso richiesto: jobs:create
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * | |
variants | integer | — |
|
model | string | — |
|
prompt | string | — |
|
aspect_ratio | string | — | |
image_size | string | — |
|
quality | string | — |
|
background | string | — |
|
output_format | string | — |
|
reference_asset_ids | array | — |
|
slot | string | — |
|
variant_name | string | — |
|
current_asset_id | string | — |
|
{
"revision": 1
}HTTP 202 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"run_id": "11111111-1111-4111-8111-111111111111",
"state": "queued",
"output_asset_ids": [
"11111111-1111-4111-8111-111111111111"
],
"error_code": "example"
}
}Header risposta: X-Request-Id · ETag · Retry-After
/api/v1/works/{work_id}/scenes/{scene_id}/references/grids/{reference_id}Griglia · Collega alla scenaGriglia · Collega alla scena. PUT /api/v1/works/{work_id}/scenes/{scene_id}/references/grids/{reference_id}. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/scenes/{scene_id}/references/grids/{reference_id}Griglia · Scollega dalla scenaGriglia · Scollega dalla scena. DELETE /api/v1/works/{work_id}/scenes/{scene_id}/references/grids/{reference_id}. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
reference_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/episodesEpisodio · Leggere (list)Episodio · Leggere (list). GET /api/v1/works/{work_id}/episodes. GET
Permesso richiesto: projects:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"items": [
{
"id": "11111111-1111-4111-8111-111111111111",
"number": 1,
"title": "example",
"raw_content": "example",
"description": "example"
}
],
"next_cursor": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/episodesCrea episodioCrea episodio. POST /api/v1/works/{work_id}/episodes. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
title | string | * |
|
number | integer | — | |
raw_content | string | — |
|
description | string | — |
|
revision | integer | * |
{
"title": "example",
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/episodes/{episode_id}Episodio · LeggereEpisodio · Leggere. GET /api/v1/works/{work_id}/episodes/{episode_id}. GET
Permesso richiesto: projects:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
episode_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"number": 1,
"title": "example",
"raw_content": "example",
"description": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/episodes/{episode_id}Episodio · ModificaEpisodio · Modifica. PATCH /api/v1/works/{work_id}/episodes/{episode_id}. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
episode_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
title | string | * |
|
number | integer | — | |
raw_content | string | — |
|
description | string | — |
|
revision | integer | * |
{
"title": "example",
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/episodes/{episode_id}Episodio · EliminaEpisodio · Elimina. DELETE /api/v1/works/{work_id}/episodes/{episode_id}. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
episode_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/episodes/{episode_id}/scenesScena · Leggere (list)Scena · Leggere (list). GET /api/v1/works/{work_id}/episodes/{episode_id}/scenes. GET
Permesso richiesto: projects:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
episode_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"items": [
{
"id": "11111111-1111-4111-8111-111111111111",
"episode_id": "11111111-1111-4111-8111-111111111111",
"number": 1,
"heading": "example",
"description": "example",
"video_prompt": "example"
}
],
"next_cursor": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/episodes/{episode_id}/scenesCrea scenaCrea scena. POST /api/v1/works/{work_id}/episodes/{episode_id}/scenes. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
episode_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
heading | string | * |
|
number | integer | — | |
description | string | — |
|
video_prompt | oneOf | — | |
revision | integer | * |
{
"heading": "example",
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/episodes/{episode_id}/scenes/{scene_id}Scena · LeggereScena · Leggere. GET /api/v1/works/{work_id}/episodes/{episode_id}/scenes/{scene_id}. GET
Permesso richiesto: projects:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
episode_idpath | string | * |
|
scene_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"episode_id": "11111111-1111-4111-8111-111111111111",
"number": 1,
"heading": "example",
"description": "example",
"video_prompt": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/episodes/{episode_id}/scenes/{scene_id}Scena · ModificaScena · Modifica. PATCH /api/v1/works/{work_id}/episodes/{episode_id}/scenes/{scene_id}. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
episode_idpath | string | * |
|
scene_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
heading | string | * |
|
number | integer | — | |
description | string | — |
|
video_prompt | oneOf | — | |
revision | integer | * |
{
"heading": "example",
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/archive-importsImporta archivio ZIPImporta archivio 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}
Permesso richiesto: jobs:create
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * | |
asset_id | string | * |
|
{
"revision": 1,
"asset_id": "11111111-1111-4111-8111-111111111111"
}HTTP 202 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"state": "queued",
"progress": {
"phase": "extracting",
"current": 0,
"total": 0
},
"imported": 0,
"failed": 0,
"asset_ids": [
"11111111-1111-4111-8111-111111111111"
],
"error_code": "example"
}
}Header risposta: X-Request-Id · ETag · Retry-After
/api/v1/works/{work_id}/archive-imports/{import_id}Consulta importazione ZIPConsulta importazione 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
Permesso richiesto: jobs:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
import_idpath | string | * |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"state": "queued",
"progress": {
"phase": "extracting",
"current": 0,
"total": 0
},
"imported": 0,
"failed": 0,
"asset_ids": [
"11111111-1111-4111-8111-111111111111"
],
"error_code": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/uploadsPreparare un gruppo di filePreparare un gruppo di file. POST /api/v1/works/{work_id}/uploads. Idempotency-Key + files (1–20) → PUT upload_url → POST /api/v1/uploads/{upload_id}/complete
Permesso richiesto: assets:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
files | array | * |
|
files[].filename | string | * |
|
files[].mime_type | string | * |
|
files[].size_bytes | integer | * |
|
files[].sha256 | string | * |
{
"files": [
{
"filename": "example",
"mime_type": "text/plain",
"size_bytes": 1,
"sha256": "example"
}
]
}HTTP 201 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"items": [
{
"filename": "example",
"ticket": {
"id": "11111111-1111-4111-8111-111111111111",
"asset_id": "11111111-1111-4111-8111-111111111111",
"upload_url": "example",
"method": "PUT",
"content_type": "example",
"expires_at": "2026-09-20T00:00:00Z"
}
}
]
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/scenes/{scene_id}Scena · EliminaScena · Elimina. DELETE /api/v1/works/{work_id}/scenes/{scene_id}. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * |
{
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/episodes/{episode_id}/scene-orderRiordinare le sceneRiordinare le scene. PUT /api/v1/works/{work_id}/episodes/{episode_id}/scene-order. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
episode_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
scene_ids | array | * |
|
revision | integer | * |
{
"scene_ids": [
"11111111-1111-4111-8111-111111111111"
],
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/scriptSalva copioneSalva copione. PUT /api/v1/works/{work_id}/script. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
text | string | * |
|
revision | integer | * |
{
"text": "example",
"revision": 1
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/scenes/{scene_id}/video-generationsGenera video della scenaGenera video della scena. POST /api/v1/works/{work_id}/scenes/{scene_id}/video-generations. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}
Permesso richiesto: jobs:create
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * | |
anchor_asset_id | string | — |
|
reference_asset_ids | array | — |
|
model | string | — |
|
prompt | string | — |
|
duration_seconds | integer | * |
|
resolution | string | * |
|
aspect_ratio | string | * |
|
generate_audio | boolean | — |
{
"revision": 1,
"duration_seconds": 1,
"resolution": "example",
"aspect_ratio": "example"
}HTTP 202 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"run_id": "11111111-1111-4111-8111-111111111111",
"state": "queued",
"output_asset_ids": [
"11111111-1111-4111-8111-111111111111"
],
"error_code": "example"
}
}Header risposta: X-Request-Id · ETag · Retry-After
/api/v1/works/{work_id}/scenes/{scene_id}/selected-takeSeleziona ripresa finaleSeleziona ripresa finale. PUT /api/v1/works/{work_id}/scenes/{scene_id}/selected-take. revision + Idempotency-Key
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
scene_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * | |
take_id | oneOf | * |
{
"revision": 1,
"take_id": "11111111-1111-4111-8111-111111111111"
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{work_id}/exportsEsporta video finaleEsporta video finale. POST /api/v1/works/{work_id}/exports. revision + Idempotency-Key → GET /api/v1/jobs/{job_id}
Permesso richiesto: jobs:create
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
work_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * | |
allow_partial | boolean | — |
|
selections | array | — |
|
selections[].scene_id | string | * |
|
selections[].asset_id | string | * |
|
{
"revision": 1
}HTTP 202 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"run_id": "11111111-1111-4111-8111-111111111111",
"state": "queued",
"output_asset_ids": [
"11111111-1111-4111-8111-111111111111"
],
"error_code": "example"
}
}Header risposta: X-Request-Id · ETag · Retry-After
/api/v1/works/{project_id}/plansVedi il piano e i crediti previstiControlla che cosa verrà prodotto e quanti crediti servono, senza avviare la produzione.
Permesso richiesto: runs:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
template_id | string | * |
|
template_version | number | * |
|
project_revision | integer | * | |
episode_ids | array | * | Gli ID degli episodi devono essere univoci.
|
mode | string | * |
|
output_profile | string | * |
|
{
"template_id": "episode-production",
"template_version": 1,
"project_revision": 1,
"episode_ids": [
"11111111-1111-4111-8111-111111111111"
],
"mode": "reviewed",
"output_profile": "sandbox-episode-v1"
}HTTP 201 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"project_revision": 1,
"template_id": "example",
"template_version": 1,
"executable": false,
"expires_at": "2026-09-20T00:00:00Z",
"budget_ceiling": {
"currency": "example",
"micro_units": "example"
},
"steps": [
{
"stage_key": "example",
"target_ids": [
"11111111-1111-4111-8111-111111111111"
],
"depends_on": [
"example"
],
"requires_review": false,
"max_cost": {
"currency": "example",
"micro_units": "example"
}
}
],
"unsupported_reasons": [
"example"
]
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{project_id}/runsAvvia la produzioneAvvia la produzione da un plan_id esistente e restituisce l’ID dell’esecuzione. Segui stato e risultati con getRun.
Permesso richiesto: runs:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
plan_id | string | * |
|
client_reference | string | — |
|
{
"plan_id": "11111111-1111-4111-8111-111111111111"
}HTTP 202 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"plan_id": "11111111-1111-4111-8111-111111111111",
"version": 1,
"state": "queued",
"client_reference": "example",
"created_at": "2026-09-20T00:00:00Z",
"completed_at": "2026-09-20T00:00:00Z",
"budget_remaining": {
"currency": "example",
"micro_units": "example"
},
"committed_cost": {
"currency": "example",
"micro_units": "example"
},
"unresolved_cost": {
"currency": "example",
"micro_units": "example"
},
"output_asset_ids": [
"11111111-1111-4111-8111-111111111111"
]
}
}Header risposta: X-Request-Id · ETag · Retry-After
/api/v1/works/{project_id}/workflow/commandsModifica la produzione StudioModifica copione, scene, design o take selezionati. Scegli operation e invia input con la revision aggiornata.
Permesso richiesto: projects:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * | operation = design.asset.set |
operation | string | * | operation = design.asset.set
|
input | object | * | operation = design.asset.set |
input.id | string | * | operation = design.asset.set
|
input.asset_id | string | * | operation = design.asset.set
|
input.kind | string | * | operation = design.asset.set
|
input.current_asset_id | oneOf | * | operation = design.asset.set |
input.name | string | — | operation = design.asset.set
|
revision | integer | * | operation = asset.delete |
operation | string | * | operation = asset.delete
|
input | object | * | operation = asset.delete |
input.id | string | * | operation = asset.delete
|
revision | integer | * | operation = trash.restore |
operation | string | * | operation = trash.restore
|
input | object | * | operation = trash.restore |
input.id | string | * | operation = trash.restore
|
input.entity_type | string | * | operation = trash.restore
|
revision | integer | * | operation = scene.duplicate |
operation | string | * | operation = scene.duplicate
|
input | object | * | operation = scene.duplicate |
input.id | string | * | operation = scene.duplicate
|
revision | integer | * | operation = project.settings.update |
operation | string | * | operation = project.settings.update
|
input | object | * | operation = project.settings.update |
input.title | string | * | operation = project.settings.update
|
input.tags | array | * | operation = project.settings.update
|
input.cover | string | * | operation = project.settings.update
|
input.aspect | string | * | operation = project.settings.update
|
input.resolution | string | * | operation = project.settings.update
|
input.style | string | * | operation = project.settings.update
|
input.style_prompt | string | * | operation = project.settings.update
|
revision | integer | * | operation = project.rename |
operation | string | * | operation = project.rename
|
input | object | * | operation = project.rename |
input.title | string | * | operation = project.rename
|
revision | integer | * | operation = project.state.set |
operation | string | * | operation = project.state.set
|
input | object | * | operation = project.state.set |
input.state | string | * | operation = project.state.set
|
revision | integer | * | operation = script.update |
operation | string | * | operation = script.update
|
input | object | * | operation = script.update |
input.text | string | * | operation = script.update
|
revision | integer | * | operation = script.bible.update |
operation | string | * | operation = script.bible.update
|
input | object | * | operation = script.bible.update |
input.logline | string | * | operation = script.bible.update
|
input.synopsis | string | * | operation = script.bible.update
|
revision | integer | * | operation = episode.save |
operation | string | * | operation = episode.save
|
input | object | * | operation = episode.save |
input.id | string | — | operation = episode.save
|
input.title | string | * | operation = episode.save
|
input.number | integer | — | operation = episode.save |
input.raw_content | string | — | operation = episode.save
|
input.description | string | — | operation = episode.save
|
revision | integer | * | operation = episode.delete |
operation | string | * | operation = episode.delete
|
input | object | * | operation = episode.delete |
input.id | string | * | operation = episode.delete
|
revision | integer | * | operation = scene.save |
operation | string | * | operation = scene.save
|
input | object | * | operation = scene.save |
input.id | string | — | operation = scene.save
|
input.episode_id | string | * | operation = scene.save
|
input.heading | string | * | operation = scene.save
|
input.number | integer | — | operation = scene.save |
input.description | string | — | operation = scene.save
|
input.video_prompt | oneOf | — | operation = scene.save |
revision | integer | * | operation = scene.delete |
operation | string | * | operation = scene.delete
|
input | object | * | operation = scene.delete |
input.id | string | * | operation = scene.delete
|
revision | integer | * | operation = scene.reorder |
operation | string | * | operation = scene.reorder
|
input | object | * | operation = scene.reorder |
input.episode_id | string | * | operation = scene.reorder
|
input.scene_ids | array | * | operation = scene.reorder
|
revision | integer | * | operation = design.save |
operation | string | * | operation = design.save
|
input | object | * | operation = design.save |
input.id | string | — | operation = design.save
|
input.kind | string | * | operation = design.save
|
input.name | string | * | operation = design.save
|
input.description | string | — | operation = design.save
|
input.tags | array | — | operation = design.save
|
revision | integer | * | operation = design.delete |
operation | string | * | operation = design.delete
|
input | object | * | operation = design.delete |
input.id | string | * | operation = design.delete
|
revision | integer | * | operation = design.voice.set |
operation | string | * | operation = design.voice.set
|
input | object | * | operation = design.voice.set |
input.id | string | * | operation = design.voice.set
|
input.asset_id | oneOf | * | operation = design.voice.set |
revision | integer | * | operation = design.asset.detach |
operation | string | * | operation = design.asset.detach
|
input | object | * | operation = design.asset.detach |
input.id | string | * | operation = design.asset.detach
|
input.asset_id | string | * | operation = design.asset.detach
|
input.kind | string | * | operation = design.asset.detach
|
revision | integer | * | operation = design.asset.restore |
operation | string | * | operation = design.asset.restore
|
input | object | * | operation = design.asset.restore |
input.id | string | * | operation = design.asset.restore
|
input.current_asset_id | string | * | operation = design.asset.restore
|
input.restore_asset_id | string | * | operation = design.asset.restore
|
input.kind | string | * | operation = design.asset.restore
|
revision | integer | * | operation = design.variant.rename |
operation | string | * | operation = design.variant.rename
|
input | object | * | operation = design.variant.rename |
input.id | string | * | operation = design.variant.rename
|
input.asset_id | string | * | operation = design.variant.rename
|
input.name | string | * | operation = design.variant.rename
|
revision | integer | * | operation = scene.design.attach |
operation | string | * | operation = scene.design.attach
|
input | object | * | operation = scene.design.attach |
input.scene_id | string | * | operation = scene.design.attach
|
input.design_id | string | * | operation = scene.design.attach
|
revision | integer | * | operation = scene.design.detach |
operation | string | * | operation = scene.design.detach
|
input | object | * | operation = scene.design.detach |
input.scene_id | string | * | operation = scene.design.detach
|
input.design_id | string | * | operation = scene.design.detach
|
revision | integer | * | operation = cut.take.select |
operation | string | * | operation = cut.take.select
|
input | object | * | operation = cut.take.select |
input.scene_id | string | * | operation = cut.take.select
|
input.asset_id | oneOf | * | operation = cut.take.select |
revision | integer | * | operation = take.delete |
operation | string | * | operation = take.delete
|
input | object | * | operation = take.delete |
input.scene_id | string | * | operation = take.delete
|
input.asset_id | string | * | operation = take.delete
|
{
"revision": 1,
"operation": "design.asset.set",
"input": {
"id": "11111111-1111-4111-8111-111111111111",
"asset_id": "11111111-1111-4111-8111-111111111111",
"kind": "primary",
"current_asset_id": "11111111-1111-4111-8111-111111111111"
}
}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"work_id": "11111111-1111-4111-8111-111111111111",
"changed_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"studio_url": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/works/{project_id}/cut/exportsEsporta il montaggio StudioUnisce i video nell’ordine di episodi e scene. selections sceglie i take; allow_partial consente scene mancanti. Segui l’esportazione con getJob.
Permesso richiesto: jobs:create
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * | |
allow_partial | boolean | — |
|
selections | array | — |
|
selections[].scene_id | string | * |
|
selections[].asset_id | string | * |
|
{
"revision": 1
}HTTP 202 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"run_id": "11111111-1111-4111-8111-111111111111",
"state": "queued",
"output_asset_ids": [
"11111111-1111-4111-8111-111111111111"
],
"error_code": "example"
}
}Header risposta: X-Request-Id · ETag · Retry-After
/api/v1/works/{project_id}/storyboard/videosGenera il video della scenaGenera un video per scene_id con modello, durata e risoluzione scelti. anchor_asset_id può indicare l’immagine iniziale. Segui il job con getJob.
Permesso richiesto: jobs:create
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * | |
scene_id | string | * |
|
anchor_asset_id | string | — |
|
reference_asset_ids | array | — |
|
model | string | — |
|
prompt | string | — |
|
duration_seconds | integer | * |
|
resolution | string | * |
|
aspect_ratio | string | * |
|
generate_audio | boolean | — |
{
"revision": 1,
"scene_id": "11111111-1111-4111-8111-111111111111",
"duration_seconds": 1,
"resolution": "example",
"aspect_ratio": "example"
}HTTP 202 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"run_id": "11111111-1111-4111-8111-111111111111",
"state": "queued",
"output_asset_ids": [
"11111111-1111-4111-8111-111111111111"
],
"error_code": "example"
}
}Header risposta: X-Request-Id · ETag · Retry-After
/api/v1/works/{project_id}/designs/imagesGenera un’immagine di personaggio, ambiente, oggetto di scena o grigliaGenera da una a quattro immagini per design_id con prompt e riferimenti facoltativi. Scegli lo slot principale o variante e segui getJob.
Permesso richiesto: jobs:create
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
project_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
revision | integer | * | |
design_id | string | * |
|
variants | integer | — |
|
model | string | — |
|
prompt | string | — |
|
aspect_ratio | string | — | |
image_size | string | — |
|
quality | string | — |
|
background | string | — |
|
output_format | string | — |
|
reference_asset_ids | array | — |
|
slot | string | — |
|
variant_name | string | — |
|
current_asset_id | string | — |
|
{
"revision": 1,
"design_id": "11111111-1111-4111-8111-111111111111"
}HTTP 202 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"run_id": "11111111-1111-4111-8111-111111111111",
"state": "queued",
"output_asset_ids": [
"11111111-1111-4111-8111-111111111111"
],
"error_code": "example"
}
}Header risposta: X-Request-Id · ETag · Retry-After
/api/v1/uploadsOttieni un indirizzo per caricare il fileRegistra i metadati e restituisce upload_url. Invia il file con PUT, poi conferma il completamento del caricamento. Formati: TXT, Markdown, DOCX, PNG, JPEG, WebP, AVIF, WAV e ZIP. I limiti sono condivisi con Studio: consulta upload_limits in GET /capabilities. Copioni: massimo 5.000.000 di caratteri. Nessun separatore di percorso nel nome. WAV in PCM o IEEE float.
Permesso richiesto: assets:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
project_id | string | * |
|
filename | string | * |
|
mime_type | string | * |
|
size_bytes | integer | * |
|
sha256 | string | * |
{
"project_id": "11111111-1111-4111-8111-111111111111",
"filename": "example",
"mime_type": "text/plain",
"size_bytes": 1,
"sha256": "example"
}HTTP 201 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"asset_id": "11111111-1111-4111-8111-111111111111",
"upload_url": "example",
"method": "PUT",
"content_type": "example",
"expires_at": "2026-09-20T00:00:00Z"
}
}Header risposta: X-Request-Id · ETag
/api/v1/uploads/{upload_id}/completeComunica che il file è stato caricatoVerifica il file caricato rispetto ai metadati dichiarati e restituisce l’asset utilizzabile nella produzione.
Permesso richiesto: assets:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
upload_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
{}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"state": "pending",
"mime_type": "example",
"size_bytes": 0,
"download_url": "example",
"expires_at": "2026-09-20T00:00:00Z"
}
}Header risposta: X-Request-Id · ETag
/api/v1/uploads/{upload_id}/contentCarica il contenuto del fileInvia i byte del file come application/octet-stream per un caricamento già preparato. Poi chiama completeUpload.
Permesso richiesto: assets:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
upload_idpath | string | * |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"uploaded": true
}
}Header risposta: X-Request-Id · ETag
/api/v1/assets/{asset_id}Vedi il risultato e il link per scaricarloRestituisce i metadati e, se disponibile, un download_url firmato. Scarica il file prima della scadenza.
Permesso richiesto: assets:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
asset_idpath | string | * |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"state": "pending",
"mime_type": "example",
"size_bytes": 0,
"download_url": "example",
"expires_at": "2026-09-20T00:00:00Z"
}
}Header risposta: X-Request-Id · ETag
/api/v1/downloads/{asset_id}Scarica il file finitoScarica il file tramite il download_url firmato completo restituito da getAsset. Il link scade dopo cinque minuti.
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
asset_idpath | string | * |
|
expiresquery | string | * | |
signaturequery | string | * |
HTTP 200 Byte del file
application/octet-stream · Byte del file
/api/v1/runsVedi l’elenco delle produzioniElenca le esecuzioni filtrando per progetto, stato, client_reference e periodo.
Permesso richiesto: runs:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
cursorquery | string | — |
|
limitquery | integer | — |
|
project_idquery | string | — |
|
statequery | string | — |
|
client_referencequery | string | — |
|
fromquery | string | — |
|
toquery | string | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"items": [
{
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"plan_id": "11111111-1111-4111-8111-111111111111",
"version": 1,
"state": "queued",
"client_reference": "example",
"created_at": "2026-09-20T00:00:00Z",
"completed_at": "2026-09-20T00:00:00Z",
"budget_remaining": {
"currency": "example",
"micro_units": "example"
},
"committed_cost": {
"currency": "example",
"micro_units": "example"
},
"unresolved_cost": {
"currency": "example",
"micro_units": "example"
},
"output_asset_ids": [
"11111111-1111-4111-8111-111111111111"
]
}
],
"next_cursor": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/runs/{run_id}Vedi a che punto è la produzioneRestituisce stato, versione e risultati disponibili di un’esecuzione. Usa la versione per inviare una decisione.
Permesso richiesto: runs:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
run_idpath | string | * |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"plan_id": "11111111-1111-4111-8111-111111111111",
"version": 1,
"state": "queued",
"client_reference": "example",
"created_at": "2026-09-20T00:00:00Z",
"completed_at": "2026-09-20T00:00:00Z",
"budget_remaining": {
"currency": "example",
"micro_units": "example"
},
"committed_cost": {
"currency": "example",
"micro_units": "example"
},
"unresolved_cost": {
"currency": "example",
"micro_units": "example"
},
"output_asset_ids": [
"11111111-1111-4111-8111-111111111111"
]
}
}Header risposta: X-Request-Id · ETag
/api/v1/runs/{run_id}/stepsVedi l’avanzamento passo per passoElenca le fasi di un’esecuzione per vedere quali sono in attesa, in corso o completate.
Permesso richiesto: runs:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
run_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"items": [
{
"id": "11111111-1111-4111-8111-111111111111",
"run_id": "11111111-1111-4111-8111-111111111111",
"stage_key": "example",
"target_id": "11111111-1111-4111-8111-111111111111",
"job_id": "11111111-1111-4111-8111-111111111111",
"state": "blocked",
"output_asset_ids": [
"11111111-1111-4111-8111-111111111111"
],
"error_code": "example",
"ordinal": 1
}
],
"next_cursor": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/runs/{run_id}/eventsVedi cosa è successo durante la produzioneElenca eventi come cambi di stato e richieste di revisione per ricostruire il processo di produzione.
Permesso richiesto: runs:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
run_idpath | string | * |
|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"items": [
{
"event_id": "11111111-1111-4111-8111-111111111111",
"run_id": "11111111-1111-4111-8111-111111111111",
"sequence": 1,
"type": "run.state_changed",
"state": "queued",
"step_id": "11111111-1111-4111-8111-111111111111",
"created_at": "2026-09-20T00:00:00Z"
}
],
"next_cursor": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/runs/{run_id}/decisionsApprova se continuare o ferma tuttoInvia una decisione: approve, stop, resume, cancel_remaining o retry_result. Indica la versione più recente in expected_version. retry_result riprende solo la verifica del video salvato. Invia expected_version aggiornato e step_id. Mantiene il lavoro e i crediti prenotati senza rigenerare. Disponibile entro 24 ore dalla richiesta. Altri risultati o consumi incerti richiedono una verifica operatore.
Permesso richiesto: runs:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
run_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
action | string | * | retry_result resumes result polling for an accepted Studio video on the original reservation; requires step_id and expected_version. It never resubmits generation. Unconfirmed usage without a saved video task requires operator review.
|
expected_version | integer | * | |
step_id | string | — |
|
selected_asset_ids | array | — |
|
{
"action": "approve",
"expected_version": 1
}HTTP 202 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"plan_id": "11111111-1111-4111-8111-111111111111",
"version": 1,
"state": "queued",
"client_reference": "example",
"created_at": "2026-09-20T00:00:00Z",
"completed_at": "2026-09-20T00:00:00Z",
"budget_remaining": {
"currency": "example",
"micro_units": "example"
},
"committed_cost": {
"currency": "example",
"micro_units": "example"
},
"unresolved_cost": {
"currency": "example",
"micro_units": "example"
},
"output_asset_ids": [
"11111111-1111-4111-8111-111111111111"
]
}
}Header risposta: X-Request-Id · ETag · Retry-After
/api/v1/jobs/{job_id}Vedi stato e risultato di un lavoroRestituisce lo stato del job e gli ID degli asset prodotti. Al termine usa getAsset per recuperare i file.
Permesso richiesto: jobs:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
job_idpath | string | * |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"run_id": "11111111-1111-4111-8111-111111111111",
"state": "queued",
"output_asset_ids": [
"11111111-1111-4111-8111-111111111111"
],
"error_code": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/jobs/{job_id}/buildLeggere avanzamento e fontiRestituisce fase, messaggi di avanzamento e documenti sorgente della costruzione del copione, incluso il testo preparato per l’elaborazione.
Permesso richiesto: jobs:read, assets:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
job_idpath | string | * |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"state": "example",
"stage": "example",
"messages": [
{
"id": "11111111-1111-4111-8111-111111111111",
"role": "assistant",
"stage": "example",
"content": "example",
"status": "streaming",
"seq": 1,
"created_at": "example",
"updated_at": "example"
}
],
"sources": [
{
"id": "11111111-1111-4111-8111-111111111111",
"name": "example",
"filterMode": "prompt_index",
"sourceText": "example",
"llmText": "example",
"originalChars": 1,
"preparedChars": 1
}
]
}
}Header risposta: X-Request-Id · ETag
/api/v1/jobsEsegui subito una sola funzioneEsegui una sola funzione invece dell’intera produzione. analyze_script legge il copione e crea le inquadrature, generate_image crea le immagini di personaggi, ambienti, oggetti e inquadrature, generate_video crea il video di un’inquadratura di cui hai scelto l’immagine e assemble_video unisce un episodio in cui tutte le inquadrature hanno un video. Invia sempre l’ultima revision del progetto. Le richieste Live bloccano i crediti in anticipo.
Permesso richiesto: jobs:create
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
project_id | string | * |
|
project_revision | integer | * | |
target_id | string | * |
|
type | string | * |
|
profile_id | string | * |
|
client_reference | string | — |
|
{
"project_id": "11111111-1111-4111-8111-111111111111",
"project_revision": 1,
"target_id": "11111111-1111-4111-8111-111111111111",
"type": "analyze_script",
"profile_id": "example"
}HTTP 202 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"work_id": "11111111-1111-4111-8111-111111111111",
"run_id": "11111111-1111-4111-8111-111111111111",
"state": "queued",
"output_asset_ids": [
"11111111-1111-4111-8111-111111111111"
],
"error_code": "example"
}
}Header risposta: X-Request-Id · ETag · Retry-After
/api/v1/requestsVedi le richieste che hai inviatoElenca le richieste API con stato HTTP e durata. Filtra per progetto e periodo per esaminare le chiamate.
Permesso richiesto: requests:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
cursorquery | string | — |
|
limitquery | integer | — |
|
fromquery | string | — |
|
toquery | string | — |
|
project_idquery | string | — |
|
run_idquery | string | — |
|
job_idquery | string | — |
|
key_idquery | string | — |
|
status_codequery | integer | — |
|
methodquery | string | — |
|
route_templatequery | string | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"items": [
{
"request_id": "11111111-1111-4111-8111-111111111111",
"created_at": "2026-09-20T00:00:00Z",
"method": "GET",
"route_template": "example",
"status_code": 100,
"duration_ms": 0,
"actor_kind": "api_key",
"work_id": "11111111-1111-4111-8111-111111111111",
"run_id": "11111111-1111-4111-8111-111111111111",
"job_id": "11111111-1111-4111-8111-111111111111",
"replayed": false,
"error_code": "example"
}
],
"next_cursor": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/requests/{request_id}Vedi una singola richiesta inviataCerca una chiamata tramite request_id con stato HTTP, durata ed esecuzione o job associato.
Permesso richiesto: requests:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
request_idpath | string | * |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"request_id": "11111111-1111-4111-8111-111111111111",
"created_at": "2026-09-20T00:00:00Z",
"method": "GET",
"route_template": "example",
"status_code": 100,
"duration_ms": 0,
"actor_kind": "api_key",
"work_id": "11111111-1111-4111-8111-111111111111",
"run_id": "11111111-1111-4111-8111-111111111111",
"job_id": "11111111-1111-4111-8111-111111111111",
"replayed": false,
"error_code": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/usageVedi quanti crediti hai usatoRestituisce i totali di utilizzo nel periodo richiesto, inclusi gli importi riservati e contabilizzati.
Permesso richiesto: usage:read
Nessun parametro
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"period_start": "2026-09-20T00:00:00Z",
"period_end": "2026-09-20T00:00:00Z",
"as_of": "2026-09-20T00:00:00Z",
"http_requests": 0,
"runs": 0,
"jobs": 0,
"reserved": {
"currency": "example",
"micro_units": "example"
},
"committed": {
"currency": "example",
"micro_units": "example"
},
"unresolved": {
"currency": "example",
"micro_units": "example"
},
"remaining": {
"currency": "example",
"micro_units": "example"
},
"amount_basis": "partner_limit",
"billing_mode": "pilot"
}
}Header risposta: X-Request-Id · ETag
/api/v1/webhook-endpointsVedi i tuoi indirizzi WebhookElenca URL Webhook registrati, eventi sottoscritti e stato di attivazione.
Permesso richiesto: webhooks:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"items": [
{
"id": "11111111-1111-4111-8111-111111111111",
"url": "example",
"work_ids": [
"11111111-1111-4111-8111-111111111111"
],
"events": [
"run.state_changed"
],
"enabled": false,
"verified": false,
"secret_version": 1,
"created_at": "2026-09-20T00:00:00Z"
}
],
"next_cursor": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/webhook-endpointsAggiungi un indirizzo WebhookRegistra un URL Webhook per ricevere gli eventi di produzione selezionati per i progetti indicati.
Permesso richiesto: webhooks:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
url | string | * |
|
project_ids | array | * |
|
events | array | * |
|
{
"url": "example",
"project_ids": [
"11111111-1111-4111-8111-111111111111"
],
"events": [
"run.state_changed"
]
}HTTP 201 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"endpoint": {
"id": "11111111-1111-4111-8111-111111111111",
"url": "example",
"work_ids": [
"11111111-1111-4111-8111-111111111111"
],
"events": [
"run.state_changed"
],
"enabled": false,
"verified": false,
"secret_version": 1,
"created_at": "2026-09-20T00:00:00Z"
}
}
}Header risposta: X-Request-Id · ETag
/api/v1/webhook-endpoints/{endpoint_id}Modifica un indirizzo WebhookAttiva o disattiva un Webhook oppure modifica gli eventi ricevuti.
Permesso richiesto: webhooks:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
endpoint_idpath | string | * |
|
If-Matchheader | string | * | Usa il più recente ETag, comprese le virgolette. |
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
enabled | boolean | — | |
events | array | — |
|
{}HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"url": "example",
"work_ids": [
"11111111-1111-4111-8111-111111111111"
],
"events": [
"run.state_changed"
],
"enabled": false,
"verified": false,
"secret_version": 1,
"created_at": "2026-09-20T00:00:00Z"
}
}Header risposta: X-Request-Id · ETag
/api/v1/webhook-deliveriesVedi i Webhook già inviatiElenca i tentativi di consegna Webhook e il loro stato per verificare l’invio delle notifiche.
Permesso richiesto: webhooks:read
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
cursorquery | string | — |
|
limitquery | integer | — |
|
HTTP 200 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"items": [
{
"id": "11111111-1111-4111-8111-111111111111",
"endpoint_id": "11111111-1111-4111-8111-111111111111",
"event_id": "11111111-1111-4111-8111-111111111111",
"state": "pending",
"attempt": 0,
"http_status": 1,
"next_attempt_at": "2026-09-20T00:00:00Z",
"created_at": "2026-09-20T00:00:00Z"
}
],
"next_cursor": "example"
}
}Header risposta: X-Request-Id · ETag
/api/v1/webhook-deliveries/{delivery_id}/redeliverInvia di nuovo un WebhookRichiede un nuovo invio della notifica Webhook indicata da delivery_id.
Permesso richiesto: webhooks:write
| Nome | Type | Obbligatorio | Descrizione |
|---|---|---|---|
delivery_idpath | string | * |
|
Idempotency-Keyheader | string | * | Riprova con la stessa Idempotency-Key e lo stesso corpo.
|
{}HTTP 202 Successo
{
"request_id": "11111111-1111-4111-8111-111111111111",
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"endpoint_id": "11111111-1111-4111-8111-111111111111",
"event_id": "11111111-1111-4111-8111-111111111111",
"state": "pending",
"attempt": 0,
"http_status": 1,
"next_attempt_at": "2026-09-20T00:00:00Z",
"created_at": "2026-09-20T00:00:00Z"
}
}Header risposta: X-Request-Id · ETag · Retry-After
/api/v1/openapi.jsonScarica la specifica dell’APIScarica la specifica OpenAPI con percorsi, campi delle richieste e schemi delle risposte.
Nessun parametro
HTTP 200 Documento OpenAPI
{}error.code 71Una risposta 2xx significa che la richiesta è passata. 201 indica che qualcosa è stato creato, 202 che la richiesta è stata accettata ed è ancora in lavorazione: il risultato non c’è ancora, controlla lo stato del job per sapere quando è pronto. Le risposte riuscite contengono request_id e data. Fanno eccezione solo il download dei file e il documento di specifica. In caso di errore tutti gli endpoint restituiscono lo stesso oggetto error. Usa error.code per le condizioni nel codice; message spiega a una persona la causa e cosa fare. È retryable a dire se puoi rimandare la richiesta. Riprova automaticamente solo quando è true e aspetta il tempo indicato da retry_after_seconds o dall’header Retry-After. Quando ripeti una POST, invia la stessa Idempotency-Key e lo stesso corpo per non pagare o creare due volte. Se ricevi un error.code che non conosci, gestiscilo in base allo stato HTTP e a retryable. Indica request_id quando contatti il supporto. Gli errori che si verificano dopo l’accettazione di un job compaiono nello stato e nel risultato del job, non in questa risposta.
{
"request_id": "11111111-1111-4111-8111-111111111111",
"error": {
"code": "INVALID_REQUEST",
"message": "Invalid input. Check the required fields, types and values.",
"retryable": false
}
}| error.code | HTTP | Descrizione |
|---|---|---|
INVALID_REFERENCE | 422 | A selected reference is unavailable or does not belong to this project. Select a ready image from this project. |
MODEL_UNAVAILABLE | 422 | The selected model is unavailable. Refresh the model list and select another model. |
MODEL_POLICY_REQUIRED | 503 | No default model policy is configured. Specify a model or ask the administrator to configure the task policy. |
BUILD_REPLAY_CONFLICT | 409 | The build inputs changed. Review the saved build before continuing. |
INVALID_REQUEST | 400,422 | Invalid input. Check the required fields, types and values. |
INVALID_API_KEY | 401 | Invalid credentials or download signature. Check the API key or obtain a new download URL. |
INSUFFICIENT_SCOPE | 403 | Permission denied. Check the key scopes and project access. |
PARTNER_BLOCKED | 403 | Account blocked. Contact support. |
PARTNER_PAUSED | 403 | Account paused. Ask the administrator to resume access. |
RESOURCE_NOT_FOUND | 404 | Resource unavailable. Check its ID and access permissions. |
METHOD_NOT_ALLOWED | 405 | Unsupported HTTP method. Use the documented method. |
REQUEST_TIMEOUT | 408 | Request body timed out. Check the connection and upload size. |
IDEMPOTENCY_KEY_REQUIRED | 400 | Provide a valid Idempotency-Key header. |
IDEMPOTENCY_CONFLICT | 409 | This Idempotency-Key belongs to a different request. Reuse it only with the original request. |
IDEMPOTENCY_KEY_EXPIRED | 409 | Idempotency record expired. Check the original result before starting a new operation. |
PRECONDITION_FAILED | 412 | Provide the latest quoted ETag in If-Match. |
REVISION_CONFLICT | 409 | Resource changed. Read the latest revision before updating. |
RESOURCE_CONFLICT | 409 | Resource conflicts with existing data. Review the current resource. |
INVALID_TRANSITION | 409 | Action is unavailable in the current state. Read the latest state. |
RUN_IN_PROGRESS | 409 | A run is in progress. Check its status before starting another. |
JOB_RUNNING | 409 | A job is running. Wait for completion before editing. |
PLAN_EXPIRED | 409 | Plan expired. Create a new plan and review its quote. |
INSUFFICIENT_CREDITS | 402 | Insufficient credits. Check the balance and required credits. |
BUDGET_EXCEEDED | 409,429 | Budget limit exceeded. Review usage and the configured budget. |
RATE_LIMITED | 429 | Request rate exceeded. Follow retryable and Retry-After before retrying. |
CAPACITY_EXCEEDED | 429 | Capacity limit exceeded. Reduce the workload or wait for active work to finish. |
PAYLOAD_TOO_LARGE | 413 | Request body too large. Reduce it to the documented limit. |
UNSUPPORTED_MEDIA_TYPE | 415 | Unsupported content type or encoding. Use the documented Content-Type without Content-Encoding. |
UPLOAD_TOO_LARGE | 422 | Uploaded content exceeds its processing limit. Reduce the file size. |
UPLOAD_NOT_VERIFIED | 422 | Upload is incomplete, expired or invalid. Check the upload and verification steps. |
ASSET_KIND_MISMATCH | 422 | Asset type does not match the operation. Select a compatible asset. |
SELECTED_IMAGE_REQUIRED | 422 | Select a valid image before generating video. |
SELECTED_VIDEO_REQUIRED | 422 | Select valid videos for the requested shots before assembly. |
REFERENCE_LIMIT_EXCEEDED | 422 | Too many reference assets. Reduce them to the model limit. |
REFERENCE_IMAGE_REQUIRED | 422 | This model requires a reference image. Add an image or select a text-to-image model. |
INVALID_GENERATION_OPTIONS | 422 | Generation options are invalid. Check the model capabilities. |
PROMPT_REQUIRED | 422 | Provide a generation prompt. |
SCRIPT_TEXT_REQUIRED | 422 | Provide script text before starting this operation. |
SCENES_REQUIRED | 422 | Create scenes before starting this operation. |
VARIANT_NAME_REQUIRED | 422 | Provide a variant name. |
EPISODE_ALREADY_STRUCTURED | 409 | Episode already has shots. Review its existing structure. |
ONE_SCRIPT_PER_PROJECT | 409 | This project supports one script. Use the existing script. |
MULTIPLE_SCRIPTS_REQUIRE_REVIEW | 409 | Multiple scripts need review before continuing. |
NATIVE_CONTENT_ALREADY_EXISTS | 409 | Studio content already exists. Review it before continuing. |
LIVE_PROJECT_REQUIRED | 409 | This operation requires a live project. |
STUDIO_MIGRATION_REQUIRED | 409 | Project needs Studio migration. Contact support. |
UNSUPPORTED_CAPABILITY | 422 | Unsupported operation or profile. Check GET /capabilities. |
CAPABILITY_UNAVAILABLE | 503 | Capability currently unavailable. Check GET /capabilities. |
API_NOT_ACCEPTING | 503 | New requests are paused. Check service availability. |
DEPENDENCY_UNAVAILABLE | 503 | A required service is unavailable. Follow the retry guidance or contact support. |
PRICING_UNAVAILABLE | 503 | Pricing unavailable. A valid quote is required to proceed. |
MEDIA_TOOLS_UNAVAILABLE | 503 | Media processing unavailable. Contact support. |
STORAGE_READ_FAILED | 503 | Could not read the stored asset. Contact support with request_id. |
STORAGE_WRITE_FAILED | 503 | Could not save the asset. Check the result before retrying. |
INTERNAL_ERROR | 500 | Internal error. Follow retry guidance; include request_id when contacting support. |
RESPONSE_CONTRACT_VIOLATION | 500 | Server response validation failed. Contact support with request_id. |
INVALID_EXECUTION_CONTEXT | 500 | Execution context is invalid. Contact support. |
RETRY_TRANSACTION | 503 | Transaction could not complete. Follow the response retry guidance. |
CLAIM_LOST | 409 | Execution ownership changed. Check the current job state. |
PROVIDER_TIMEOUT | 504 | Generation service timed out. Check the existing job before submitting again. |
PROVIDER_TERMINAL_FAILURE | 422 | Generation failed. Review the job result and inputs. |
PROVIDER_RESULT_UNAVAILABLE | 502 | Generation result unavailable. Check the existing job and recovery options. |
INVALID_RESULT | 422,503 | Result failed validation. Review the job or contact support. |
RESULT_TOO_LARGE | 422 | Result exceeds the processing limit. Reduce the requested output. |
EXPORT_TOO_LARGE | 422 | Export exceeds the size limit. Reduce the export selection. |
RECOVERY_BACKOFF | 409 | Existing result recovery is delayed. Check again later; do not resubmit generation. |
VIDEO_RECOVERY_REVIEW_REQUIRED | 503 | The original video task needs scheduled recovery or operator review. Do not resubmit generation. |
RESULT_RECOVERY_REQUIRED | 409,503 | Existing result needs recovery. Check the run recovery options before resubmitting. |
RESULT_NOT_RECOVERABLE | 409 | Result cannot be recovered through this action. Review the run or contact support. |
RECOVERY_CAPACITY_EXCEEDED | 409 | Recovery limit reached. Contact support before further recovery attempts. |
USAGE_RECOVERY_REQUIRED | 503 | Usage needs reconciliation. Contact support; do not resubmit generation blindly. |