> ## 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.

# Guía de integración de Flux Videos API

> Flux API guide - Ace Data Cloud

Flux Videos API utiliza `POST /flux/videos` para completar la generación de videos, la generación de video a partir de imágenes de fotogramas clave, la continuación de videos y la mejora de borradores. `action=generate` (predeterminado), `mode` selecciona el modo de generación; para consultar resultados se utiliza de forma unificada el ya existente `POST /flux/tasks`.

> Actualmente está en Beta. La generación de video a partir de texto, la generación de video a partir de imágenes, la continuación de videos y la mejora de borradores ya están disponibles. HTTP 200 y el ID de tarea solo indican que la tarea fue aceptada; se debe continuar consultando el resultado final.

## 1. Obtener API Token

1. Regístrate o inicia sesión en la [consola de Ace Data Cloud](https://platform.acedata.cloud/console/applications), crea una aplicación y obtén un API Token. Un API Token general puede llamar a los servicios de la plataforma; confirma que la aplicación tenga permisos para llamar al servicio Flux y saldo disponible.
2. Consulta los planes y los precios de cada operación en la [página del servicio Flux](https://platform.acedata.cloud/services/flux?tab=pricing). Cuando el saldo sea insuficiente, recarga en la [página de saldo de la consola](https://platform.acedata.cloud/console/coin).
3. Las solicitudes utilizan `Authorization: Bearer <tu Token>`. El Token debe guardarse en variables de entorno del servidor, no lo escribas en páginas frontend, repositorios públicos, capturas de pantalla ni URL de callback.

![Solicitar API Token en la consola](https://cdn.acedata.cloud/dvc3cg.jpg)

El código de este documento lee de forma unificada la variable de entorno:

```bash theme={null}
export ACEDATACLOUD_API_TOKEN='reemplaza con tu propio API Token'
```

| Elemento | Valor |
| - | - |
| Dirección raíz de API | `https://api.acedata.cloud` |
| Enviar tarea de video | `POST /flux/videos` |
| Consultar tarea existente | `POST /flux/tasks` |
| Autenticación | `Authorization: Bearer $ACEDATACLOUD_API_TOKEN` |
| Formato de solicitud | `Content-Type: application/json` |

Para los campos completos y la depuración en línea, consulta [Flux Videos API](https://platform.acedata.cloud/documents/flux-videos); para la consulta de tareas, consulta [Flux Tasks API](https://platform.acedata.cloud/documents/flux-tasks).

## 2. Elegir operación y entrada

| action | mode | Entrada | Resultado |
| - | - | - | - |
| `generate` (valor predeterminado al omitir action) | `t2v` | `prompt` | Generar video a partir de texto |
| `generate` | `i2v` | `prompt`, `keyframes` | Generar video a partir de uno o varios fotogramas clave |
| `generate` | `v2v` | `prompt`, `start_video` | Continuar basándose en el video de entrada |
| `generate` | `draft_enhance` | `draft_task_id` de un borrador ya completado por ti | Mejorar ese borrador |

El modelo de generación es `flux-3`, y `action` es `generate` (predeterminado). Selecciona la generación de video a partir de texto, la generación de video a partir de imágenes, la continuación de video o la mejora de borrador mediante `mode`.

### Parámetros generales de generación

| Parámetro | Descripción |
| - | - |
| `mode` | Obligatorio; `t2v`, `i2v`, `v2v` o `draft_enhance` |
| `prompt` | Obligatorio para generación normal; la mejora de borrador no permite sobrescribir el prompt original |
| `duration` | Para t2v/i2v, entero de 5–20 segundos; para v2v, entero de 5–15 segundos, o `auto`; la duración final de salida puede diferir ligeramente del valor solicitado |
| `resolution` | `hd`, `fhd`, `qhd`, `uhd`; para generación normal el valor predeterminado es `hd`, para mejora de borrador el predeterminado es `fhd` |
| `aspect_ratio` | `auto`, `21:9`, `2:1`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`, `9:21` |
| `draft` | Si se genera primero un borrador; los borradores solo admiten `hd` |
| `generate_audio` | Si se genera audio sincronizado; `false` es un valor válido, conserva el valor booleano explícito |
| `safety_tolerance` | Opcional; entero de 0–4 |
| `async` | Se recomienda establecerlo en `true`, devolver inmediatamente el ID de tarea de la plataforma y luego consultar los resultados |
| `callback_url` | Opcional; dirección HTTP(S) que recibe el resultado JSON final; tras configurarla también se aceptará de forma asíncrona |

La URL del material debe poder ser leída por el servicio. Si se utiliza una URL firmada temporal, debe reservarse suficiente tiempo de validez para la descarga y el procesamiento. No utilices direcciones de páginas web como direcciones de archivos de imágenes o videos.

## 3. Generación de video a partir de texto: solicitud y resultado completos probados

La siguiente solicitud se ejecutó correctamente en la interfaz de producción antes del ajuste de precios del 2026-10-02. Omitir `action` verificó el comportamiento de generación predeterminado; `async=true` evita esperar una conexión HTTP durante mucho tiempo.

```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
  }'
```

Respuesta de aceptación (ID de tarea real):

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

Guarda el `task_id` de tu propia respuesta y continúa consultando; no utilices el ID de tarea de ejemplo de la documentación para consultar resultados de otras cuentas.

```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":"reemplaza con el task_id devuelto esta vez"}'
```

El campo `response` devuelto por la consulta de tarea contiene el resultado final de negocio. Lo siguiente es el `response` exitoso de esta prueba, omitiendo los metadatos externos de la tarea. La URL de video de la documentación se ha reemplazado por una copia del mismo archivo en un CDN de ejemplo de larga duración (SHA-256 idéntico); las llamadas reales devolverán la URL de resultado propia de esta tarea:

```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
  }
}
```

[Ver el video de esta prueba](https://cdn.acedata.cloud/assets/examples/flux/4341eb66-3845-4972-bb86-712a6cfae845-5f4391e1942c.mp4)。La inspección de medios confirma que la salida es un MP4 de 1280×704, 24 fps y 5.041667 segundos, con un tamaño de archivo de 2,607,276 bytes.

| Campo de respuesta | Uso |
| - | - |
| `success` | Si la tarea final fue exitosa; el task\_id devuelto durante la fase de aceptación no equivale a success=true |
| `task_id` | ID de tarea de la plataforma, utilizado para sondeo y procesamiento de idempotencia de negocio |
| `trace_id` | Proporcionarlo al personal de soporte al solucionar problemas |
| `data[].video_url` | Dirección del resultado de video que se puede leer |
| `data[].seconds/width/height/fps` | Duración, dimensiones y frecuencia de fotogramas reales de salida medidas por el servidor |
| `data[].draft_task_id` | ID de entrada para mejora de borrador; aparece solo cuando se devuelve un borrador reutilizable |
| `usage` | Uso de facturación final; no sobrescriba los seconds reales con el duration de la solicitud |
| `cost.amount` | Credits finales deducidos esta vez; `currency=credit` no son dólares |
| `cost.list_amount` | Credits antes del descuento de consumo para usuarios de la aplicación; se devuelve cuando corresponde |

Esta es una prueba histórica antes del ajuste de precios: `list_amount=2.9871876975` Credits, la cuenta tenía entonces un 10% de descuento de consumo, y el `amount=2.68846892775` Credits real. El nuevo precio del 2026-10-02 ya se ha reducido aproximadamente un 6.33%; el mismo borrador de 5.041667 segundos cuesta 2.798125185 Credits al precio actual (antes del descuento de consumo), y si aún disfruta de un 10% de descuento de consumo sería 2.5183126665 Credits. Las facturas de tareas históricas no se recalculan. Los planes y descuentos de otras cuentas pueden ser diferentes; este no es un precio fijo en dólares para todos los usuarios.

## 4. Imagen a video: normal y con fotogramas clave temporizados

Los siguientes son ejemplos de parámetros, es necesario reemplazar las URL de los recursos, no son una declaración de que este ejemplo se haya ejecutado correctamente. Después de completar la generación, consulte según el flujo anterior, la estructura del resultado es la misma.

Una o dos imágenes usan un arreglo normal:

```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
}
```

Al especificar el momento de los fotogramas clave, use pares de `[segundos, URL de imagen]`:

```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
}
```

Se permiten de 1 a 10 fotogramas clave. Los arreglos con tiempo deben estar en orden creciente de tiempo, el tiempo es de 0 a 20 segundos, y no se pueden mezclar URL normales y elementos con tiempo. Tres o más fotogramas clave normales deben especificar explícitamente duration, no se puede usar auto.

### Salida de prueba de imagen a video

La entrada coincidente de esta prueba es la siguiente (solo se reemplaza el base64 completo con texto descriptivo, los demás campos son solicitudes reales):

```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": [
    "<cadena base64 original del archivo PNG de la imagen inferior>"
  ]
}
```

![Fotograma clave de referencia para esta imagen a video](https://cdn.acedata.cloud/assets/examples/flux/b1106de8-d586-4e23-b489-381e2f86a10f-input-b0525db595d2.png)

Después de [descargar este fotograma clave PNG](https://cdn.acedata.cloud/assets/examples/flux/b1106de8-d586-4e23-b489-381e2f86a10f-input-b0525db595d2.png), puede usar `base64.b64encode(image_bytes).decode("ascii")` de Python para obtener la cadena original e introducirla en el arreglo keyframes. No use el texto descriptivo del documento como entrada de imagen.

Lo siguiente es la response final real de la tarea de producción del 2026-10-01 (no una respuesta simulada); solo la URL del video se ha sustituido por una copia de ejemplo a largo plazo con el mismo hash. La entrada de prueba usó la cadena base64 original de un PNG de 1280×720 como un único fotograma clave; la entrada de URL anterior es un ejemplo de parámetro independiente.

```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
  }
}
```

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

## 5. Continuación de video

`start_video` recibe la dirección de un archivo de video existente, `mode=v2v`, con una duración máxima de 15 segundos.

```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
}
```

### Salida de prueba de continuación de video

La entrada completa de esta prueba es la siguiente; al reproducir la mejora de borrador, se debe reemplazar con su propio ID de borrador. La URL del material utiliza una copia de ejemplo a largo plazo del mismo archivo:

```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
}
```

La siguiente es la respuesta final real de una tarea de producción del 2026-10-01 (no una respuesta simulada); solo la URL del video se reemplaza por una copia de ejemplo a largo plazo con el mismo 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
  }
}
```

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

