models

Vidu: Q2 Text-to-Video

Markdown · JSON

Vidu: Q2 Text-to-Video

Vidu Q2 создаёт видео по текстовому описанию сцены: доступны длительность 1–10 секунд, разрешения 540p, 720p или 1080p и пять соотношений сторон. Этот конкретный профиль viduq2 использует текст запроса для стиля и движения и возвращает результат через асинхронную задачу.

О модели

Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.

Vidu Q2 создаёт видео по письменному описанию сцены через профиль генерации по тексту, выбираемый идентификатором viduq2. Обязательные входные данные — точный идентификатор модели и текст запроса с описанием сцены. Используйте его для короткой товарной концепции, общего плана места действия или действия персонажа, внешний вид и движение которого можно задать словами. Этот настроенный метод создаёт видео по тексту; его описание не назначает селектору отдельный режим с изображением-референсом или редактирования видео.

Стройте задание вокруг видимой последовательности. Укажите объект, место, действие, крупность плана, движение камеры и финальную композицию. Для товарной концепции опишите предмет на столе, свет, движущийся по его материалу, и медленное приближение камеры, заканчивающееся на узнаваемой детали. Для сцены места действия сначала покажите окружение, затем двигайтесь к центру внимания. Согласуйте действие с выбранной длительностью клипа, чтобы осталось время для задуманного финала.

Предел текста запроса — 2 000 символов. Сначала укажите главное об объекте и действии, затем добавьте освещение, материал, окружение и детали камеры, влияющие на нужный результат. Задайте визуальный стиль в тексте запроса. Руководство для Q2 говорит, что отдельные параметры style и movement_amplitude не действуют на эту модель, поэтому предустановки general или anime и настройки амплитуды движения не заменяют ясное описание сцены.

Параметр длительности для этой модели принимает целые секунды от одной до десяти. Варианты разрешения для Q2 — 540p, 720p и 1080p; документированное значение по умолчанию — 720p. Выбирайте длительность и разрешение вместе под действие и место размещения. Короткое раскрытие детали и более долгое движение требуют разного времени; увеличение запрошенной длительности должно помогать видимой последовательности, а не просто растягивать неизменённое задание. При подготовке к размещению проверьте фактические размеры и длину полученного клипа.

Документированные варианты aspect_ratio: 16:9, 9:16, 3:4, 4:3 и 1:1; значение по умолчанию — 16:9. Руководство прямо включает 3:4 и 4:3 для семейства Q2. Выберите кадр до генерации и опишите подходящую композицию: сохраните различимость главного объекта в вертикальном формате либо используйте ширину горизонтального кадра для окружающей обстановки. Сделайте финальный вид достаточно ясным для нужной страницы, презентации или последующего добавления подписи.

Поле seed управляет вариативностью. Если его опустить или передать 0, выбирается случайное значение; ненулевое значение включает документированный вариант фиксированного seed для повторяемой генерации. При сравнении версий сохраняйте возвращённый seed вместе с текстом запроса и настройками. Общая операция также документирует настройки audio и off_peak специально для моделей Q3. Эти настройки Q3 не являются возможностями, назначенными этому профилю Q2; планируйте запрос с учётом документированных для него текстового ввода и вывода видео.

Генерация асинхронная. Отправка возвращает task_id и начальное состояние; для только что созданной задачи используется created. Сохраняйте этот идентификатор при отслеживании обработки. Документированный запрос результата использует state=success для успешного результата и возвращает массив creations. У каждого элемента URL видео находится в creations[].url; сохраняйте каждое возвращённое видео, не предполагайте, что задача всегда содержит ровно один созданный результат.

Документация результата также сообщает фактические длительность видео, fps, ширину и высоту кадра. Храните эти полученные значения с готовым клипом, не принимайте частоту кадров или размеры из примера за фиксированную спецификацию Q2. Ответ на создание задачи включает значение credits наряду с конфигурацией запроса. Сохраняйте эти метаданные задачи и идентификатор завершённой задачи вместе с результатом, чтобы каждое видео оставалось связано со своими настройками генерации.

Проверьте всю последовательность по исходному заданию: внешний вид объекта, форму предметов, направление движения, непрерывность движения камеры и задуманный финальный вид. Для правки укажите конкретную деталь, не соответствующую заданию, и сохраните удачные части сцены. Храните текст запроса, точный селектор, настройки, идентификатор задачи и готовые видео вместе, чтобы последующее сравнение опиралось на фактические материалы.

Ailoot Ultra · Видео POST /v1/videos viduq2

viduq2

Vidu /viduq2

Начало

Vidu Q2 создаёт видео по текстовому описанию сцены: доступны длительность 1–10 секунд, разрешения 540p, 720p или 1080p и пять соотношений сторон. Этот конкретный профиль viduq2 использует текст запроса для стиля и движения и возвращает результат через асинхронную задачу.

Допустимые входные данные
Текст
Результаты
Видео

