> ## Documentation Index
> Fetch the complete documentation index at: https://docs.acedata.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Guida all'integrazione di Flux Videos API

> Flux API guide - Ace Data Cloud

Flux Videos API utilizza `POST /flux/videos` per completare la generazione video, image-to-video da fotogrammi chiave, continuazione video e miglioramento delle bozze. `action=generate` (predefinito), `mode` seleziona la modalità di generazione; per interrogare i risultati si utilizza uniformemente l'esistente `POST /flux/tasks`.

> Attualmente in Beta. Sono disponibili text-to-video, image-to-video, continuazione video e miglioramento delle bozze. HTTP 200 e l'ID attività indicano solo che l'attività è stata accettata; è necessario continuare a interrogare il risultato finale.

## 1. Ottenere il Token API

1. Registrati o accedi nella [console di Ace Data Cloud](https://platform.acedata.cloud/console/applications), crea un'applicazione e ottieni il Token API. Un Token API universale può richiamare i servizi della piattaforma; verifica che l'applicazione disponga dei permessi per richiamare il servizio Flux e di un saldo disponibile.
2. Visualizza i piani e i prezzi delle singole operazioni nella [pagina del servizio Flux](https://platform.acedata.cloud/services/flux?tab=pricing). Se il saldo è insufficiente, ricarica nella [pagina saldo della console](https://platform.acedata.cloud/console/coin).
3. Le richieste utilizzano `Authorization: Bearer <il tuo Token>`. Il Token deve essere conservato nelle variabili d'ambiente del server; non scriverlo nelle pagine frontend, nei repository pubblici, negli screenshot o negli URL di callback.

![Richiedere il Token API nella console](https://cdn.acedata.cloud/dvc3cg.jpg)

Il codice di questo documento legge uniformemente la variabile d'ambiente:

```bash theme={null}
export ACEDATACLOUD_API_TOKEN='替换为你自己的 API Token'
```

| Voce | Valore |
| - | - |
| Indirizzo radice API | `https://api.acedata.cloud` |
| Invio attività video | `POST /flux/videos` |
| Interrogazione attività esistente | `POST /flux/tasks` |
| Autenticazione | `Authorization: Bearer $ACEDATACLOUD_API_TOKEN` |
| Formato della richiesta | `Content-Type: application/json` |

Per i campi completi e il debug online, consulta [Flux Videos API](https://platform.acedata.cloud/documents/flux-videos); per l'interrogazione delle attività, consulta [Flux Tasks API](https://platform.acedata.cloud/documents/flux-tasks).

## 2. Scegliere l'operazione e l'input

| action | mode | Input | Risultato |
| - | - | - | - |
| `generate` (valore predefinito quando action è omesso) | `t2v` | `prompt` | Genera video dal testo |
| `generate` | `i2v` | `prompt`、`keyframes` | Genera video da uno o più fotogrammi chiave |
| `generate` | `v2v` | `prompt`、`start_video` | Continua sulla base del video di input |
| `generate` | `draft_enhance` | `draft_task_id` della bozza già completata | Migliora tale bozza |

Il modello di generazione è `flux-3`, con `action` impostato su `generate` (predefinito). Tramite `mode` si selezionano text-to-video, image-to-video, continuazione video o miglioramento della bozza.

### Parametri generali di generazione

| Parametro | Descrizione |
| - | - |
| `mode` | Obbligatorio; `t2v`, `i2v`, `v2v` o `draft_enhance` |
| `prompt` | Obbligatorio per la generazione normale; il miglioramento della bozza non consente di sovrascrivere il prompt originale |
| `duration` | Per t2v/i2v, numero intero di 5–20 secondi; per v2v, numero intero di 5–15 secondi, oppure `auto`; la durata finale in output potrebbe differire leggermente dal valore richiesto |
| `resolution` | `hd`, `fhd`, `qhd`, `uhd`; il valore predefinito per la generazione normale è `hd`, per il miglioramento della bozza è `fhd` |
| `aspect_ratio` | `auto`, `21:9`, `2:1`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`, `9:21` |
| `draft` | Se generare prima una bozza; la bozza supporta solo `hd` |
| `generate_audio` | Se generare audio sincronizzato; `false` è un valore valido, mantieni il valore booleano esplicito |
| `safety_tolerance` | Opzionale; numero intero da 0 a 4 |
| `async` | Si consiglia di impostarlo su `true`, restituisce immediatamente l'ID attività della piattaforma e poi interroga il risultato |
| `callback_url` | Opzionale; indirizzo HTTP(S) che riceve il risultato JSON finale; dopo l'impostazione verrà comunque accettato in modo asincrono |

L'URL della risorsa deve poter essere letto dal servizio. Se si utilizza un URL firmato temporaneo, è necessario riservare un periodo di validità sufficiente per il download e l'elaborazione. Non utilizzare l'indirizzo di una pagina web come indirizzo di un file immagine o video.

## 3. Text-to-video: richiesta completa testata e risultato

La seguente richiesta è stata eseguita con successo sull'interfaccia di produzione prima dell'adeguamento dei prezzi del 2026-10-02. L'omissione di `action` ha verificato il comportamento predefinito di generazione; `async=true` evita una lunga attesa della connessione HTTP.

```bash theme={null}
curl -X POST 'https://api.acedata.cloud/flux/videos' \
  -H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "flux-3",
    "mode": "t2v",
    "prompt": "A small toy sailboat floating on calm blue water in warm morning light, steady camera, no text.",
    "duration": 5,
    "resolution": "hd",
    "draft": true,
    "async": true
  }'
```

Risposta di accettazione (ID attività reale):

```json theme={null}
{
  "task_id": "4341eb66-3845-4972-bb86-712a6cfae845",
  "trace_id": "b0f851bd-0925-43ca-acc3-6f634c70d607"
}
```

Salva il `task_id` nella tua risposta e continua a interrogare; non utilizzare l'ID attività dell'esempio della documentazione per interrogare i risultati di altri account.

```bash theme={null}
curl -X POST 'https://api.acedata.cloud/flux/tasks' \
  -H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"action":"retrieve","id":"替换为本次返回的 task_id"}'
```

Il campo `response` restituito dall'interrogazione dell'attività contiene il risultato finale di business. Di seguito è riportato il `response` riuscito di questo test effettivo, omettendo i metadati dell'attività esterna. L'URL del video nella documentazione è stato sostituito con una copia dello stesso file su CDN di esempio a lungo termine (SHA-256 identico); la chiamata effettiva restituirà l'URL del risultato dell'attività corrente:

```json theme={null}
{
  "success": true,
  "task_id": "4341eb66-3845-4972-bb86-712a6cfae845",
  "trace_id": "b0f851bd-0925-43ca-acc3-6f634c70d607",
  "data": [
    {
      "id": "4341eb66-3845-4972-bb86-712a6cfae845",
      "model": "flux-3",
      "video_url": "https://cdn.acedata.cloud/assets/examples/flux/4341eb66-3845-4972-bb86-712a6cfae845-5f4391e1942c.mp4",
      "seconds": 5.041667,
      "width": 1280,
      "height": 704,
      "fps": 24,
      "draft_task_id": "4341eb66-3845-4972-bb86-712a6cfae845"
    }
  ],
  "usage": {
    "action": "generate",
    "seconds": 5.041667,
    "output_mp_seconds": 4.3326825781250005,
    "mode": "t2v",
    "resolution": "hd",
    "draft": true
  },
  "cost": {
    "amount": 2.6884689277500002,
    "currency": "credit",
    "list_amount": 2.9871876975000005
  }
}
```

[Visualizza il video di questo test](https://cdn.acedata.cloud/assets/examples/flux/4341eb66-3845-4972-bb86-712a6cfae845-5f4391e1942c.mp4)。Il controllo dei media conferma che l'output è un MP4 di 1280×704, 24 fps e 5.041667 secondi, con dimensione file di 2,607,276 byte.

| Campo della risposta | Utilizzo |
| - | - |
| `success` | Se l'attività finale è riuscita; il task\_id restituito nella fase di accettazione non equivale a success=true |
| `task_id` | ID dell'attività della piattaforma, utilizzato per il polling e la gestione dell'idempotenza aziendale |
| `trace_id` | Da fornire al personale di supporto durante la risoluzione dei problemi |
| `data[].video_url` | Indirizzo del risultato video leggibile |
| `data[].seconds/width/height/fps` | Durata, dimensioni e frequenza dei fotogrammi effettive dell'output misurate dal server |
| `data[].draft_task_id` | ID di input per il miglioramento della bozza; appare solo quando viene restituita una bozza riutilizzabile |
| `usage` | Utilizzo finale per la fatturazione; non usare la duration della richiesta per sovrascrivere gli seconds effettivi |
| `cost.amount` | Credits finali addebitati questa volta; `currency=credit` non indica dollari USA |
| `cost.list_amount` | Credits prima dello sconto sul consumo dell'utente dell'applicazione; restituiti quando applicabile |

Questo è un test storico precedente all'adeguamento dei prezzi: `list_amount=2.9871876975` Credits, l'account godeva allora di uno sconto sul consumo del 10%, e l'effettivo `amount=2.68846892775` Credits. Il nuovo prezzo del 2026-10-02 è stato ridotto di circa il 6.33%; la stessa bozza di 5.041667 secondi al prezzo attuale è di 2.798125185 Credits (prima dello sconto sul consumo) e, se si gode ancora di uno sconto sul consumo del 10%, è di 2.5183126665 Credits. Le fatture delle attività storiche non vengono ricalcolate. I piani e gli sconti di altri account potrebbero essere diversi; questo non è un prezzo fisso in dollari USA per tutti gli utenti.

## 4. Da immagine a video: normale e con fotogrammi chiave temporizzati

Di seguito sono riportati esempi di parametri; è necessario sostituire gli URL delle risorse e non costituiscono una dichiarazione che l'esempio sia già stato eseguito con successo. Dopo il completamento della generazione, eseguire la query seguendo il processo sopra indicato; la struttura del risultato è la stessa.

Una o due immagini utilizzano un array normale:

```json theme={null}
{
  "action": "generate",
  "model": "flux-3",
  "mode": "i2v",
  "prompt": "The camera slowly moves around the product in soft studio light.",
  "keyframes": ["https://example.com/first-frame.jpg"],
  "duration": 5,
  "resolution": "hd",
  "generate_audio": false,
  "async": true
}
```

Quando si specificano gli istanti dei fotogrammi chiave, utilizzare coppie `[secondi, URL immagine]`:

```json theme={null}
{
  "action": "generate",
  "model": "flux-3",
  "mode": "i2v",
  "prompt": "A smooth transition from morning light to a warm sunset.",
  "keyframes": [[0, "https://example.com/start.jpg"], [5, "https://example.com/end.jpg"]],
  "duration": 5,
  "resolution": "hd",
  "async": true
}
```

Sono consentiti 1–10 fotogrammi chiave. L'array con tempi deve essere in ordine temporale crescente, i tempi devono essere compresi tra 0 e 20 secondi e non è consentito mescolare URL normali ed elementi con tempo. Tre o più fotogrammi chiave normali devono specificare esplicitamente duration e non possono usare auto.

### Output testato da immagine a video

L'input corrispondente di questo test è il seguente (solo la stringa descrittiva sostituisce il base64 completo, mentre gli altri campi sono la richiesta reale):

```json theme={null}
{
  "async": true,
  "action": "generate",
  "model": "flux-3",
  "prompt": "The toy sailboat drifts slowly across calm water. A steady camera, gentle daylight, no people or text.",
  "duration": 5,
  "resolution": "hd",
  "generate_audio": false,
  "draft": false,
  "mode": "i2v",
  "keyframes": [
    "<下图 PNG 文件的原始 base64 字符串>"
  ]
}
```

![Fotogramma chiave di riferimento per questo test da immagine a video](https://cdn.acedata.cloud/assets/examples/flux/b1106de8-d586-4e23-b489-381e2f86a10f-input-b0525db595d2.png)

Dopo aver [scaricato questo fotogramma chiave PNG](https://cdn.acedata.cloud/assets/examples/flux/b1106de8-d586-4e23-b489-381e2f86a10f-input-b0525db595d2.png), è possibile usare `base64.b64encode(image_bytes).decode("ascii")` di Python per ottenere la stringa originale e inserirla nell'array keyframes. Non utilizzare il testo descrittivo nel documento come input immagine.

Di seguito è riportata la response finale reale di un'attività di produzione del 2026-10-01 (non una risposta simulata); solo l'URL del video è stato sostituito con una copia di esempio a lungo termine con lo stesso hash. L'input testato utilizza la stringa base64 originale di un PNG 1280×720 come singolo fotogramma chiave; l'input URL sopra è un esempio di parametro indipendente.

```json theme={null}
{
  "success": true,
  "task_id": "b1106de8-d586-4e23-b489-381e2f86a10f",
  "trace_id": "f62d5c56-cfb2-4f8f-b339-ef019d4c0d10",
  "data": [
    {
      "id": "b1106de8-d586-4e23-b489-381e2f86a10f",
      "model": "flux-3",
      "video_url": "https://cdn.acedata.cloud/assets/examples/flux/b1106de8-d586-4e23-b489-381e2f86a10f-bef14458cc9d.mp4",
      "seconds": 5.041667,
      "width": 1280,
      "height": 704,
      "fps": 24
    }
  ],
  "usage": {
    "action": "generate",
    "seconds": 5.041667,
    "output_mp_seconds": 4.3326825781250005,
    "mode": "i2v",
    "resolution": "hd",
    "draft": false
  },
  "cost": {
    "amount": 7.617328628625,
    "currency": "credit",
    "list_amount": 8.46369847625
  }
}
```

[Visualizza il video testato](https://cdn.acedata.cloud/assets/examples/flux/b1106de8-d586-4e23-b489-381e2f86a10f-bef14458cc9d.mp4)。

## 5. Continuazione del video

Passare un indirizzo di file video esistente in `start_video`, con `mode=v2v`, durata massima di 15 secondi.

```json theme={null}
{
  "action": "generate",
  "model": "flux-3",
  "mode": "v2v",
  "prompt": "Continue the sailboat drifting forward with the same steady camera.",
  "start_video": "https://example.com/source.mp4",
  "duration": 5,
  "resolution": "hd",
  "async": true
}
```

### Output testato della continuazione del video

L'input completo di questo test è il seguente; quando si riproduce l'enhancement della bozza, è necessario sostituirlo con il proprio ID bozza. L'URL del materiale utilizza una copia di esempio a lungo termine dello stesso file:

```json theme={null}
{
  "action": "generate",
  "model": "flux-3",
  "mode": "v2v",
  "start_video": "https://cdn.acedata.cloud/assets/examples/flux/b41293be-94c0-4dc7-9f39-ce04f0a8798d-c055a3079059.mp4",
  "prompt": "Continue the same sailboat drifting gently across calm water in the same continuous steady shot.",
  "duration": 5,
  "resolution": "hd",
  "generate_audio": false,
  "async": true
}
```

Di seguito è riportata la response finale reale di un'attività di produzione del 2026-10-01 (non una risposta simulata); solo l'URL del video è stato sostituito con una copia di esempio a lungo termine con lo stesso hash.

```json theme={null}
{
  "success": true,
  "task_id": "8af9aa42-7e4d-47a4-bd61-144d97440c91",
  "trace_id": "4fb49afc-abca-4039-bbaa-adb66e293544",
  "data": [
    {
      "id": "8af9aa42-7e4d-47a4-bd61-144d97440c91",
      "model": "flux-3",
      "video_url": "https://cdn.acedata.cloud/assets/examples/flux/8af9aa42-7e4d-47a4-bd61-144d97440c91-a512d6574811.mp4",
      "seconds": 5,
      "width": 1280,
      "height": 704,
      "fps": 24
    }
  ],
  "usage": {
    "action": "generate",
    "seconds": 5,
    "output_mp_seconds": 4.296875,
    "mode": "v2v",
    "resolution": "hd",
    "draft": false
  },
  "cost": {
    "amount": 18.219375,
    "currency": "credit",
    "list_amount": 20.24375
  }
}
```

[Visualizza il video testato](https://cdn.acedata.cloud/assets/examples/flux/8af9aa42-7e4d-47a4-bd61-144d97440c91-a512d6574811.mp4)。

L'input `start_video` testato è il [video bozza completato](https://cdn.acedata.cloud/assets/examples/flux/b41293be-94c0-4dc7-9f39-ce04f0a8798d-c055a3079059.mp4), gli altri parametri sono duration=5、resolution=hd、generate\_audio=false。

## 6. Prima bozza, poi enhancement

1. Generare una bozza con `draft=true`、`resolution=hd` e attendere il successo.
2. Estrarre l'ID bozza della piattaforma da `data[0].draft_task_id` finale.
3. Inviare la richiesta di enhancement usando le credenziali dell'applicazione con la stessa appartenenza:

```json theme={null}
{
  "action": "generate",
  "model": "flux-3",
  "mode": "draft_enhance",
  "draft_task_id": "替换为自己的已完成草稿 ID",
  "resolution": "fhd",
  "async": true
}
```

L'enhancement della bozza non può ricevere `prompt`、`duration`、`aspect_ratio`、`version`、`generate_audio`、`draft`、`keyframes`、`start_video` per sovrascrivere il contenuto originale. La cache della bozza è una risorsa temporanea, eseguire tempestivamente l'enhancement; non è garantita la conservazione permanente né un numero fisso di giorni di conservazione. Le bozze non proprie/non dell'applicazione corrente, le bozze non completate e le cache scadute non possono essere riutilizzate. La bozza e l'enhancement sono due attività, e vengono fatturati separatamente dopo il successo.

### Output testato dell'enhancement della bozza

L'input completo di questo test è il seguente; quando si riproduce l'enhancement della bozza, è necessario sostituirlo con il proprio ID bozza. L'URL del materiale utilizza una copia di esempio a lungo termine dello stesso file:

```json theme={null}
{
  "action": "generate",
  "model": "flux-3",
  "mode": "draft_enhance",
  "draft_task_id": "b41293be-94c0-4dc7-9f39-ce04f0a8798d",
  "resolution": "hd",
  "async": true
}
```

Di seguito è riportata la response finale reale di un'attività di produzione del 2026-10-01 (non una risposta simulata); solo l'URL del video è stato sostituito con una copia di esempio a lungo termine con lo stesso hash.

```json theme={null}
{
  "success": true,
  "task_id": "1db6243b-4a05-4484-828c-25bb17de7108",
  "trace_id": "64f93fa1-8d18-4c8b-a6d2-888009eb7cfa",
  "data": [
    {
      "id": "1db6243b-4a05-4484-828c-25bb17de7108",
      "model": "flux-3",
      "video_url": "https://cdn.acedata.cloud/assets/examples/flux/1db6243b-4a05-4484-828c-25bb17de7108-058d92166607.mp4",
      "seconds": 5.041667,
      "width": 1280,
      "height": 704,
      "fps": 24
    }
  ],
  "usage": {
    "action": "generate",
    "seconds": 5.041667,
    "output_mp_seconds": 4.3326825781250005,
    "mode": "t2v",
    "resolution": "hd",
    "draft": false
  },
  "cost": {
    "amount": 7.617328628625,
    "currency": "credit",
    "list_amount": 8.46369847625
  }
}
```

[Visualizza il video testato](https://cdn.acedata.cloud/assets/examples/flux/1db6243b-4a05-4484-828c-25bb17de7108-058d92166607.mp4)。

L'input testato utilizza il proprio draft\_task\_id=b41293be-94c0-4dc7-9f39-ce04f0a8798d、resolution=hd；il valore finale usage.mode=t2v indica la modalità della bozza originale. Questa attività e la bozza originale vengono addebitate separatamente.

## 7. Chiamata Python end-to-end

Installare `requests`, impostare il proprio Token ed eseguire lo script seguente per completare “un invio → polling → output dell'URL del video”. Sia la query sia i tentativi di rete devono utilizzare l'originale task\_id, per evitare di inviare nuovamente attività a pagamento.

```python theme={null}
import os
import time
import requests

base_url = "https://api.acedata.cloud"
headers = {
    "Authorization": "Bearer " + os.environ["ACEDATACLOUD_API_TOKEN"],
    "Accept": "application/json",
}
payload = {
    "action": "generate",
    "model": "flux-3",
    "mode": "t2v",
    "prompt": "A small toy sailboat floating on calm blue water in warm morning light.",
    "duration": 5,
    "resolution": "hd",
    "draft": True,
    "async": True,
}
submitted = requests.post(base_url + "/flux/videos", json=payload, headers=headers, timeout=120)
submitted.raise_for_status()
accepted = submitted.json()
if accepted.get("error"):
    raise RuntimeError(accepted["error"])
task_id = accepted["task_id"]
print("Task ID:", task_id)  # 持久化保存，用于恢复轮询

# 30 分钟是本示例的客户端等待上限，不是服务的完成时限承诺。
deadline = time.monotonic() + 30 * 60
while time.monotonic() < deadline:
    polled = requests.post(
        base_url + "/flux/tasks",
        json={"action": "retrieve", "id": task_id},
        headers=headers,
        timeout=30,
    )
    polled.raise_for_status()
    task = polled.json()
    if task.get("error"):
        raise RuntimeError(task["error"])
    result = task.get("response") or task.get("result")
    if isinstance(result, dict) and result.get("success") is True:
        print("Video:", result["data"][0]["video_url"])
        print("Usage:", result.get("usage"))
        print("Cost:", result.get("cost"))
        break
    if isinstance(result, dict) and result.get("error"):
        raise RuntimeError(result["error"])
    time.sleep(10)
else:
    raise TimeoutError("Still processing; resume polling with task_id=" + task_id)
```

Dopo un timeout di rete, non considerare uno stato sconosciuto come un errore e non inviare immediatamente di nuovo la richiesta. Se è già stato ottenuto `task_id`, continua a interrogare quell'attività; registra `task_id` e `trace_id` per facilitare la diagnosi. L'interfaccia di polling stessa non addebita costi di generazione.

## 8. Utilizzo dei callback

Aggiungi `callback_url` durante l'invio; al completamento dell'attività verrà inviato a quell'indirizzo il risultato JSON finale tramite POST. La struttura in caso di successo è coerente con la precedente response, mentre in caso di errore include error.

```json theme={null}
{
  "action": "generate",
  "model": "flux-3",
  "mode": "t2v",
  "prompt": "A small sailboat on calm water.",
  "duration": 5,
  "resolution": "hd",
  "draft": true,
  "callback_url": "https://your-server.example/flux-callback"
}
```

L'indirizzo di callback deve essere accessibile dalla rete pubblica. Dopo aver ricevuto la notifica, elaborala in modo idempotente in base a task\_id e restituisci 2xx il prima possibile; l'elaborazione aziendale può essere messa in coda. Questo documento non dichiara che il callback disponga di autenticazione tramite firma: prima di operazioni sensibili quali l'assegnazione di vantaggi aziendali, usa il tuo Token per interrogare la stessa attività e verificare il risultato. Se il callback non viene ricevuto, puoi anche continuare il polling; non generare di nuovo.

## 9. Tariffazione attuale e listino prezzi

Aggiornato il 2026-10-02: i prezzi unitari per ciascuna fascia di questa interfaccia video sono stati ridotti di circa il 6,33%; le modalità di misurazione, i pacchetti e le regole di sconto sui consumi rimangono invariati. Il cost nelle response storiche effettive riportate sopra è la fattura al completamento dell'attività e non rappresenta l'attuale quotazione.

La generazione video viene fatturata in base ai **secondi effettivamente prodotti**. Di seguito sono riportati i prezzi unitari attuali in Credits prima dell'applicazione degli sconti sui consumi dell'account, coerenti con le regole della [pagina prezzi Flux](https://platform.acedata.cloud/services/flux?tab=pricing).

| Operazione/modalità | Risoluzione | Prezzo unitario in Credits |
| - | - | -: |
| Bozza t2v / i2v | hd | 0.555 / secondo |
| Bozza v2v | hd | 1.11 / secondo |
| t2v / i2v / miglioramento della bozza corrispondente | hd | 1.5725 / secondo |
| Come sopra | fhd | 2.6825 / secondo |
| Come sopra | qhd | 3.7 / secondo |
| Come sopra | uhd | 7.4 / secondo |
| v2v / miglioramento della bozza corrispondente | hd | 3.7925 / secondo |
| Come sopra | fhd | 4.9025 / secondo |
| Come sopra | qhd | 6.0125 / secondo |
| Come sopra | uhd | 8.7875 / secondo |

Conversione in dollari USA: `costo effettivo (USD) = cost.amount (Credits) × prezzo del pacchetto / amount del pacchetto`. Le fasce di ricarica e gli sconti sui consumi influenzano il prezzo effettivo; i Credits non possono essere considerati direttamente come USD. Le attività non riuscite non comportano costi di generazione; l'importo finale fa fede in base al risultato di completamento e ai registri delle chiamate nella console.

## 10. Domande frequenti e risoluzione dei problemi

| Situazione | Suggerimento |
| - | - |
| Errore di parametro (400) | Controlla action=generate, mode, duration e il formato dei fotogrammi chiave; non mescolare campi di modalità di generazione diverse |
| Errore di autenticazione (401) | Controlla il Bearer Token, le autorizzazioni dell'applicazione e la validità delle credenziali |
| Rifiuto della moderazione dei contenuti (403) | Modifica i materiali e il prompt; non inviare ripetutamente lo stesso contenuto |
| Limitazione della frequenza (429) | Riduci la concorrenza e riprova con backoff |
| service\_unavailable (503) | L'operazione corrente non è disponibile; le attività asincrone già accettate potrebbero segnalare questo errore nella response finale |
| task\_id è stato restituito ma non c'è ancora il video | Continua a interrogare response; non considerare HTTP 200 come completamento della generazione |
| La bozza non può essere riutilizzata | Conferma utente/applicazione corrente, attività completata, richiesta originale con draft=true, e verifica che la cache temporanea sia ancora valida |

Quando fornisci feedback, includi task\_id, trace\_id, l'orario della richiesta e i parametri anonimizzati, ma non inviare l'API Token. Per ulteriori modalità, consulta la [guida di integrazione Flux MCP](https://platform.acedata.cloud/documents/flux-mcp).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.