El `start_video` de entrada de prueba es el [video de borrador completado](https://cdn.acedata.cloud/assets/examples/flux/b41293be-94c0-4dc7-9f39-ce04f0a8798d-c055a3079059.mp4), y los demás parámetros son duration=5、resolution=hd、generate\_audio=false。

## 6. Primero borrador, luego mejora

1. Use `draft=true`、`resolution=hd` para generar un borrador y espere a que tenga éxito.
2. Obtenga el ID de borrador de la plataforma desde el `data[0].draft_task_id` final.
3. Use las credenciales de la aplicación de la misma propiedad para enviar una solicitud de mejora:

```json theme={null}
{
  "action": "generate",
  "model": "flux-3",
  "mode": "draft_enhance",
  "draft_task_id": "Reemplazar por su propio ID de borrador completado",
  "resolution": "fhd",
  "async": true
}
```

La mejora de borrador no puede recibir `prompt`、`duration`、`aspect_ratio`、`version`、`generate_audio`、`draft`、`keyframes`、`start_video` para sobrescribir el contenido original. La caché del borrador es un recurso temporal, mejórela a tiempo; no se promete almacenamiento permanente ni un número fijo de días de retención. Los borradores de otras personas/de la aplicación actual, los borradores sin completar y las cachés caducadas no pueden reutilizarse. El borrador y la mejora son dos tareas, y se cobran por separado después de tener éxito.

### Salida de prueba de mejora de borrador

La entrada completa de esta prueba es la siguiente; al reproducir la mejora de borrador, se debe reemplazar con su propio ID de borrador. La URL del material utiliza una copia de ejemplo a largo plazo del mismo archivo:

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

La siguiente es la respuesta final real de una tarea de producción del 2026-10-01 (no una respuesta simulada); solo la URL del video se reemplaza por una copia de ejemplo a largo plazo con el mismo 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
  }
}
```

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

La entrada de prueba es su propio draft\_task\_id=b41293be-94c0-4dc7-9f39-ce04f0a8798d、resolution=hd；el usage.mode=t2v final indica el modo de borrador original. Esta tarea y el borrador original se cobran por separado.

## 7. Llamada de extremo a extremo en Python

Instale `requests`, configure su propio Token y ejecute el siguiente script para completar “enviar una vez → sondear → mostrar la URL del video”. Tanto las consultas como los reintentos de red deben usar el task\_id original para evitar volver a enviar tareas de pago.

```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)
```

Después de un tiempo de espera de red, no considere un estado desconocido como un fallo ni vuelva a enviar inmediatamente. Si ya obtuvo un task\_id, siga consultando esa tarea; registre task\_id y trace\_id para facilitar la investigación. La propia interfaz de sondeo no cobra tarifas de generación.

## 8. Uso de callbacks

Agregue `callback_url` al enviar; una vez completada la tarea, se enviará el resultado JSON final mediante POST a esa dirección. La estructura de éxito es coherente con la response anterior, mientras que los fallos incluyen 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"
}
```

