# Wan 3.0 Prime (https://wanapi.app/es/docs/wan-3-0-prime)





Wan 3.0 Prime tiene su propio ID de modelo y sus propias tarifas, con las mismas opciones de resolución: 480p, 720p y 1080p. Admite texto, imágenes y medios de referencia. [Detalles del modelo y Playground](/es/models/wan-3-0-prime).

## Conecta con Wan API [#conecta-con-wan-api]

Usa `https://api.wanapi.app` como URL base de la API. Crea una clave en la [configuración de claves de API](/es/settings/apikeys) y envíala como `Authorization: Bearer YOUR_API_KEY`. Guarda las claves en tu servidor. El playground usa tu sesión del sitio web y descuenta el coste del mismo saldo de cuenta; no necesitas pegar una clave en el navegador.

El acceso requiere una cuenta habilitada con saldo suficiente. Consulta los [precios](/es/pricing) para ver las tarifas actuales. Cada modelo tiene su propio endpoint y su [página de modelo](/es/models).

`GET /v1/models` muestra los modelos disponibles para tu clave. Elegir una resolución superior no cambia automáticamente el modelo.

| Ajuste        | Wan 3.0 Prime                                                                             |
| ------------- | ----------------------------------------------------------------------------------------- |
| ID del modelo | `wan3.0-video-prime`                                                                      |
| `resolution`  | `480p`, `720p`, `1080p`; valor predeterminado: `1080p`.                                   |
| `duration`    | De 2 a 30 segundos de salida, o `-1` para duración automática; valor predeterminado: `5`. |
| `ratio`       | `adaptive`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`; valor predeterminado: `adaptive`.        |
| `audio`       | `true` de forma predeterminada. `false` no reduce la tarifa.                              |

Los [campos compartidos de la solicitud](#campos-de-la-solicitud) describen los 14 campos nativos, los límites de los medios y las combinaciones de entradas. Este modelo usa `wan3.0-video-prime` en la URL de las solicitudes nativas y como valor de `model` en las [solicitudes de Responses](#responses-síncronas-y-en-segundo-plano).

## Envía una tarea de Wan 3.0 Prime [#envía-una-tarea-de-wan-30-prime]

Esta solicitud genera un vídeo de dos segundos a partir de texto con la resolución más baja del modelo. Asigna tu clave a `WAN_API_KEY` en el servidor. El modelo se selecciona mediante la URL; no añadas un campo `model` a este cuerpo JSON nativo.

```bash
curl https://api.wanapi.app/wan/v1/wan3.0-video-prime/generation \
  -H "Authorization: Bearer $WAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A blue glass bottle turns slowly on a white pedestal. Static camera.",
    "duration": 2,
    "resolution": "480p",
    "ratio": "16:9",
    "audio": false,
    "prompt_extend": false
  }'
```

## Consulta una tarea de Wan 3.0 Prime [#consulta-una-tarea-de-wan-30-prime]

Guarda el `task_info.id` recibido como `TASK_ID` y consulta el mismo endpoint del modelo. La respuesta al envío confirma la recepción de la tarea, pero aún no contiene un vídeo terminado. Empieza consultando cada cinco segundos; consulta [los estados de las tareas y las descargas](#consulta-el-estado-y-descarga-el-vídeo).

```bash
curl "https://api.wanapi.app/wan/v1/wan3.0-video-prime/generation/$TASK_ID" \
  -H "Authorization: Bearer $WAN_API_KEY"
```

## Precios de Wan 3.0 Prime [#precios-de-wan-30-prime]

La tabla muestra las tarifas actuales en USD por segundo facturable. Se cuentan tanto los segundos de vídeo de referencia de entrada como los segundos de salida generados. El ejemplo de cinco segundos supone que no hay vídeo de referencia. Consulta [facturación y gestión de fallos](#facturación-y-gestión-de-fallos) para conocer cómo funcionan las reservas y el ajuste del cobro.

<WanModelPricing model="findWanModel('wan-3-0-prime')" />

[Ver precios de Wan 3.0 Prime](/es/models/wan-3-0-prime#pricing).

## Campos de la solicitud [#campos-de-la-solicitud]

Los cuatro modelos comparten estos 14 campos nativos. Proporciona un prompt o al menos una entrada multimedia. No se pueden combinar fotogramas con entradas de referencia, `file` o `link`; `file` y `link` son mutuamente excluyentes.

| Campo              | Tipo      | Especificación                                                                                               |
| ------------------ | --------- | ------------------------------------------------------------------------------------------------------------ |
| `prompt`           | string    | Hasta 20.000 caracteres.                                                                                     |
| `first_frame`      | string    | URL HTTP(S) de una imagen, URI de datos de imagen o Base64.                                                  |
| `last_frame`       | string    | URL HTTP(S) de una imagen, URI de datos de imagen o Base64.                                                  |
| `reference_images` | string\[] | Hasta 10 imágenes, en los mismos formatos que un fotograma.                                                  |
| `reference_videos` | string\[] | Hasta 5 URL públicas de MP4/MOV; de 1 a 15 segundos por clip y un máximo total de 15 segundos de referencia. |
| `reference_audios` | string\[] | Hasta 5 URL HTTP(S) de audio.                                                                                |
| `file`             | string    | URL pública de un documento.                                                                                 |
| `link`             | string    | URL pública de una página web.                                                                               |
| `resolution`       | string    | Consulta la tabla de modelos. Valor predeterminado: `1080p`.                                                 |
| `ratio`            | string    | `adaptive`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`. Valor predeterminado: `adaptive`.                           |
| `duration`         | integer   | De 2 a 30 segundos de salida, o `-1` para duración automática. Valor predeterminado: `5`.                    |
| `audio`            | boolean   | Genera audio. Valor predeterminado: `true`. Desactivarlo no reduce la tarifa.                                |
| `seed`             | integer   | 0–2147483647. Omítelo para una generación aleatoria.                                                         |
| `prompt_extend`    | boolean   | Amplía el prompt. Valor predeterminado: `true`.                                                              |

