SpaceXAI: Grok Imagine Video
Grok Imagine Video создаёт короткие клипы по тексту, первому изображению или максимум семи визуальным референсам. Классическая версия также редактирует готовые MP4 и добавляет 2–10 секунд продолжения. Генерация достигает 720p со звуком; правки и расширение сохраняют исходное кадрирование в своих пределах.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
Grok Imagine Video — классическая версия семейства Grok Imagine. Текущая документация производителя охватывает новый клип по промпту, анимацию первого изображения, визуальные референсы, изменение и продолжение готового видео. Сценарии дают разные результаты: новую сцену, изменённый исходник или одно видео с исходным и новым материалом. Выбирайте сценарий по имеющемуся материалу и нужной правке плана.
Для нового текст–видео опишите объект, окружение, действие, камеру и звук. Стандартная генерация поддерживает 1–15 секунд, 480p или 720p и сгенерированное аудио. Документированы квадратные, горизонтальные, вертикальные и широкие отношения, включая 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9 и 5:2. Например, бумажный фонарь слегка движется над тихим двором, камера перемещается вбок. Проверяйте, поддерживают ли движение, кадрирование и атмосфера этот план.
В изображение–видео исходник — первый кадр. Подготовьте кроп, объект и детали, затем опишите дальнейшее действие. Выход следует соотношению изображения. Первый кадр задаёт точную начальную композицию, а reference-to-video направляет людей, продукты или окружение в новой сцене. Разделение ролей предотвращает нежелательное начало при помещении известного объекта в другое место.
Классическая модель принимает до семи изображений на референсный запрос. Режим ограничен десятью секундами и 720p. Задайте каждому роль и позицию в списке начиная с <IMAGE_0>. Для продуктовой зарисовки один референс задаёт объект, другой — место. Сосредоточьте задание на расположении и основном действии. У классического режима своя конфигурация; выбранные голоса и закреплённые кадры добавляет полная 1.5.
Редактирование принимает клип и промпт изменения. Производитель принимает MP4 с поддерживаемыми кодеками, например H.264, H.265 или AV1, длиной до 8,7 секунды. Результат сохраняет длительность и отношение сторон, следует разрешению до предела 720p. Пользовательские длительность, отношение и разрешение здесь не применяются. Подготовьте исходник с нужными композицией и временем, чтобы промпт сосредоточился на визуальной правке.
Например, измените цвет шарфа с сохранением лица, движения, фона и камеры; явно назовите сохраняемые элементы. Производитель описывает максимальную близость остального к исходнику: это цель проверки, не гарантия одинаковых пикселей. Сравнивайте весь клип, особенно движение, пересечение и частичное перекрытие объекта. Итог — отредактированный клип, не одиночный кадр нового цвета.
Расширение продолжается с последнего кадра MP4. Документированная длина исходника — 2–15 секунд, добавляемой части — 2–10, по умолчанию шесть. Длительность расширения касается только новой части. Десятисекундный исходник плюс пять секунд дают пятнадцатисекундное видео с обеими частями. Результат сохраняет отношение и разрешение до 720p. Подготовьте последний момент и продолжение: например, объект поворачивается к приближающемуся предмету, пока камера движется прежним курсом.
Проверяйте границу исходника и новой части: внешний облик объекта, направление движения, темп камеры, свет и звук. Если конец неудобен визуально, явно учтите границу в плане следующего кадра. Сборка длинной сцены — монтажное решение: генерация, референсы, правки и расширение имеют разные пределы; общий результат расширения может быть длиннее стандартного нового клипа.
Сценарий асинхронный. ID отслеживает задачу до результата с адресом и длительностью; адреса временные. Сохраняйте воспроизводимый результат и исходные материалы для монтажа. Полная 1.5 даёт нативный 1080p и более богатые визуальные, голосовые и кадровые опоры; Lite — простой текст или первое изображение. Классическая версия полезна, когда готовое видео требует направленной правки или продолжения.
Ailoot Ultra · Видео POST /v1/videos x-ai/grok-imagine-video
x-ai/grok-imagine-videoНачало
Grok Imagine Video создаёт короткие клипы по тексту, первому изображению или максимум семи визуальным референсам. Классическая версия также редактирует готовые MP4 и добавляет 2–10 секунд продолжения. Генерация достигает 720p со звуком; правки и расширение сохраняют исходное кадрирование в своих пределах.
- Допустимые входные данные
- Текст · Картинки
- Результаты
- Видео
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Видео POST /v1/videos
- Входные данные
text,image- Результат
video- Выходной формат
- Исходные байты MP4; без нормализации и перекодирования
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения x-ai/grok-imagine-video | По умолчанию— |
Полеprompt | Типstring | ТребованиеОбязательно | Значения и ограничения | По умолчанию— |
Полеduration | Типinteger | ТребованиеОбязательно | Значения и ограничения 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Минимум: 1 Максимум: 600 | По умолчанию— |
Полеresolution | Типstring | ТребованиеНеобязательно | Значения и ограничения 480p, 720p | По умолчанию— |
Полеaspect_ratio | Типstring | ТребованиеНеобязательно | Значения и ограничения 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3 | По умолчанию— |
Полеgenerate_audio | Типboolean | ТребованиеНеобязательно | Значения и ограничения false | По умолчанию— |
Полеframe_images | Типarray | ТребованиеНеобязательно | Значения и ограничения Минимум элементов: 1 Максимум элементов: 1 Входное содержимое: Массив объектов кадров. Каждый объект содержит type=image_url, image_url с url и frame_type. Используйте HTTPS URL изображения и укажите first_frame в frame_type. Каждая роль кадра встречается не более одного раза. Точные ключи: type, image_url, frame_type Условия: Эти ключи описывают каждый объект кадра; image_url содержит только url. Не передавайте frame_images для запроса только с текстом. | По умолчанию— |
Полеinput_references | Типarray | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
Полеsize | Типstring | ТребованиеНеобязательно | Значения и ограничения 854x480, 1280x720, 480x854, 720x1280, 480x480, 720x720, 640x480, 960x720, 480x640, 720x960, 720x480, 1080x720, 480x720, 720x1080 Шаблон: ^[1-9][0-9]*x[1-9][0-9]*$ | По умолчанию— |
Полеcallback_url | Типstring | ТребованиеНеобязательно | Значения и ограничения Шаблон: ^https:// | По умолчанию— |
Полеsession_id | Типstring | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
Полеtrace | Типobject | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
Полеuser | Типstring | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
Сочетания входных материалов
Из текста в видео · Текстовый запрос. · Обязательно: model, prompt, duration
Передайте prompt как текст, а duration — как целое число секунд. Выберите поддерживаемое разрешение; добавьте соотношение сторон или используйте размер из списка.
model: Тип: string · x-ai/grok-imagine-video
prompt: Тип: string · Максимум байтов UTF-8: 10 000 · Нужен хотя бы один непробельный символ: Да
Из изображения в видео · Текстовый запрос и изображение первого кадра. · Обязательно: model, prompt, duration, frame_images
frame_images — массив. Каждый объект кадра содержит type, image_url и frame_type; image_url содержит url. Укажите image_url в type. Используйте first_frame. Каждая роль кадра встречается не более одного раза. Для каждого кадра укажите публичный HTTPS URL изображения. В одном запросе используйте изображения кадров либо референсные изображения; не совмещайте их. Выберите поддерживаемое разрешение; добавьте соотношение сторон или используйте размер из списка.
Точные ключи: type, image_url, frame_type
model: Тип: string · x-ai/grok-imagine-video
prompt: Тип: string · Максимум байтов UTF-8: 10 000 · Нужен хотя бы один непробельный символ: Да
Reference to video · Текстовый запрос и поддерживаемые референсные изображения. · Обязательно: model, prompt, duration, input_references
input_references — массив объектов. Укажите image_url в type и используйте соответствующее поле с url. Используйте публичные HTTPS-ссылки. Не передавайте frame_images, чтобы выбрать режим референсов. Не совмещайте референсные изображения с изображениями кадров. Выберите поддерживаемое разрешение; добавьте соотношение сторон или используйте размер из списка.
model: Тип: string · x-ai/grok-imagine-video
prompt: Тип: string · Максимум байтов UTF-8: 10 000 · Нужен хотя бы один непробельный символ: Да
Параметры и жизненный цикл метода
| Параметр | Контракт |
|---|---|
Параметрcontent_type | Контрактapplication/json |
Параметрrequired | Контрактmodel, prompt, duration |
Параметрmaterial_types | Контрактtext, image |
Параметрadditional_properties | Контрактfalse |
Параметрoptional_controls | Контрактresolution, aspect_ratio, generate_audio, frame_images, input_references, size, callback_url, session_id, trace, user |
Жизненный цикл: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
Тарифы
Как рассчитывается итоговая плата
Отображаемые тарифы позволяют оценить стоимость до генерации. Итоговое списание рассчитывается по стоимости, записанной для исходной генерации. Измеренная длительность результата и прогнозные объёмы не являются итоговым оплачиваемым объёмом.
Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.
- Быстрый режим
- Не указано При выборе быстрого режима
- Режим flex
- Не указано При выборе режима flex
- Максимальная интенсивность рассуждений
- Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)
Оценочные ставки для сравнения
Цены по конфигурациям
Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.
| Конфигурация | Шкала ставок | Прогноз количества | Расчётная единица | Условия расчёта | Плата |
|---|---|---|---|---|---|
| КонфигурацияБазовые тарифы на токены | Шкала ставокБазовая ставка | Прогноз количества— | Расчётная единица— | Условия расчёта— | Плата Вход · Входные токены · Оценка только для сравнения — / 1K токенов Выход · Выходные токены · Оценка только для сравнения — / 1K токенов Вход · Чтение кэша · Оценка только для сравнения — / 1K токенов Вход · Запись в кэш · Оценка только для сравнения — / 1K токенов Вход · Запись в кэш, 1 час · Оценка только для сравнения — / 1K токенов |
| КонфигурацияВходное изображение | Шкала ставок— | Прогноз количества— | Расчётная единицаза изображение | Условия расчётаВ этом ключе цены дополнительное условие не объявлено. | Плата Вход · Входное изображение · Оценка только для сравнения $0.004 за изображение |
| КонфигурацияЦена видео | Шкала ставок— | Прогноз количества— | Расчётная единицаза секунду видео | Условия расчётаresolution: 480p | Плата Выход · Цена видео · Оценка только для сравнения $0.1 за секунду видео |
| КонфигурацияЦена видео | Шкала ставок— | Прогноз количества— | Расчётная единицаза секунду видео | Условия расчётаresolution: 720p | Плата Выход · Цена видео · Оценка только для сравнения $0.14 за секунду видео |
| КонфигурацияОриентировочная стоимость генерации | Шкала ставок— | Прогноз количестваОценка для одной генерации | Расчётная единица— | Условия расчёта— | Плата Выход · Оценочная стоимость генерации · Оценка только для сравнения $0.1 оценка до генерации Эта оценка не является дополнительным списанием или фиксированным тарифом для завершённой генерации. |
Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →
Сведения о справочном тарифе
Справочные шкалы модели не меняют выбор метода, расчёт стоимости или списания. Действующая плата определяется ставками выбранного метода Ailoot.
Ссылки на цены конфигураций видео
Цены по конфигурациям
Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.
| Конфигурация | Условия расчёта | Плата |
|---|---|---|
| КонфигурацияВходное изображение | Условия расчётаВ этом ключе цены дополнительное условие не объявлено. | Плата Вход · Входное изображение $0.004 за изображение Опубликованный ориентир цены для показанной конфигурации. Итоговые списания зависят от фактической оплачиваемой конфигурации. |
| КонфигурацияЦена видео | Условия расчётаresolution: 480p | Плата Выход · Цена видео $0.1 за секунду видео Опубликованный ориентир цены для показанной конфигурации. Итоговые списания зависят от фактической оплачиваемой конфигурации. |
| КонфигурацияЦена видео | Условия расчётаresolution: 720p | Плата Выход · Цена видео $0.14 за секунду видео Опубликованный ориентир цены для показанной конфигурации. Итоговые списания зависят от фактической оплачиваемой конфигурации. |
Примеры запросов
Ailoot Ultra · Видео
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","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
Получить и сохранить результаты
Ailoot Ultra · Видео
подписанные ссылки на содержимое, принадлежащее Ailoot
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
Проверить статус задачи
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
Чтение другого содержимого
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
Сохраняйте все готовые результаты
Сохраните каждое готовое видео или полученный файл; загрузите содержимое по каждому фактически полученному URL материала.
Сохраняйте каждый фактический результат, принадлежащий Ailoot, и возвращённые измеренные метаданные.
Если нужно проверить исходный ответ
503 result_pending_check + исходный id + X-Should-Retry:false; никогда не отправляйте исходный запрос повторно
Поля ответа
| Поле | Тип | Значение |
|---|---|---|
Полеindex | Типinteger | ЗначениеПозиция этого видео в списке результатов, начиная с нуля. |
Полеcontent_url | Типstring | ЗначениеПодписанный HTTPS URL для скачивания этого готового видео. |
Полеsha256 | Типstring | null | ЗначениеХэш SHA-256 исходных байтов видео; null, если недоступен. |
Полеsize_bytes | Типinteger | null | ЗначениеРазмер исходного видеофайла в байтах; null, если недоступен. |
Полеduration_ms | Типinteger | null | ЗначениеИзмеренная длительность видео в миллисекундах; null, если недоступна. |
Полеwidth | Типinteger | null | ЗначениеШирина видео в пикселях; null, если недоступна. |
Полеheight | Типinteger | null | ЗначениеВысота видео в пикселях; null, если недоступна. |
Полеvideo_codec | Типstring | null | ЗначениеИдентификатор видеокодека; null, если не записан. |
Полеhas_audio | Типboolean | null | ЗначениеЕсть ли у видео аудиодорожка; null, если не измерено. |
Полеaudio_codec | Типstring | null | ЗначениеИдентификатор аудиокодека; null, если идентификатор не записан. |
Ошибки и дальнейшие шаги
| Ответ | Условие | Следующий шаг |
|---|---|---|
Ответ404 · not_found_error | УсловиеДоступ к видео недоступен либо этот ID видео не найден. | Следующий шагПроверьте доступ к видео. Для существующего видео используйте исходный публичный ID и тот же ключ API. |
Ответ401 · authentication_error | УсловиеКлюч API не соответствует авторизованному аккаунту. | Следующий шагПеред отправкой проверьте ключ API и доступ к аккаунту. |
Ответ400 · invalid_request_error | УсловиеНе удалось прочитать запрос либо индекс скачивания недопустим. | Следующий шагИсправьте тело запроса. Для скачивания выберите индекс результата, возвращённый исходной задачей. |
Ответ422 · price_unavailable | УсловиеНевозможно определить цену выбранной конфигурации видео. | Следующий шагВыберите поддерживаемую конфигурацию видео и заполните обязательные параметры перед отправкой исправленного запроса. |
Ответ422 · invalid_request_error | УсловиеНедопустимы входное видео или исходная задача продолжения. | Следующий шагИспользуйте корректные входные HTTPS-ссылки. Для продолжения используйте исходный публичный ID вашего готового видео и тот же ключ API. |
Ответ402 · billing_error | УсловиеДоступный баланс или лимиты не позволяют зарезервировать средства. | Следующий шагПеред отправкой нового запроса проверьте доступный баланс и лимиты. |
Ответ503 · server_error | УсловиеПроверка видео, хранилище или доступ к сервису временно недоступны. | Следующий шагДождитесь доступности сервиса. Если у вас уже есть ID видео, проверяйте ту исходную задачу вместо создания новой генерации. |
Ответ503 · result_pending_check | УсловиеНужно проверить результат исходного видео и начисление. | Следующий шагСохраните возвращённый ID видео и проверьте эту задачу. Не отправляйте заменяющий запрос на генерацию, пока идёт проверка. |
Ответ503 · owned_result_unavailable | УсловиеСкачивание существующего видео временно недоступно. | Следующий шагПроверьте ту же видеозадачу позже и скачайте её существующий результат. Новая генерация создаёт отдельную операцию. |
Ответ409 · video_not_ready | УсловиеСодержимое видео не опубликовано. | Следующий шагПроверьте исходный статус задачи. Скачайте результат после completed; при failed следуйте уведомлению о проверке начисления. |
Псевдонимы
Псевдонимы моделей
Ailoot Ultra x-ai/grok-imagine-video
Псевдонимы путей метода
Используйте пути методов, указанные выше.
Связанные ID для вызова
FAQ · SpaceXAI: Grok Imagine Video
- Какие входные данные и результаты доступны?
POST /v1/videos·x-ai/grok-imagine-video:text,image→video- Какие поля использует запрос?
POST /v1/videos·x-ai/grok-imagine-video:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,size,callback_url,session_id,trace,user- Какие ограничения действуют?
POST /v1/videos·x-ai/grok-imagine-video:duration.minimum:1;duration.maximum:600;frame_images.max_items:1;frame_images.min_items:1