La dirección de callback debe ser accesible desde la red pública. Después de recibir la notificación, procese de forma idempotente según task\_id y devuelva 2xx lo antes posible; el procesamiento de negocio puede ponerse en cola. Este documento no declara que los callbacks cuenten con autenticación mediante firma: antes de realizar operaciones sensibles, como otorgar beneficios de negocio, utilice su propio Token para consultar la misma tarea y verificar el resultado. Si no se recibe el callback, también puede continuar con el sondeo; no vuelva a generar.

## 9. Facturación actual y tabla de precios

Actualizado el 2026-10-02: los precios unitarios de cada nivel de esta interfaz de video se redujeron aproximadamente un 6.33%; el método de medición, los planes y las reglas de descuentos por consumo permanecen sin cambios. El cost de las response de pruebas históricas anteriores es la factura al completarse la tarea y no representa la cotización actual.

La generación de video se factura según los **segundos de salida reales**. A continuación se muestran los precios unitarios actuales en Credits sin aplicar descuentos por consumo de la cuenta, coherentes con las reglas de la [página de precios de Flux](https://platform.acedata.cloud/services/flux?tab=pricing).

| Operación/modo | Resolución | Precio unitario en Credits |
| - | - | -: |
| t2v / i2v borrador | hd | 0.555 / segundo |
| v2v borrador | hd | 1.11 / segundo |
| t2v / i2v / mejora de borrador correspondiente | hd | 1.5725 / segundo |
| Igual que arriba | fhd | 2.6825 / segundo |
| Igual que arriba | qhd | 3.7 / segundo |
| Igual que arriba | uhd | 7.4 / segundo |
| v2v / mejora de borrador correspondiente | hd | 3.7925 / segundo |
| Igual que arriba | fhd | 4.9025 / segundo |
| Igual que arriba | qhd | 6.0125 / segundo |
| Igual que arriba | uhd | 8.7875 / segundo |

Conversión a dólares estadounidenses: `costo real (USD) = cost.amount (Credits) × price del plan / amount del plan`. Los niveles de recarga y los descuentos por consumo afectan el precio real; los Credits no pueden considerarse directamente como USD. Las tareas fallidas no cobran tarifas de generación; el importe final se basa en el resultado de finalización y los registros de llamadas de la consola.

## 10. Preguntas frecuentes y solución de problemas

| Situación | Recomendación |
| - | - |
| Error de parámetros (400) | Verifique action=generate, mode, duration y el formato de los fotogramas clave; no mezcle campos de distintos modos de generación |
| Error de autenticación (401) | Verifique el Bearer Token, los permisos de la aplicación y si las credenciales son válidas |
| Rechazo por moderación de contenido (403) | Ajuste el material y el prompt; no los envíe repetidamente sin cambios |
| Límite de frecuencia (429) | Reduzca la concurrencia y vuelva a intentarlo con retroceso |
| service\_unavailable (503) | La operación actual no está disponible; las tareas asíncronas ya aceptadas pueden informar este error en la response final |
| task\_id ya devuelto pero aún no hay video | Siga consultando response; no considere HTTP 200 como generación completada |
| El borrador no se puede reutilizar | Confirme que pertenece al usuario/la aplicación actual, que la tarea se ha completado, que la solicitud original tenía draft=true, y compruebe si la caché temporal sigue siendo válida |

Al enviar comentarios, proporcione task\_id, trace\_id, la hora de la solicitud y parámetros anonimizados; no envíe el API Token. Consulte más métodos en la [guía de integración de Flux MCP](https://platform.acedata.cloud/documents/flux-mcp).


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