Google: Veo 3.1
Veo 3.1 es el modelo de video de Google para escenas a partir de texto e imágenes con sonido generado, fotogramas iniciales y finales guiados y recursos de referencia. Su perfil de producción ofrece clips de cuatro, seis u ocho segundos a 24 fps, con opciones de salida que incluyen 720p, 1080p y 4K.
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.
Veo 3.1 es el modelo de generación de video de Google para crear una escena audiovisual corta a partir de texto o de un brief basado en imagen. Su perfil de producción admite texto a video, imagen a video y creación guiada con primer y último fotograma, con sonido generado, referencias de recursos y un flujo de continuación independiente. Úsalo para desarrollar un concepto cinematográfico, una narrativa corta de producto o un segmento visual con escena, acción y experiencia auditiva definidas.
Describe primero el sujeto y el evento visible. Establece el entorno, la hora del día y la luz; después define el punto de vista o movimiento de la cámara y el estilo visual previsto. Un brief original de escena podría mostrar un recipiente de vidrio sobre una superficie oscura de estudio, con un movimiento lateral lento que revele un reflejo mientras un sonido ambiental suave acompaña la presentación. Cada instrucción aporta una característica visible o audible que puede evaluarse en el resultado terminado.
El marco de prompts de Google trata sujeto, acción, escena, cámara y estética como partes separadas del brief. Utiliza las partes que sirvan a la toma en lugar de añadir todos los descriptores posibles. Escribe las indicaciones en inglés para el perfil documentado de prompts. Si la escena tiene varias acciones, indica su relación y mantén su proporción con un clip corto, de modo que una presentación o reacción siga siendo clara.
Una imagen inicial establece la apariencia y composición de apertura. Úsala cuando el personaje, producto o entorno ya exista como recurso visual y describe el movimiento que debe desarrollarse a partir de ella. Un último fotograma añade una composición objetivo para el cierre. Prepara fotogramas de inicio y fin que comuniquen una transición plausible y conserven los detalles que identifican al sujeto principal; después revisa el movimiento entre esos fotogramas tras la generación.
Las referencias de recursos cumplen otra función: guían la apariencia de un personaje u objeto en una escena nueva generada, mientras que los fotogramas de inicio y fin definen momentos específicos de esa escena. Elige referencias que muestren los rasgos visuales importantes y aclara la función de cada recurso en el prompt. La especificación de imagen de referencia a video del modelo de producción utiliza una salida de ocho segundos para ese flujo de referencias, separada de la selección habitual de duración basada en texto.
El perfil habitual de producción del fabricante genera clips de cuatro, seis u ocho segundos a 24 fotogramas por segundo. Incluye encuadre horizontal 16:9 y vertical 9:16, hasta cuatro videos de salida por prompt y resoluciones de salida de 720p, 1080p y 4K. El formato de salida del video es MP4. Su especificación basada en imagen admite JPEG o PNG, incluye un máximo de imagen de entrada de 20 MB y admite configuraciones de entrada de 720p/1080p. Elige el perfil de salida para la ubicación prevista y mantén legible la composición del fotograma a ese tamaño.
El sonido nativo puede acompañar la escena visible. Especifica líneas habladas, ambiente y efectos de sonido como partes del mismo brief, nombrando al sujeto o evento que produce cada uno. Una instrucción de diálogo y una instrucción de cámara responden a preguntas distintas: una establece la interpretación y la otra cómo la ve el espectador. Mantén las palabras dentro del tiempo útil de habla del clip y revisa la inteligibilidad del sonido y su relación con la acción.
Para una continuación, el fabricante proporciona un flujo independiente de extensión de video. Comienza con un clip de origen generado apropiado y describe el siguiente evento visible o cambio de la escena. Conserva el segmento original y el continuado para revisar su punto de unión en apariencia, movimiento y sonido. Las opciones normales de duración y resolución de una generación nueva no deben tratarse como un contrato universal para toda operación de extensión.
Una descripción negativa puede enfocar las exclusiones en los requisitos visuales de la tarea. Para una serie de variaciones de producto, mantén estables el sujeto y la composición mientras cambias una sola dirección creativa, como la iluminación o la distancia de cámara. Registra el prompt, las referencias y la configuración seleccionada junto con el resultado. Esto permite comparar una diferencia creativa útil en lugar de una colección de generaciones desconectadas.
El perfil regular de producción de Veo 3.1 y Veo 3.1 Fast tienen perfiles distintos de resolución de salida. Fast incluye 720p y 1080p; el 3.1 regular también incluye 4K. Conserva la edición elegida vinculada al resultado, sin sustituir silenciosamente un identificador de modelo de producción por un perfil Preview anterior u otra generación de Veo. Tanto la apariencia de un sujeto como la operación admitida dependen del flujo seleccionado.
La generación es una operación cuyo resultado terminado proporciona recursos de video para reproducir y editar después. Conserva los archivos devueltos con sus fotogramas de origen, recursos de referencia y brief, y conserva la información de procedencia del contenido que se proporcione. Revisa cada salida real en cuanto a apariencia del sujeto, acción, encuadre, sonido y composición final. Usa el clip elegido como componente de producción, con títulos, transiciones u otros acabados añadidos en la edición que lo rodea.
Ailoot Ultra · Video POST /v1/videos google/veo-3.1
google/veo-3.1Inicio
Veo 3.1 es el modelo de video de Google para escenas a partir de texto e imágenes con sonido generado, fotogramas iniciales y finales guiados y recursos de referencia. Su perfil de producción ofrece clips de cuatro, seis u ocho segundos a 24 fps, con opciones de salida que incluyen 720p, 1080p y 4K.
- Entradas aceptadas
- Texto
- Resultados
- Video
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Video POST /v1/videos
- Entrada
text- Salida
video- Formato de salida
- mp4
- Número de salidas
- Hasta 4 salidas
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites google/veo-3.1 | Predeterminado— |
Campoprompt | Tipostring | RequisitoObligatorio | Valores y límites Máximo de bytes UTF-8: 10,000 Se requiere contenido distinto de espacios en blanco: Sí | Predeterminado— |
Campoduration | Tipointeger | RequisitoObligatorio | Valores y límites 4, 6, 8 | Predeterminado— |
Camporesolution | Tipostring | RequisitoObligatorio | Valores y límites 720p | Predeterminado— |
Campoaspect_ratio | Tipostring | RequisitoObligatorio | Valores y límites 16:9, 9:16 | Predeterminado— |
Campogenerate_audio | Tipoboolean | RequisitoObligatorio | Valores y límites false, true | Predeterminado— |
Combinaciones de materiales de entrada
Texto a video · Obligatorio: prompt
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, prompt, duration, resolution, aspect_ratio, generate_audio |
Parámetroadditional_properties | Contratofalse |
Parámetroparameters | Contrato{"name":"model","type":"string","required":true,"enum":["google/veo-3.1"]}, {"name":"prompt","type":"string","required":true,"non_whitespace":true,"max_utf8_bytes":10000}, {"name":"duration","type":"integer","required":true,"enum":[4,6,8]}, {"name":"resolution","type":"string","required":true,"enum":["720p"]}, {"name":"aspect_ratio","type":"string","required":true,"enum":["16:9","9:16"]}, {"name":"generate_audio","type":"boolean","required":true,"enum":[false,true]} |
Parámetromaterial_types | Contratotext |
Alias de método: /v1/videos/generations, /videos, /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
Conserva la respuesta completa y los ID originales devueltos.
Nunca vuelvas a enviar una creación de resultado desconocido.
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 | Generar audio | Resolución | Unidad de facturación | Condiciones de facturación | Cargo |
|---|---|---|---|---|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cantidad prevista— | Generar audio— | Resolución— | Unidad de facturación— | Condiciones de facturación— | 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ónUltra | Tabla de tarifas— | Cantidad previstaConfiguración solicitada; solo una estimación. | Generar audioCon audio | Resolución720p | Unidad de facturaciónpor segundo de video de salida | Condiciones de facturación— | Cargo Salida · Segundo estimado de video de salida · Estimación solo para comparar $0.8 por segundo de video de salida La tarifa mostrada estima el costo antes de generar. El cargo final se calcula a partir del costo registrado para la generación original. La duración física del video no es la cantidad facturable. |
| ConfiguraciónPrecio del video | Tabla de tarifas— | Cantidad prevista— | Generar audio— | Resolución— | Unidad de facturaciónpor segundo de video | Condiciones de facturaciónconfiguración de audio: with_audio; resolución: 4k | Cargo Salida · Precio del video · Estimación solo para comparar $1.2 por segundo de video |
| ConfiguraciónUltra | Tabla de tarifas— | Cantidad previstaConfiguración solicitada; solo una estimación. | Generar audioSin audio | Resolución720p | Unidad de facturaciónpor segundo de video de salida | Condiciones de facturación— | Cargo Salida · Segundo estimado de video de salida · Estimación solo para comparar $0.4 por segundo de video de salida La tarifa mostrada estima el costo antes de generar. El cargo final se calcula a partir del costo registrado para la generación original. La duración física del video no es la cantidad facturable. |
| ConfiguraciónPrecio del video | Tabla de tarifas— | Cantidad prevista— | Generar audio— | Resolución— | Unidad de facturaciónpor segundo de video | Condiciones de facturaciónconfiguración de audio: without_audio; resolución: 4k | Cargo Salida · Precio del video · Estimación solo para comparar $0.8 por segundo de video |
| ConfiguraciónCosto estimado de generación | Tabla de tarifas— | Cantidad previstaestimación para una generación | Generar audio— | Resolución— | Unidad de facturación— | Condiciones de facturación— | Cargo Salida · Costo estimado de generación · Estimación solo para comparar $1.6 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 →
Detalles de la tarifa de referencia
Las tablas de referencia del modelo no cambian la selección del método, las cotizaciones ni los cargos. Los cargos aplicados usan las tarifas del método Ailoot seleccionado.
Referencias de precios por configuración de video
Precios por configuración
Relaciona cada cargo con las condiciones mostradas. Usa una tarifa para cada conjunto de configuraciones alternativas.
| Configuración | Condiciones de facturación | Cargo |
|---|---|---|
| ConfiguraciónPrecio del video | Condiciones de facturaciónconfiguración de audio: with_audio | Cargo Salida · Precio del video $0.8 por segundo de video Referencia de precio publicada para la configuración mostrada. Los cargos finales corresponden a la configuración realmente facturada. |
| ConfiguraciónPrecio del video | Condiciones de facturaciónconfiguración de audio: with_audio; resolución: 4k | Cargo Salida · Precio del video $1.2 por segundo de video Referencia de precio publicada para la configuración mostrada. Los cargos finales corresponden a la configuración realmente facturada. |
| ConfiguraciónPrecio del video | Condiciones de facturaciónconfiguración de audio: without_audio | Cargo Salida · Precio del video $0.4 por segundo de video Referencia de precio publicada para la configuración mostrada. Los cargos finales corresponden a la configuración realmente facturada. |
| ConfiguraciónPrecio del video | Condiciones de facturaciónconfiguración de audio: without_audio; resolución: 4k | Cargo Salida · Precio del video $0.8 por segundo de video Referencia de precio publicada para la configuración mostrada. Los cargos finales corresponden a la configuración realmente facturada. |
Solicitudes de ejemplo
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "google/veo-3.1", "prompt": "a calm greenhouse", "duration": 6, "resolution": "720p", "aspect_ratio": "16:9", "generate_audio": true}')
Path('request.json').write_text(json.dumps(p,ensure_ascii=False))
PY_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
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Recibir y guardar resultados
Ailoot Ultra · Video
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Consultar el estado de la tarea
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Otras consultas de contenido
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Conserva todos los resultados completados
Guarda todos los videos completados o archivos recibidos; descarga cada URL de archivo que se haya devuelto.
Conserva cada URL firmada de data[] completado que te pertenezca y todos los metadatos de estado. Guarda todas las salidas, incluido su audio generado. Puede haber una pista AAC válida incluso con generate_audio=false; conserva el MP4 original completo, incluido ese audio.
Si es necesario revisar la respuesta original
Consulta el trabajo original existente; nunca repitas un envío de resultado desconocido.
Máximo de salidas: 4.
Campos de respuesta
| Campo | Tipo | Significado |
|---|---|---|
Campoid | Tipostring | Significado— |
Campoobject | Tipostring | Significado— |
Campomodel | Tipostring | Significado— |
Campostatus | Tipostring | Significado— |
Campodata[] | Tiposigned content URL | Significado— |
Campocharge_pending_check | Tipoboolean | Significado— |
Campoerror.code | Tipostring | Significado— |
Campoerror.message | Tipostring | Significado— |
Campooperation_id | Tipostring | SignificadoRespuesta HTTP503 result_pending_check del estado o contenido original: el mismo ID público del video original como id. |
Campoerror.type | Tipostring | Significadoserver_error en HTTP503 result_pending_check. |
Errores y siguientes pasos
| Respuesta | Condición | Siguiente paso |
|---|---|---|
Respuesta400 · invalid_request_error | CondiciónFalla la lectura del cuerpo sin procesar de la solicitud antes de analizar el perfil de video | Siguiente pasoConserva la respuesta devuelta y corrige el cuerpo ilegible de la solicitud. |
Respuesta422 · price_unavailable | CondiciónFalla el análisis del perfil exacto de video o el perfil completo analizado no tiene una ficha exacta de precios lista | Siguiente pasoConserva la respuesta; usa el perfil completo y exacto admitido y su ficha publicada. Esta rama se ejecuta antes de enviar al proveedor. |
Respuesta409 · video_not_ready | CondiciónEl contenido del resultado original todavía no está disponible | Siguiente pasoConsulta periódicamente el ID original devuelto y respeta Retry-After. |
Respuestaserver_error | CondiciónLa respuesta devuelta indica que la operación o el resultado requiere una revisión | Siguiente pasoConserva el ID original de operación o tarea devuelto, los encabezados de la solicitud y la respuesta; continúa con las consultas admitidas de esa operación original. No vuelvas a enviar la solicitud de creación. |
Respuesta503 · result_pending_check | CondiciónGET del estado o contenido original: la tarea no está publicada, el trabajo original no tiene estado failed/cancelled/expired y el estado local es unknown o el estado del trabajo original es completed. | Siguiente pasoConserva el id y operation_id originales (el mismo ID público de video), la respuesta y los encabezados; consulta únicamente el estado o contenido original. Nunca envíes una solicitud nueva de generación. |
Alias
Alias del modelo
Ailoot Ultra google/veo-3.1
Alias de rutas de métodos
/v1/videos/generations, /videos, /videos/generations
ID de modelo relacionados
FAQ · Google: Veo 3.1
- ¿Qué entradas y resultados están disponibles?
POST /v1/videos·google/veo-3.1:text→video- ¿Qué campos utiliza la solicitud?
POST /v1/videos·google/veo-3.1:model,prompt,duration,resolution,aspect_ratio,generate_audio