models

Google: Veo 3.1

Markdown · JSON

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

Google /google/veo-3.1

Inicio

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
CampoTipoRequisitoValores y límitesPredeterminado
CampomodelTipostringRequisitoObligatorioValores y límites
google/veo-3.1
Predeterminado—
CampopromptTipostringRequisitoObligatorioValores y límites
Máximo de bytes UTF-8: 10,000
Se requiere contenido distinto de espacios en blanco: Sí
Predeterminado—
CampodurationTipointegerRequisitoObligatorioValores y límites
4, 6, 8
Predeterminado—
CamporesolutionTipostringRequisitoObligatorioValores y límites
720p
Predeterminado—
Campoaspect_ratioTipostringRequisitoObligatorioValores y límites
16:9, 9:16
Predeterminado—
Campogenerate_audioTipobooleanRequisitoObligatorioValores 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ámetroContrato
Parámetrocontent_typeContratoapplication/json
ParámetrorequiredContratomodel, prompt, duration, resolution, aspect_ratio, generate_audio
Parámetroadditional_propertiesContratofalse
ParámetroparametersContrato{"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_typesContratotext

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ónTabla de tarifasCantidad previstaGenerar audioResoluciónUnidad de facturaciónCondiciones de facturaciónCargo
ConfiguraciónTarifas base por tokenTabla de tarifasTarifa baseCantidad 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ónUltraTabla de tarifas—Cantidad previstaConfiguración solicitada; solo una estimación.Generar audioCon audioResolución720pUnidad de facturaciónpor segundo de video de salidaCondiciones 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 videoTabla de tarifas—Cantidad prevista—Generar audio—Resolución—Unidad de facturaciónpor segundo de videoCondiciones de facturaciónconfiguración de audio: with_audio; resolución: 4kCargo
Salida · Precio del video · Estimación solo para comparar $1.2 por segundo de video
ConfiguraciónUltraTabla de tarifas—Cantidad previstaConfiguración solicitada; solo una estimación.Generar audioSin audioResolución720pUnidad de facturaciónpor segundo de video de salidaCondiciones 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 videoTabla de tarifas—Cantidad prevista—Generar audio—Resolución—Unidad de facturaciónpor segundo de videoCondiciones de facturaciónconfiguración de audio: without_audio; resolución: 4kCargo
Salida · Precio del video · Estimación solo para comparar $0.8 por segundo de video
ConfiguraciónCosto estimado de generaciónTabla de tarifas—Cantidad previstaestimación para una generaciónGenerar 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ónCondiciones de facturaciónCargo
ConfiguraciónPrecio del videoCondiciones de facturaciónconfiguración de audio: with_audioCargo
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 videoCondiciones de facturaciónconfiguración de audio: with_audio; resolución: 4kCargo
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 videoCondiciones de facturaciónconfiguración de audio: without_audioCargo
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 videoCondiciones de facturaciónconfiguración de audio: without_audio; resolución: 4kCargo
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

curl · perfil configurado exacto
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}/content
  • GET /v1/videos/generations/{request_id}/content
Consultar el estado de la tarea
Obtener el estado de la operación original con GET
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
Guarda todos los resultados completados que te pertenecen
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
CampoTipoSignificado
CampoidTipostringSignificado—
CampoobjectTipostringSignificado—
CampomodelTipostringSignificado—
CampostatusTipostringSignificado—
Campodata[]Tiposigned content URLSignificado—
Campocharge_pending_checkTipobooleanSignificado—
Campoerror.codeTipostringSignificado—
Campoerror.messageTipostringSignificado—
Campooperation_idTipostringSignificadoRespuesta HTTP503 result_pending_check del estado o contenido original: el mismo ID público del video original como id.
Campoerror.typeTipostringSignificadoserver_error en HTTP503 result_pending_check.
Errores y siguientes pasos
RespuestaCondiciónSiguiente paso
Respuesta400 · invalid_request_errorCondiciónFalla la lectura del cuerpo sin procesar de la solicitud antes de analizar el perfil de videoSiguiente pasoConserva la respuesta devuelta y corrige el cuerpo ilegible de la solicitud.
Respuesta422 · price_unavailableCondiciónFalla el análisis del perfil exacto de video o el perfil completo analizado no tiene una ficha exacta de precios listaSiguiente 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_readyCondiciónEl contenido del resultado original todavía no está disponibleSiguiente pasoConsulta periódicamente el ID original devuelto y respeta Retry-After.
Respuestaserver_errorCondiciónLa respuesta devuelta indica que la operación o el resultado requiere una revisiónSiguiente 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_checkCondició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

google/veo-3.1

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

Más detalles

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 · Consultar precios de modelos

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 · Oferta y acuerdo de licencia