Доступно в Ailoot · входные данные и методы

Ailoot Ultra · Видео POST /v1/videos
Входные данные
text
Результат
video
ПолеТипТребованиеЗначения и ограниченияПо умолчанию
ПолеmodelТипstringТребованиеОбязательноЗначения и ограничения
viduq2
По умолчанию—
ПолеpromptТипstringТребованиеОбязательноЗначения и ограничения
Условия: Опишите создаваемую сцену. Документированный лимит — 2000 символов; Ailoot проверяет, что строка непустая, и сохраняет текст.
По умолчанию—
ПолеdurationТипintegerТребованиеНеобязательноЗначения и ограничения
Минимум: 1
Максимум: 10
Условия: В описании модели viduq2 указана длительность 1–10 целых секунд. Длительность по умолчанию для этой модели не документирована.
Единица: секунды
По умолчанию—
ПолеseedТипstringТребованиеНеобязательноЗначения и ограничения
Условия: Не передавайте поле или передайте строку "0" для случайного результата. Переданное ненулевое начальное значение выбирает документированное поведение с фиксированным seed; числовой диапазон не указан.
По умолчанию—
Полеaspect_ratioТипstringТребованиеНеобязательноЗначения и ограничения
16:9, 9:16, 3:4, 4:3, 1:1
По умолчанию16:9
ПолеresolutionТипstringТребованиеНеобязательноЗначения и ограничения
540p, 720p, 1080p
Условия: Список для модели viduq2 документирует эти уровни для 1–10 секунд. Общее перечисление и таблица также упоминают 360p; его применимость противоречит этому списку и здесь не заявляется.
По умолчанию720p
ПолеstyleТипstringТребованиеНеобязательноЗначения и ограничения
general, anime
Условия: Общая схема запроса принимает это поле, но документация прямо указывает, что для viduq2 оно не действует.
По умолчаниюgeneral
Полеmovement_amplitudeТипstringТребованиеНеобязательноЗначения и ограничения
auto, small, medium, large
Условия: Общая схема запроса принимает это поле, но документация прямо указывает, что для моделей q2 оно не действует.
По умолчаниюauto
Сочетания входных материалов

Параметры и жизненный цикл метода
ПараметрКонтракт
Параметрcontent_typeКонтрактapplication/json
ПараметрrequiredКонтрактmodel, prompt
ПараметрoptionalКонтрактduration, seed, aspect_ratio, resolution, style, movement_amplitude
Параметрmaterial_typesКонтрактtext
Параметрadditional_propertiesКонтрактtrue
Параметрvalidation_scopeКонтрактAiloot проверяет, что строки model/prompt непустые. Приведённые ниже типы и лимиты необязательных полей составляют документированный контракт запроса; остальные поля запроса сохраняются для выбранной модели.

Псевдонимы метода: /v1/videos/generations

Жизненный цикл: 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

Создайте один раз и сохраните возвращённые публичные id и polling_url.

Проверяйте исходную операцию и читайте её состояние; завершение подтверждается успешным состоянием и результатом creations[].url, принадлежащим Ailoot.

Скачайте видео по каждому возвращённому URL, принадлежащему Ailoot; не выводите из примера фиксированное количество результатов, длительность или частоту кадров.

Тарифы

Как рассчитывается итоговая плата

Отображаемые тарифы позволяют оценить стоимость до генерации. Итоговое списание рассчитывается по стоимости, записанной для исходной генерации. Измеренная длительность результата и прогнозные объёмы не являются итоговым оплачиваемым объёмом.

Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.

Быстрый режим
Не указано При выборе быстрого режима
Режим flex
Не указано При выборе режима flex
Максимальная интенсивность рассуждений
Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)

Оценочные ставки для сравнения

Цены по конфигурациям

Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.

КонфигурацияШкала ставокПрогноз количестваПлата
КонфигурацияБазовые тарифы на токеныШкала ставокБазовая ставкаПрогноз количества—Плата
Вход · Входные токены · Оценка только для сравнения — / 1K токенов
Выход · Выходные токены · Оценка только для сравнения — / 1K токенов
Вход · Чтение кэша · Оценка только для сравнения — / 1K токенов
Вход · Запись в кэш · Оценка только для сравнения — / 1K токенов
Вход · Запись в кэш, 1 час · Оценка только для сравнения — / 1K токенов
КонфигурацияОриентировочная стоимость генерацииШкала ставок—Прогноз количестваОценка для одной генерацииПлата
Выход · Оценочная стоимость генерации · Оценка только для сравнения $5.12 оценка до генерации

Эта оценка не является дополнительным списанием или фиксированным тарифом для завершённой генерации.

Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →

Примеры запросов

Ailoot Ultra · Видео

curl · создать видеоcurl · прочитать исходную задачуcurl · скачать каждое своё видео
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
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
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

Получить и сохранить результаты

Ailoot Ultra · Видео

