Source: https://ailoot.ai/models/es-mx/viduq2/
Canonical: https://ailoot.ai/models/es-mx/viduq2/
Language: es-mx

# Vidu: Q2 Text-to-Video

[Markdown](https://ailoot.ai/models/es-mx/viduq2/index.md) · [JSON](https://ailoot.ai/models/es-mx/viduq2/facts.json)

## [Vidu: Q2 Text-to-Video](https://ailoot.ai/models/es-mx/viduq2/)

Vidu Q2 crea video a partir de una descripción de escena en texto, con una duración de 1–10 segundos, salida de 540p, 720p o 1080p y cinco relaciones de aspecto. Este perfil viduq2 concreto utiliza el campo prompt para el estilo y el movimiento y devuelve su resultado mediante una tarea asíncrona.

- [**Ailoot Ultra · Generación de video** `POST /v1/videos` `viduq2`](https://ailoot.ai/models/es-mx/viduq2/#method-0)

Sobre el modelo

Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.

Vidu Q2 crea video a partir de una escena escrita mediante el perfil de texto a video seleccionado por viduq2. Sus entradas obligatorias son el identificador exacto del modelo y un prompt que describa la escena. Utilízalo para un concepto breve de producto, un plano general o una acción de personaje cuyo aspecto y movimiento se puedan especificar con palabras. Este método configurado es de texto a video; su descripción no asigna al selector un modo separado de imagen de referencia o edición de video.

Construye las instrucciones en torno a una secuencia visible. Identifica el sujeto, el lugar, la acción, el tamaño del plano, el movimiento de cámara y la composición final. Para un concepto de producto, describe un objeto sobre una mesa, la luz que recorre su material y un lento acercamiento de cámara que termine en un detalle reconocible. Para una escena de un lugar, establece el entorno antes de acercarte al punto de interés. Ajusta la acción a la duración del clip elegida para que la escena tenga espacio para el final previsto.

El límite de prompt es de 2,000 caracteres. Pon primero el sujeto y la acción esenciales; después, añade los detalles de iluminación, material, entorno y cámara que cambien el resultado deseado. Especifica el estilo visual en el prompt. La guía específica de Q2 indica que los parámetros separados style y movement\_amplitude no surten efecto en este modelo, así que los ajustes predefinidos general o anime y las opciones de amplitud de movimiento no sustituyen una descripción clara de la escena.

El ajuste de duración específico del modelo acepta segundos enteros de uno a diez. Las opciones de resolución específicas de Q2 son 540p, 720p y 1080p, con 720p como valor predeterminado documentado. Elige la duración y la resolución conjuntamente según la acción y el destino. Una breve presentación del sujeto y un movimiento más largo necesitan tiempos diferentes; aumentar la duración solicitada debe servir a la secuencia visible, en lugar de limitarse a alargar una escena sin cambiar sus instrucciones. Revisa las dimensiones y la duración reales del clip devuelto al preparar su colocación final.

Las opciones documentadas de aspect\_ratio son 16:9, 9:16, 3:4, 4:3 y 1:1, con 16:9 como valor predeterminado. La guía incluye expresamente 3:4 y 4:3 para la familia Q2. Elige el encuadre antes de generar y describe una composición adecuada: mantén claramente visible el sujeto principal en una vista vertical o utiliza el ancho de un encuadre horizontal para mostrar el entorno. Deja la vista final lo bastante clara para la página, presentación o incorporación posterior de rótulos prevista.

El campo seed controla la variación. Omitirlo o proporcionar 0 selecciona un valor aleatorio; un valor distinto de cero selecciona la opción de semilla fija documentada para una generación reproducible. Conserva el seed devuelto junto con el prompt y los ajustes al comparar versiones. La operación compartida también documenta los controles audio y off\_peak específicamente para modelos Q3. Esas opciones de Q3 no son capacidades asignadas a este perfil Q2; planifica esta solicitud en torno a su entrada de texto y salida de video documentadas.

La generación es asíncrona. El envío devuelve task\_id y un estado inicial, con created para una tarea recién creada. Conserva esa identidad de tarea mientras sigues el procesamiento. La consulta de resultados documentada utiliza state=success para un resultado correcto y devuelve una lista creations. Cada entrada tiene la URL de su video en creations\[\].url; guarda todos los videos devueltos en lugar de asumir que la tarea siempre contiene exactamente una creación.

La documentación de resultados también comunica la duración real del video, fps y el ancho y alto de la resolución. Conserva esos valores comunicados junto con el clip terminado, en lugar de tratar la frecuencia de fotogramas o las dimensiones de un ejemplo como una especificación fija de Q2. La respuesta de creación de la tarea incluye un valor credits junto con la configuración de la solicitud. Conserva esos metadatos de tarea comunicados y el identificador de la tarea completada junto con el resultado, para que cada video siga vinculado a sus ajustes de generación.

Revisa toda la secuencia frente a las instrucciones originales: aspecto del sujeto, forma del objeto, dirección de movimiento, continuidad de cámara y vista final prevista. Para una revisión, identifica el detalle concreto que no cumplió las instrucciones y conserva las partes de la escena que funcionaron. Guarda juntos el prompt, el selector exacto, los ajustes, la identidad de tarea y los videos terminados, para que una comparación posterior se base en los resultados reales.

**Ailoot Ultra · Generación de video** `POST /v1/videos` `viduq2`

[`viduq2`](https://ailoot.ai/models/es-mx/#m=viduq2&route=Ultra&caller=viduq2&fmt=videos)

Vidu /`viduq2`

### Inicio

Vidu Q2 crea video a partir de una descripción de escena en texto, con una duración de 1–10 segundos, salida de 540p, 720p o 1080p y cinco relaciones de aspecto. Este perfil viduq2 concreto utiliza el campo prompt para el estilo y el movimiento y devuelve su resultado mediante una tarea asíncrona.

Entradas aceptadas

Texto

Resultados

Video

### Disponible en Ailoot · entradas y métodos

**Ailoot Ultra · Generación de video** `POST /v1/videos`

Entrada

`text`

Salida

`video`

| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObligatorio | Valores y límites viduq2 | Predeterminado— |
| Campo`prompt` | Tipo`string` | RequisitoObligatorio | Valores y límites Condiciones: Describe la escena que se generará. El límite documentado es de 2000 caracteres; Ailoot verifica que la cadena no esté vacía y conserva el texto. | Predeterminado— |
| Campo`duration` | Tipo`integer` | RequisitoOpcional | Valores y límites Mínimo: 1 Máximo: 10 Condiciones: La descripción específica del modelo viduq2 indica 1–10 segundos enteros. No se documenta una duración predeterminada específica del modelo. Unidad: segundos | Predeterminado— |
| Campo`seed` | Tipo`string` | RequisitoOpcional | Valores y límites Condiciones: Omite el campo o envía la cadena "0" para un resultado aleatorio. Un seed proporcionado distinto de cero selecciona el comportamiento de seed fijo documentado; no se especifica un intervalo numérico. | Predeterminado— |
| Campo`aspect_ratio` | Tipo`string` | RequisitoOpcional | Valores y límites 16:9, 9:16, 3:4, 4:3, 1:1 | Predeterminado16:9 |
| Campo`resolution` | Tipo`string` | RequisitoOpcional | Valores y límites 540p, 720p, 1080p Condiciones: La lista específica del modelo viduq2 documenta estos niveles para 1–10 segundos. Un conjunto compartido de valores y una tabla también mencionan 360p; su aplicación contradice esa lista y no se afirma aquí. | Predeterminado720p |
| Campo`style` | Tipo`string` | RequisitoOpcional | Valores y límites general, anime Condiciones: La solicitud compartida acepta este campo, pero la documentación indica expresamente que no tiene efecto en viduq2. | Predeterminadogeneral |
| Campo`movement_amplitude` | Tipo`string` | RequisitoOpcional | Valores y límites auto, small, medium, large Condiciones: La solicitud compartida acepta este campo, pero la documentación indica expresamente que no tiene efecto en los modelos q2. | Predeterminadoauto |

Combinaciones de materiales de entrada

Parámetros del método y ciclo de vida

| Parámetro | Contrato |
| --- | --- |
| Parámetro`content_type` | Contratoapplication/json |
| Parámetro`required` | Contratomodel, prompt |
| Parámetro`optional` | Contratoduration, seed, aspect\_ratio, resolution, style, movement\_amplitude |
| Parámetro`material_types` | Contratotext |
| Parámetro`additional_properties` | Contratotrue |
| Parámetro`validation_scope` | ContratoAiloot valida que las cadenas model/prompt no estén vacías. Los tipos y límites opcionales siguientes constituyen el contrato documentado de la solicitud; los demás campos se conservan para el modelo seleccionado. |

Alias de método: `/v1/videos/generations`

Ciclo de vida: `submit_once_poll_original`

`GET /v1/videos/{request_id}`

`GET /v1/videos/generations/{request_id}`

`GET /v1/videos/{request_id}/content`

`GET /v1/videos/generations/{request_id}/content`

Crea una sola vez y conserva el id público y polling\_url devueltos.

Consulta periódicamente la operación original y lee state; la finalización requiere success y un resultado creations\[\].url que te pertenezca.

Descarga cada URL de video devuelta que te pertenezca; no deduzcas una cantidad de salidas, duración o frecuencia de fotogramas fija a partir del ejemplo.

### Tarifas

##### Cómo se calcula el cargo definitivo

Las tarifas mostradas permiten estimar el costo antes de la generación. El cargo final se calcula a partir del costo registrado para la generación original. La duración medida de la salida y las cantidades estimadas no son la cantidad facturable final.

Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.

Modo fast

Sin especificar Cuando se selecciona el modo fast

Modo flex

Sin especificar Cuando se selecciona el modo flex

Esfuerzo máximo de razonamiento

Sin especificar Cuando el esfuerzo máximo de razonamiento usa el ajuste default

#### Tarifas estimadas para comparar

#### Precios por configuración

Relaciona cada cargo con las condiciones mostradas. Usa una tarifa para cada conjunto de configuraciones alternativas.

| Configuración | Tabla de tarifas | Cantidad prevista | Cargo |
| --- | --- | --- | --- |
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cantidad prevista— | Cargo Entrada · Tokens de entrada · Estimación solo para comparar **—** / 1K tokens Salida · Tokens de salida · Estimación solo para comparar **—** / 1K tokens Entrada · Lectura de caché · Estimación solo para comparar **—** / 1K tokens Entrada · Escritura en caché · Estimación solo para comparar **—** / 1K tokens Entrada · Escritura en caché, 1 hora · Estimación solo para comparar **—** / 1K tokens |
| ConfiguraciónCosto estimado de generación | Tabla de tarifas— | Cantidad previstaestimación para una generación | Cargo Salida · Costo estimado de generación · Estimación solo para comparar **$5.12** estimación previa a la generación Esta estimación no es un cargo adicional ni una tarifa fija por la generación completada. |

Ailoot reserva un monto estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. [Cómo funcionan la reserva y la liquidación →](https://ailoot.ai/docs/es-mx/billing/reserve/)

### Solicitudes de ejemplo

#### Ailoot Ultra · Generación de video

curl · crea un videocurl · lee la tarea originalcurl · descarga cada video que te pertenece

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"viduq2","prompt":"In an ultra-realistic fashion photography style featuring light blue and pale amber tones, an astronaut in a spacesuit walks through the fog. The background consists of enchanting white and golden lights, creating a minimalist still life and an impressive panoramic scene."}
JSON_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_POLL'
import json
from pathlib import Path
from urllib.parse import quote,urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
i=r.get("id")
if not isinstance(i,str) or not i:raise SystemExit("Keep original response/headers/id; do not resubmit creation.")
u=urljoin("https://api.ailoot.ai",r.get("polling_url") or "/v1/videos/"+quote(i,safe=""))
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/videos/"):raise SystemExit("Use the actual Ailoot lookup path.")
Path("poll-url.txt").write_text(u)
PY_POLL
curl --fail-with-body --silent --show-error "$(cat poll-url.txt)" -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
```

```bash
set -eu
python3 - <<'PY_ASSETS'
import json
from pathlib import Path
from urllib.parse import urlsplit
r=json.loads(Path("status.json").read_text())
if r.get("state")!="success":raise SystemExit("Poll the same original job until its owned result is returned.")
creations=r.get("creations")
if not isinstance(creations,list) or not creations:raise SystemExit("No completed video creations.")
urls=[]
for item in creations:
    value=item.get("url") if isinstance(item,dict) else None
    values=[value] if isinstance(value,str) else value
    if not isinstance(values,list) or not values:raise SystemExit("No completed video URL.")
    for u in values:
        if not isinstance(u,str):raise SystemExit("Invalid returned URL.")
        p=urlsplit(u)
        if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/media/assets/") or not p.path.endswith("/content") or not p.query:raise SystemExit("Wait for the actual Ailoot-owned signed result.")
        urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_ASSETS
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" -o "video-${index}.bin"
  index=$((index + 1))
done < asset-urls.txt
```

### Recibir y guardar resultados

#### Ailoot Ultra · Generación de video

El JSON conserva el estado nativo y el arreglo creations, y agrega id/provider\_task\_id/polling\_url públicos. Las URL de video seleccionadas están vacías antes de la publicación y pasan a ser URL firmadas bajo control de Ailoot después de completarse.

- `GET /v1/videos/{request_id}`
- `GET /v1/videos/generations/{request_id}`
- `GET /v1/videos/{request_id}/content`
- `GET /v1/videos/generations/{request_id}/content`

##### Conserva todos los resultados completados

Guarda todos los videos completados o archivos recibidos; descarga cada URL de archivo que se haya devuelto.

Descarga cada URL real devuelta en creations\[\].url; un índice de contenido identifica una salida real devuelta.

##### Si es necesario revisar la respuesta original

La declaración fijada no enumera ningún estado final de fallo. Conserva la respuesta, los encabezados y el id originales, y consulta esa misma operación ante cualquier estado no reconocido o error result\_pending\_check; nunca vuelvas a enviar una creación de resultado desconocido.

Campos de respuesta

| Campo | Tipo | Significado |
| --- | --- | --- |
| Campo`id` | Tipostring | SignificadoIdentificador público de tarea u operación de Ailoot devuelto. |
| Campo`provider_task_id` | Tipostring | SignificadoIdentificador de la tarea original, independiente del id público. |
| Campo`polling_url` | Tipostring | SignificadoRuta de consulta de Ailoot devuelta para la tarea original. |
| Campo`task_id` | Tipostring when supplied | SignificadoIdentificador original presente en la respuesta de creación. |
| Campo`state` | Tipostring when supplied | SignificadoEstado nativo de la tarea: created para el estado pendiente fijado y success para la finalización. |
| Campo`err_code` | Tipostring when supplied | SignificadoDiagnóstico de la tarea; la especificación guardada no declara una lista enumerada de códigos de error. |
| Campo`creations[].url` | Tipostring\|string\[\] | SignificadoCada URL de video completado seleccionada se sustituye por una URL firmada bajo control de Ailoot. |
| Campo`creations[].video.duration` | Tiponumber when supplied | SignificadoDuración del video devuelta; revisa el resultado real completado. |
| Campo`creations[].video.fps` | Tipointeger when supplied | SignificadoFrecuencia de fotogramas devuelta; no se promete una frecuencia fija. |
| Campo`creations[].video.resolution.width` | Tipointeger when supplied | SignificadoAncho de salida devuelto en píxeles. |
| Campo`creations[].video.resolution.height` | Tipointeger when supplied | SignificadoAlto de salida devuelto en píxeles. |

Errores y siguientes pasos

| Respuesta | Condición | Siguiente paso |
| --- | --- | --- |
| Respuesta400 · `invalid_request_error` | CondiciónJSON o modelo no válido, cadenas obligatorias ausentes o vacías, o índice de contenido no válido. | Siguiente paso |
| Respuesta401 · `authentication_error` | CondiciónClave API de Ailoot no válida. | Siguiente paso |
| Respuesta403 · `permission_error` | CondiciónEl grupo de la clave API no tiene acceso a esta ruta multimedia. | Siguiente paso |
| Respuesta404 · `not_found_error` | CondiciónLa tarea original o la salida solicitada no existe o no pertenece al mismo usuario, clave API y grupo. | Siguiente paso |
| Respuesta502 · `result_pending_check` | CondiciónEl envío original o su estado está incompleto o no se puede conciliar; conserva el ID original y no vuelvas a enviarlo. | Siguiente paso |
| Respuesta503 · `result_pending_check` | CondiciónTodavía se verifica la vinculación original, la ruta o el contenido multimedia que te pertenece; continúa consultando esa operación original. | Siguiente paso |
| Respuesta503 · `server_error` | CondiciónEl servicio multimedia o el almacenamiento de la tarea original no están disponibles. | Siguiente paso |

### Alias

#### Alias del modelo

**Ailoot Ultra** [`viduq2`](https://ailoot.ai/models/es-mx/#m=viduq2&route=Ultra&caller=viduq2&fmt=videos)

#### Alias de rutas de métodos

`/v1/videos/generations`

#### ID de modelo relacionados

[`viduq2`](https://ailoot.ai/models/es-mx/#m=viduq2&route=Ultra&caller=viduq2&fmt=videos)

FAQ · Vidu: Q2 Text-to-Video

¿Qué entradas y resultados están disponibles?

`POST /v1/videos` · `viduq2`: `text` → `video`

¿Qué campos utiliza la solicitud?

`POST /v1/videos` · `viduq2`: `model`, `prompt`, `duration`, `seed`, `aspect_ratio`, `resolution`, `style`, `movement_amplitude`

¿Qué límites se aplican?

`POST /v1/videos` · `viduq2`: `duration.minimum`: `1`; `duration.maximum`: `10`

Conecta Ailoot a Claude Code, OpenCode, Hermes o tu aplicación.

## La empresa y su cartera de proyectos

La empresa y su cartera de proyectos: millones de clientes; ventas por miles de millones al mes.

## Compra tokens con descuento.

Ahorro por suscripción para trabajo habitual. Códigos promocionales: hasta el 50% al comprar tokens.

Suscripción

Elige un plan con descuento para tus peticiones habituales.

Código de hasta el 50%

Introduce el código al comprar. El precio se recalcula según la promoción vigente.

Gasto en el historial

Modelo, tokens e importe quedan guardados por cada petición.

[Elegir suscripción](https://ailoot.ai/docs/es-mx/billing/subscriptions/) · [Consultar precios de modelos](https://ailoot.ai/models/es-mx/)

## Conecta la API al producto que vendes.

SaaS, aplicaciones y bots bajo la oferta y el acuerdo de licencia Ailoot. Solicita una licencia de reventa para redistribuir el acceso.

Aplicación comercial

Integra generación de texto, imágenes, vídeo y sonido en funciones de pago de tu servicio.

Licencia para revendedores

Envía descripción del proyecto y esquema de acceso. Solicita condiciones escritas de uso y reventa.

Documentos en la web

La oferta, el acuerdo de licencia y la política de datos están disponibles antes de conectar.

[Solicitar licencia de reventa](mailto:support@ailoot.ai) · [Oferta y acuerdo de licencia](https://ailoot.ai/legal/offer?lang=es-mx)

## Ailoot · La empresa y su cartera de proyectos





Ailoot se apoya en la experiencia operativa acumulada, una amplia base de clientes, un servicio estable y el seguimiento continuo de KPI.





La empresa y su cartera de proyectos: millones de clientes; ventas por miles de millones al mes.





Ailoot aplica esa experiencia operativa al acceso por API a funciones de IA en productos de clientes, agentes, aplicaciones y automatizaciones.
