SpaceXAI: Grok Imagine Video 1.5
Grok Imagine Video 1.5 crea vídeos cortos con audio sincronizado a partir de texto, una imagen inicial o referencias visuales. Ofrece generación nativa a 1080p desde texto o imagen, hasta 14 imágenes de referencia y tres voces predefinidas, además de controles para el primer y último fotograma y para fotogramas intermedios para orientar escenas de personajes y productos.
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.
Grok Imagine Video 1.5 es la edición completa de generación de la familia de vídeo Grok Imagine. El fabricante destaca el movimiento, la continuidad física y los efectos sonoros, el ambiente y la voz generados junto con la imagen. Texto a vídeo e imagen a vídeo se generan a 1080p nativos, mientras que la generación guiada por referencias aporta más control sobre quién o qué aparece en una escena. El resultado útil es un vídeo corto con su audio, como una presentación de producto, un intercambio entre personajes o una transición escenificada con precisión entre referencias visuales fijadas.
Para texto a vídeo, describa el sujeto del plano, el escenario, la acción, el movimiento de cámara, la iluminación y el sonido. El fabricante explica que 1.5 genera internamente una imagen inicial y después la anima; la imagen intermedia no se devuelve. Para imagen a vídeo, una imagen proporcionada se convierte en el primer fotograma y la instrucción describe lo que ocurre después. Prepare esa imagen con el encuadre deseado y los detalles visibles ya presentes. El clip resultante de imagen a vídeo sigue la relación de aspecto de la imagen de origen, por lo que una entrega vertical necesita un recorte inicial adecuado.
Referencia a vídeo asigna a las imágenes una función distinta: orientan personas, objetos, ropa o localizaciones sin fijar automáticamente el fotograma inicial. El límite documentado es de hasta 14 imágenes de referencia, con salida de hasta 15 segundos a 720p. Asigne a cada imagen una función clara en la escena e identifíquela por su posición en la lista de referencias. En la sintaxis de instrucciones del fabricante, la primera referencia es <IMAGE_0>, seguida de <IMAGE_1> y así sucesivamente. Cuando también se fija una imagen inicial, esta ocupa el primer índice y las referencias independientes comienzan en el siguiente. Este orden importa cuando el encargo distingue una persona, un producto y un escenario.
Un encargo original con referencias podría situar a un personaje junto a la silla de una imagen, dentro de la habitación de otra, con un acercamiento lento al detalle del material de la silla. Mantenga fáciles de distinguir el sujeto y el producto principal en las referencias. El fabricante aconseja asignar a cada referencia una función y una posición fijas, limitar el reparto y mantener estáticos los objetos cuando se utilizan muchas entradas. Revise si la forma y las marcas del objeto previsto se trasladan a la escena, además de si la cámara revela el detalle solicitado en el encargo.
Referencia a vídeo también puede asignar hasta tres voces predefinidas. Identifique por separado en la instrucción al hablante previsto y su voz, utilizando las referencias posicionales de voz documentadas, y proporcione el diálogo exacto que debe decir. El modelo admite voz con sincronización labial. Para un intercambio breve, escriba frases que dejen espacio para la respuesta y examine tanto la atribución del hablante como el movimiento de la boca en el clip resultante. Una referencia de voz selecciona la identidad hablada; las indicaciones de cámara y escena deben seguir describiendo cómo se muestran los personajes.
Los controles de primer y último fotograma fijan los extremos de un plano, y hasta cuatro fotogramas clave pueden fijar imágenes en momentos intermedios. La guía de fotogramas clave del fabricante sitúa esos tiempos estrictamente dentro del clip en una cuadrícula de un tercio de segundo; se rechazan dos anclajes que correspondan a la misma posición temporal. Prepare anclajes que pertenezcan a la misma escena y describa el movimiento entre ellos. Para revelar un producto, el comienzo podría mostrar el expositor cerrado y el fotograma final el objeto descubierto. Para un bucle, la misma imagen puede servir como primer y último fotograma. Escuche y observe toda la transición, en lugar de juzgar solo las imágenes fijadas.
La conversión habitual de texto e imagen a vídeo admite clips de 1–15 segundos y salida de 480p, 720p o 1080p nativos. Referencia a vídeo está limitada a 720p. El encuadre basado en texto incluye 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9 y 5:2. Elija la duración y la forma según la acción y el destino. El fabricante genera audio de forma predeterminada y documenta una opción de vídeo silencioso. Un encargo puede especificar la frase hablada, efectos cercanos y ambiente lejano para que el sonido contribuya a la misma escena en lugar de convertirse en un fondo sin especificar.
El flujo documentado de generación es asíncrono: devuelve un identificador de solicitud y después un resultado completado con la ubicación del clip y su duración. El ejemplo de resultado apunta a un vídeo MP4 y su ubicación de salida alojada es temporal. Conserve el clip completado y el encargo de entrada al preparar una edición. Compruebe la continuidad, la persistencia de objetos, el movimiento, el encuadre y el sonido frente al plano previsto. Un registro intermedio de procesamiento es útil para seguir el trabajo, mientras que el vídeo reproducible es el recurso que debe revisarse.
Las diferencias de versión afectan al plan. Lite gestiona animación sencilla a partir de texto o una sola imagen, con su opción de 1080p ampliada desde 720p. La versión completa 1.5 añade imágenes de referencia, voces predefinidas y fotogramas fijados. La edición clásica Grok Imagine Video permite editar y ampliar vídeos existentes. Las cifras de velocidad de la variante independiente Video 1.5 Fast corresponden a esa variante con nombre propio, por lo que no definen un tiempo fijo de finalización para este modelo. Para una secuencia más larga, prepare planos cortos coherentes y revise la continuidad de personajes, productos y sonido al disponer juntos los clips.
Ailoot Ultra · Vídeo POST /v1/videos x-ai/grok-imagine-video-1.5
x-ai/grok-imagine-video-1.5Primeros pasos
Grok Imagine Video 1.5 crea vídeos cortos con audio sincronizado a partir de texto, una imagen inicial o referencias visuales. Ofrece generación nativa a 1080p desde texto o imagen, hasta 14 imágenes de referencia y tres voces predefinidas, además de controles para el primer y último fotograma y para fotogramas intermedios para orientar escenas de personajes y productos.
- Entradas aceptadas
- Texto · Imágenes
- Resultados
- Vídeo
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Vídeo POST /v1/videos
- Tipos de entrada
text,image- Tipos de salida
video- Formato de salida
- bytes MP4 originales; sin normalización ni transcodificación
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites x-ai/grok-imagine-video-1.5 | Predeterminado— |
Campoprompt | Tipostring | RequisitoObligatorio | Valores y límites | Predeterminado— |
Campoduration | Tipointeger | RequisitoObligatorio | Valores y límites 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Mínimo: 1 Máximo: 600 | Predeterminado— |
Camporesolution | Tipostring | RequisitoOpcional | Valores y límites 480p, 720p, 1080p | Predeterminado— |
Campoaspect_ratio | Tipostring | RequisitoOpcional | Valores y límites 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3 | Predeterminado— |
Campogenerate_audio | Tipoboolean | RequisitoOpcional | Valores y límites false | Predeterminado— |
Campoframe_images | Tipoarray | RequisitoOpcional | Valores y límites Número mínimo de elementos: 1 Número máximo de elementos: 1 Contenido de entrada: Lista de objetos de fotograma. Cada objeto contiene type=image_url, image_url con url y frame_type. Usa una URL HTTPS de imagen y establece frame_type en first_frame. Cada función de fotograma aparece como máximo una vez. Claves exactas: type, image_url, frame_type Condiciones: Estas claves describen cada objeto de fotograma; image_url solo contiene url. Omite frame_images para una solicitud que solo contenga texto. | Predeterminado— |
Campoinput_references | Tipoarray | RequisitoOpcional | Valores y límites | Predeterminado— |
Campocallback_url | Tipostring | RequisitoOpcional | Valores y límites Patrón: ^https:// | Predeterminado— |
Camposession_id | Tipostring | RequisitoOpcional | Valores y límites | Predeterminado— |
Campotrace | Tipoobject | RequisitoOpcional | Valores y límites | Predeterminado— |
Campouser | Tipostring | RequisitoOpcional | Valores y límites | Predeterminado— |
Combinaciones de materiales de entrada
Texto a vídeo · Una instrucción escrita. · Obligatorio: model, prompt, duration
Proporciona prompt como texto y duration en segundos enteros. Elige una resolución compatible y, si hace falta, una relación de aspecto.
model: Tipo: string · x-ai/grok-imagine-video-1.5
prompt: Tipo: string · Máximo de bytes UTF-8: 10.000 · Se requiere contenido distinto de espacios en blanco: Sí
Imagen a vídeo · Una instrucción escrita y una imagen del primer fotograma. · Obligatorio: model, prompt, duration, frame_images
frame_images es una lista. Cada objeto de fotograma incluye type, image_url y frame_type; image_url contiene url. Establece type en image_url. Usa first_frame. Cada función de fotograma aparece como máximo una vez. Proporciona una URL HTTPS pública de imagen para cada fotograma. Elige una resolución compatible y, si hace falta, una relación de aspecto.
Claves exactas: type, image_url, frame_type
model: Tipo: string · x-ai/grok-imagine-video-1.5
prompt: Tipo: string · Máximo de bytes UTF-8: 10.000 · Se requiere contenido distinto de espacios en blanco: Sí
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, prompt, duration |
Parámetromaterial_types | Contratotext, image |
Parámetroadditional_properties | Contratofalse |
Parámetrooptional_controls | Contratoresolution, aspect_ratio, generate_audio, frame_images, input_references, callback_url, session_id, trace, user |
Ciclo de vida: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
Planes
Cómo se calcula el cargo definitivo
Las tarifas mostradas estiman el coste antes de la generación. El cargo final se calcula a partir del coste registrado para la generación original. La duración medida del resultado y las cantidades previstas no constituyen 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 rápido
- Sin especificar Cuando se selecciona el modo rápido
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento utiliza el ajuste predeterminado (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 | Unidad de facturación | Condiciones de facturación | Cargo |
|---|---|---|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cantidad prevista— | 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ónImagen de entrada | Tabla de tarifas— | Cantidad prevista— | Unidad de facturaciónpor imagen | Condiciones de facturaciónNo se declara ninguna condición adicional en esta clave de precios. | Cargo Entrada · Imagen de entrada · Estimación solo para comparar $0.02 por imagen |
| ConfiguraciónPrecio del vídeo | Tabla de tarifas— | Cantidad prevista— | Unidad de facturaciónpor segundo de vídeo | Condiciones de facturaciónresolution: 1080p | Cargo Salida · Precio del vídeo · Estimación solo para comparar $0.5 por segundo de vídeo |
| ConfiguraciónPrecio del vídeo | Tabla de tarifas— | Cantidad prevista— | Unidad de facturaciónpor segundo de vídeo | Condiciones de facturaciónresolution: 480p | Cargo Salida · Precio del vídeo · Estimación solo para comparar $0.16 por segundo de vídeo |
| ConfiguraciónPrecio del vídeo | Tabla de tarifas— | Cantidad prevista— | Unidad de facturaciónpor segundo de vídeo | Condiciones de facturaciónresolution: 720p | Cargo Salida · Precio del vídeo · Estimación solo para comparar $0.28 por segundo de vídeo |
| ConfiguraciónCoste estimado de generación | Tabla de tarifas— | Cantidad previstaestimación para una generación | Unidad de facturación— | Condiciones de facturación— | Cargo Salida · Coste estimado de generación · Estimación solo para comparar $0.16 estimación previa a la generación Esta estimación no es un cargo adicional ni una tarifa fija para la generación completada. |
Ailoot reserva un importe 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 estimaciones de coste ni los cargos. Los cargos aplicados usan las tarifas del método Ailoot seleccionado.
Referencias de precios de configuraciones de vídeo
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ónImagen de entrada | Condiciones de facturaciónNo se declara ninguna condición adicional en esta clave de precios. | Cargo Entrada · Imagen de entrada $0.02 por imagen Referencia de precios publicada para la configuración mostrada. Los cargos finales se calculan según la configuración realmente facturada. |
| ConfiguraciónPrecio del vídeo | Condiciones de facturaciónresolution: 480p | Cargo Salida · Precio del vídeo $0.16 por segundo de vídeo Referencia de precios publicada para la configuración mostrada. Los cargos finales se calculan según la configuración realmente facturada. |
| ConfiguraciónPrecio del vídeo | Condiciones de facturaciónresolution: 720p | Cargo Salida · Precio del vídeo $0.28 por segundo de vídeo Referencia de precios publicada para la configuración mostrada. Los cargos finales se calculan según la configuración realmente facturada. |
| ConfiguraciónPrecio del vídeo | Condiciones de facturaciónresolution: 1080p | Cargo Salida · Precio del vídeo $0.5 por segundo de vídeo Referencia de precios publicada para la configuración mostrada. Los cargos finales se calculan según la configuración realmente facturada. |
Solicitudes de ejemplo
Ailoot Ultra · Vídeo
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":8,"model":"x-ai/grok-imagine-video-1.5","prompt":"A serene mountain landscape at sunset","resolution":"720p"}', encoding='utf-8')
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 · Vídeo
URL firmadas de contenido bajo tu titularidad
GET /v1/videos/{public_id}GET /v1/videos/{public_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 vídeos completados o archivos recibidos; descarga cada URL de archivo que se haya devuelto.
Conserva todos los resultados reales bajo tu titularidad y los metadatos medidos que se devuelvan.
Si es necesario revisar la respuesta original
503 result_pending_check + originalid + X-Should-Retry:false; no repitas nunca la operación original
Campos de respuesta
| Campo | Tipo | Significado |
|---|---|---|
Campoindex | Tipointeger | SignificadoPosición de este vídeo en la lista de resultados, empezando por cero. |
Campocontent_url | Tipostring | SignificadoURL HTTPS firmada de descarga de este vídeo completado. |
Camposha256 | Tipostring | null | SignificadoHuella SHA-256 de los bytes del vídeo original; null si no está disponible. |
Camposize_bytes | Tipointeger | null | SignificadoTamaño del archivo de vídeo original en bytes; null si no está disponible. |
Campoduration_ms | Tipointeger | null | SignificadoDuración medida del vídeo en milisegundos; null si no está disponible. |
Campowidth | Tipointeger | null | SignificadoAnchura del vídeo en píxeles; null si no está disponible. |
Campoheight | Tipointeger | null | SignificadoAltura del vídeo en píxeles; null si no está disponible. |
Campovideo_codec | Tipostring | null | SignificadoIdentificador del códec de vídeo; null si no se ha registrado. |
Campohas_audio | Tipoboolean | null | SignificadoIndica si el vídeo contiene una pista de audio; null si no se ha medido. |
Campoaudio_codec | Tipostring | null | SignificadoIdentificador del códec de audio; null cuando no se ha registrado ninguno. |
Errores y siguientes pasos
| Respuesta | Condición | Siguiente paso |
|---|---|---|
Respuesta404 · not_found_error | CondiciónEl acceso al vídeo no está disponible o no se ha encontrado este ID de vídeo. | Siguiente pasoComprueba el acceso al vídeo. Para un vídeo existente, usa su ID público original y la misma clave API. |
Respuesta401 · authentication_error | CondiciónLa clave API no corresponde a la cuenta autenticada. | Siguiente pasoComprueba tu clave API y el acceso de tu cuenta antes de enviar la solicitud. |
Respuesta400 · invalid_request_error | CondiciónNo se ha podido leer la solicitud o el índice de descarga no es válido. | Siguiente pasoCorrige el cuerpo de la solicitud. Para una descarga, elige un índice de salida devuelto por la tarea original. |
Respuesta422 · price_unavailable | CondiciónNo se puede calcular el precio de la configuración de vídeo seleccionada. | Siguiente pasoElige una configuración de vídeo compatible y completa sus opciones obligatorias antes de enviar una solicitud corregida. |
Respuesta422 · invalid_request_error | CondiciónUna entrada de vídeo o la tarea original de continuación no es válida. | Siguiente pasoUsa entradas HTTPS válidas. Para continuar, usa el ID público de tu vídeo original completado con la misma clave API. |
Respuesta402 · billing_error | CondiciónEl saldo disponible o los límites no permiten efectuar una reserva. | Siguiente pasoComprueba tu saldo disponible y tus límites antes de enviar una nueva solicitud. |
Respuesta503 · server_error | CondiciónLa verificación del vídeo, el almacenamiento o el acceso al servicio no están disponibles temporalmente. | Siguiente pasoEspera a que el servicio esté disponible. Si ya tienes un ID de vídeo, comprueba esa tarea original en lugar de crear otra generación. |
Respuesta503 · result_pending_check | CondiciónEs necesario comprobar el resultado del vídeo original y el cargo. | Siguiente pasoConserva el ID de vídeo devuelto y comprueba esa tarea. No envíes una solicitud de generación sustitutiva mientras se esté comprobando. |
Respuesta503 · owned_result_unavailable | CondiciónLa descarga del vídeo existente no está disponible temporalmente. | Siguiente pasoComprueba más tarde la misma tarea de vídeo y descarga su resultado existente. Una nueva generación crea una operación independiente. |
Respuesta409 · video_not_ready | CondiciónEl contenido del vídeo no se ha publicado. | Siguiente pasoComprueba el estado de la tarea original. Descarga cuando indique completed; si indica failed, sigue su aviso de comprobación del cargo. |
Alias
Alias del modelo
Ailoot Ultra x-ai/grok-imagine-video-1.5
Alias de rutas de métodos
Usa las rutas de método indicadas arriba.
ID de modelo relacionados
FAQ · SpaceXAI: Grok Imagine Video 1.5
- ¿Qué entradas y resultados están disponibles?
POST /v1/videos·x-ai/grok-imagine-video-1.5:text,image→video- ¿Qué campos utiliza la solicitud?
POST /v1/videos·x-ai/grok-imagine-video-1.5:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,callback_url,session_id,trace,user- ¿Qué límites se aplican?
POST /v1/videos·x-ai/grok-imagine-video-1.5:duration.minimum:1;duration.maximum:600;frame_images.max_items:1;frame_images.min_items:1