JSON сохраняет нативное состояние и массив creations, добавляя публичные id/provider_task_id/polling_url. До публикации выбранные URL видео пусты; после завершения они становятся подписанными URL, принадлежащими Ailoot.

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
Сохраняйте все готовые результаты

Сохраните каждое готовое видео или полученный файл; загрузите содержимое по каждому фактически полученному URL материала.

Скачайте результат по каждому фактически возвращённому URL в creations[].url; индекс содержимого обозначает один реальный возвращённый результат.

Если нужно проверить исходный ответ

Закреплённое описание не перечисляет конечных состояний ошибки. Сохраните исходные ответ, заголовки и id и проверяйте ту же операцию при любом неизвестном состоянии или ошибке result_pending_check; никогда не отправляйте повторно запрос на создание с неизвестным исходом.

Поля ответа
ПолеТипЗначение
ПолеidТипstringЗначениеВозвращённый публичный идентификатор задачи или операции Ailoot.
Полеprovider_task_idТипstringЗначениеИсходный идентификатор задачи, отдельный от публичного id.
Полеpolling_urlТипstringЗначениеВозвращённый путь проверки Ailoot для исходной задачи.
Полеtask_idТипstring when suppliedЗначениеИсходный идентификатор из ответа на создание.
ПолеstateТипstring when suppliedЗначениеНативное состояние задачи: created для закреплённого состояния ожидания и success при завершении.
Полеerr_codeТипstring when suppliedЗначениеДиагностика задачи; сохранённая спецификация не задаёт перечисления кодов ошибок.
Полеcreations[].urlТипstring|string[]ЗначениеКаждый выбранный URL готового видео заменяется подписанным URL, принадлежащим Ailoot.
Полеcreations[].video.durationТипnumber when suppliedЗначениеВозвращённая длительность видео; проверьте фактический готовый результат.
Полеcreations[].video.fpsТипinteger when suppliedЗначениеВозвращённая частота кадров; фиксированная частота кадров не обещается.
Полеcreations[].video.resolution.widthТипinteger when suppliedЗначениеВозвращённая ширина результата в пикселях.
Полеcreations[].video.resolution.heightТипinteger when suppliedЗначениеВозвращённая высота результата в пикселях.
Ошибки и дальнейшие шаги
ОтветУсловиеСледующий шаг
Ответ400 · invalid_request_errorУсловиеНедопустимый JSON/model, отсутствующие или пустые обязательные строки либо недопустимый индекс содержимого.Следующий шаг
Ответ401 · authentication_errorУсловиеНедействительный ключ Ailoot API.Следующий шаг
Ответ403 · permission_errorУсловиеГруппа ключа API не допущена к этому медиамаршруту.Следующий шаг
Ответ404 · not_found_errorУсловиеИсходная задача или запрошенный результат отсутствуют либо не принадлежат тому же пользователю, ключу API или группе.Следующий шаг
Ответ502 · result_pending_checkУсловиеИсходная отправка или статус неполны либо их невозможно сверить; сохраните исходный ID и не отправляйте запрос повторно.Следующий шаг
Ответ503 · result_pending_checkУсловиеИсходная привязка, маршрут или принадлежащий Ailoot медиаресурс ещё проверяются; продолжайте проверять ту же исходную операцию.Следующий шаг
Ответ503 · server_errorУсловиеМедиасервис или хранилище исходных задач недоступны.Следующий шаг

Псевдонимы

Псевдонимы моделей

Ailoot Ultra viduq2

Псевдонимы путей метода

/v1/videos/generations

Связанные ID для вызова

viduq2

FAQ · Vidu: Q2 Text-to-Video
Какие входные данные и результаты доступны?

POST /v1/videos · viduq2: text → video

Какие поля использует запрос?

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

Какие ограничения действуют?

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

Подробнее

Подключите Ailoot к Claude Code, OpenCode, Hermes или своему приложению.

Компания и портфель её проектов

Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.

Покупайте токены со скидкой.

Скидка по подписке для регулярной работы. Промокоды — до 50% на покупку токенов.

Подписка
Выберите тариф со скидкой для своих регулярных запросов.
Промокод до 50%
Введите код при покупке. Цена пересчитается с учётом действующей акции.
Расходы в истории
Модель, токены и сумма сохраняются для каждого запроса.

Выбрать подписку · Посмотреть цены моделей

Подключайте API к продукту, который вы продаёте.

SaaS, приложения и боты — по оферте и лицензионному договору Ailoot. Для перепродажи запросите реселлерскую лицензию.

Коммерческое приложение
Встраивайте генерацию текста, картинок, видео и звука в платные функции своего сервиса.
Лицензия для реселлера
Пришлите описание проекта и схему доступа. Запросите письменные условия использования и перепродажи.
Документы на сайте
Оферта, лицензионный договор и политика обработки данных доступны до подключения.

Запросить реселлерскую лицензию · Оферта и лицензионный договор