Usa URL multimedia estables, accesibles directamente y disponibles hasta que termine la tarea. La comprobación de la duración de vídeo utiliza lecturas HTTP Range de tamaño limitado; los servidores de vídeo deben admitir estas lecturas y exponer metadatos de duración MP4/MOV legibles. Estas comprobaciones no siguen redirecciones. No se admiten URL de redes privadas. La duración conjunta de las referencias y la salida no debe superar los 30 segundos. El playground acepta un cuerpo de solicitud JSON de hasta 32 MiB; usa URL para entradas más grandes.

## Consulta el estado y descarga el vídeo [#consulta-el-estado-y-descarga-el-vídeo]

El endpoint de envío de cada modelo devuelve un ID público de tarea. Guárdalo antes de continuar.

```json
{
  "task_info": {
    "id": "task_EXAMPLE",
    "status": "pending"
  }
}
```

Usa el ejemplo de consulta del capítulo del modelo correspondiente. Empieza con un intervalo de cinco segundos y auméntalo tras errores temporales. Guarda el ID del modelo junto con el ID de cada tarea; no la consultes mediante el endpoint de otro modelo.

Los estados nativos son `pending`, `processing`, `completed` y `failed`. Una respuesta completada incluye `videos`, un array con una URL firmada completa de Bunny CDN.

```json
{
  "task_info": { "id": "task_EXAMPLE", "status": "completed" },
  "videos": ["https://reapiflexible.b-cdn.net/flexible/v1/expires/2026-11/20261113T06/wanapi-task_EXAMPLE/video.mp4?token=HS256_SIGNATURE&expires=1794550071"]
}
```

Usa directamente la URL devuelta para reproducir o descargar el vídeo; esa URL no requiere clave API ni encabezado Authorization. Los archivos siguen la política de conservación existente del almacenamiento. Consultar una tarea no genera otro vídeo, no produce cargos adicionales ni amplía la disponibilidad del archivo. Guarda los archivos que quieras conservar en tu propio almacenamiento. Las consultas de tareas requieren tu clave API y solo devuelven tareas de tu cuenta.

## Responses síncronas y en segundo plano [#responses-síncronas-y-en-segundo-plano]

Para los clientes que usan la API Responses, `POST /v1/responses` acepta un ID de modelo, un `input` de tipo string y los mismos campos nativos de generación. Usa `input` en lugar de `prompt`. Los campos multimedia nativos, como `reference_images`, permanecen en el nivel superior.

```json
{
  "model": "wan3.0-video-prime",
  "input": "A blue ball rolls across a white table.",
  "resolution": "480p",
  "duration": 2,
  "background": true
}
```

Con `background: true`, guarda el ID de respuesta y consulta `GET /v1/responses/{response_id}`. Sin `background`, la solicitud HTTP espera hasta que termine la generación. `stream: true` utiliza eventos enviados por el servidor (SSE) durante la espera. La salida final del asistente contiene una URL de vídeo firmada; trátala como un enlace privado que otorga acceso al vídeo y evita publicarla por accidente. Para generaciones largas o proxies con tiempos de espera restrictivos, se recomienda enviar tareas nativas o usar Responses en segundo plano.

Si una solicitud síncrona se desconecta o agota el tiempo de espera, la generación no se cancela. La tarea permanece en el servidor. No vuelvas a enviar automáticamente la misma solicitud de generación.

## Facturación y gestión de fallos [#facturación-y-gestión-de-fallos]

El precio es la tarifa del modelo para la resolución elegida multiplicada por los segundos facturables. Se cuentan tanto los segundos de vídeo de referencia como los de salida; las entradas de texto, imágenes y audio no añaden segundos de vídeo. Las solicitudes de duración fija sin vídeo de referencia reservan el coste de la duración de salida solicitada. Las solicitudes con duración automática o vídeo de referencia reservan hasta 30 segundos facturables; después se ajusta el cobro al uso medido y se devuelve la parte no utilizada de la reserva. Los fallos de generación liberan la reserva. Consultar el estado no crea otra generación ni supone un nuevo cobro.

* **Parámetros no válidos:** corrige la solicitud antes de volver a enviarla. Se rechazan los campos nativos desconocidos.
* **Saldo insuficiente:** añade fondos antes de enviar una nueva solicitud de pago. El límite de una clave no concede crédito a la cuenta.
* **Límites de solicitudes o fallos temporales al consultar el estado:** reintenta solo la consulta, aumentando progresivamente el intervalo y con un tiempo máximo de espera.
* **Tiempo de espera agotado al enviar, interrupción de red o ausencia de ID de tarea:** el resultado del envío puede ser desconocido. No repitas automáticamente el POST; podría crear una segunda tarea de pago.
* **Fallo de la tarea:** distingue el estado de fallo de una consulta de estado no disponible.
* **Fallo de descarga:** reintenta la descarga de la tarea ya completada antes de iniciar otra generación.

Los envíos de generación no se reintentan automáticamente ni se cambian a otro modelo. No se ha anunciado compatibilidad con cancelación, webhooks o claves de idempotencia. Conserva el ID de tarea y contacta con [soporte](/es/contact) si es necesario investigar un envío cuyo resultado no esté confirmado.
