ByteDance: Seedance 1.0 Lite Text-to-Video
Seedance 1.0 Lite Text-to-Video превращает письменное описание сцены в видео без звука. Этот конкретный селектор Lite использует текст вместо изображения-референса и поддерживает длительность 2–12 секунд, 24 кадра в секунду, а также горизонтальный, вертикальный, квадратный или кинематографический формат кадра.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
Seedance 1.0 Lite Text-to-Video создаёт видео по письменному описанию сцены. Конкретный селектор doubao-seedance-1-0-lite-t2v-250428 отвечает за генерацию видео по тексту в редакции Lite. Используйте его, когда объект, обстановку и движение можно описать словами: товар на столе, общий план места действия или короткое действие персонажа. Результат — видеоклип; профиль 1.0 не создаёт синхронизированный звук.
Опишите сцену в том порядке, в котором её должен увидеть зритель. Укажите объект и его внешний вид, место, действие, крупность плана и движение камеры, затем опишите итоговую композицию. Например, в задании для товарного ролика можно показать бутылку на светлом каменном постаменте, солнечный свет, скользящий по этикетке, и медленное приближение камеры к крышке. Это указания для новой сцены, а не обещание воспроизвести предоставленную фотографию товара. Видимое действие должно соответствовать выбранной длительности клипа.
Этот селектор генерации видео по тексту отличается от отдельно названного селектора Lite для генерации видео по изображению. Содержимое передаётся как текстовый элемент в массиве content. Предложение может описывать человека, предмет или стиль, но оно не прикрепляет изображение-референс и не задаёт точную визуальную идентичность по файлу, которого модель не видела. Если начальная композиция должна опираться на существующее изображение, выберите профиль с поддержкой изображений: добавление поля с медиа не переключает селектор Lite t2v в другой режим.
В документации для 1.0 указан диапазон длительности от двух до двенадцати секунд, значение по умолчанию — пять секунд, частота кадров фиксирована: 24 кадра в секунду. Lite предлагает разрешения 480p, 720p и 1080p; документированное значение по умолчанию — 720p. Фиксированные соотношения сторон: 16:9, 4:3, 1:1, 3:4, 9:16 и 21:9. Выбирайте кадр под место размещения до генерации: вертикальный для вертикальной презентации, квадратный для компактной товарной панели, горизонтальный для широкой сцены. Разрешение и соотношение сторон описывают запрошенный результат; проверьте фактические размеры в пикселях и кадрирование скачанного клипа.
В запросе доступны начальное значение генерации seed, водяной знак и управление камерой. seed — целое число от -1 до 2^32-1; -1 выбирает случайное значение. Запрос неподвижной камеры добавляет соответствующее указание, причём документация прямо предупреждает, что эффект не гарантирован. Согласуйте описание движения камеры в тексте с отдельным параметром. Указания параметров внутри текста имеют приоритет над отдельными необязательными параметрами, поэтому не задавайте противоречащие друг другу длительность, разрешение или кадрирование в двух местах.
Расход измеряется в видеотокенах: ширина результата × высота результата × частота кадров × длительность результата / 1024. Завершённая задача сообщает это количество в usage.completion_tokens. Сохраняйте полученное значение расхода вместе с готовым клипом и запрошенными настройками.
Генерация асинхронная. Отправка возвращает идентификатор задачи, а запрос её состояния — статус обработки и, после успеха, URL видео в content.video_url. Сохраняйте идентификатор, пока задача находится в очереди или выполняется, и готовый клип для следующей правки. Документированный срок хранения созданного файла — семь дней. В запросе также есть срок действия, отсчитываемый от создания задачи: по его истечении незавершённая задача получает статус expired. Документированное значение по умолчанию — 172800 секунд, допустимый диапазон — от 3600 до 259200 секунд.
Просмотрите весь клип и сравните его с заданием: появился ли нужный объект, выполняется ли действие в правильном порядке, следует ли камера указанному направлению и пригоден ли финальный кадр. Для следующей версии измените конкретное указание, сохраняя удачную структуру сцены. Для серии планов храните каждый текст запроса, настройки и готовое видео, чтобы планировать следующую сцену по фактическому результату.
Ailoot Ultra · Видео POST /v1/videos doubao-seedance-1-0-lite-t2v-250428
doubao-seedance-1-0-lite-t2v-250428
doubao-seedance-1-0-lite-t2v-250428Начало
Seedance 1.0 Lite Text-to-Video превращает письменное описание сцены в видео без звука. Этот конкретный селектор Lite использует текст вместо изображения-референса и поддерживает длительность 2–12 секунд, 24 кадра в секунду, а также горизонтальный, вертикальный, квадратный или кинематографический формат кадра.
- Допустимые входные данные
- Текст
- Результаты
- Видео
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Видео POST /v1/videos
- Входные данные
text- Результат
video
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения doubao-seedance-1-0-lite-t2v-250428 | По умолчанию— |
Полеcontent | Типarray | ТребованиеОбязательно | Значения и ограничения Условия: Нативные объекты текста и медиа; внешний массив должен быть непустым. Этот общий конструктор Ailoot не проверяет типы вложенных узлов. | По умолчанию— |
Полеduration | Типinteger | ТребованиеНеобязательно | Значения и ограничения Минимум: 2 Максимум: 12 Условия: Основная схема 1.x: 2–12; более позднее общее описание указывает для 1.5 диапазон 4–12 или -1. В примере используется значение 5, документированное в обоих случаях. | По умолчанию5 |
Полеresolution | Типstring | ТребованиеНеобязательно | Значения и ограничения 480p, 720p, 1080p Условия: Общее перечисление; 1080p исключён при референсных изображениях и для 1.5. Встроенное описание pro перечисляет 480p/1080p, тогда как верхнеуровневое перечисление включает 720p; однозначной гарантии поддержки 720p для pro нет. | По умолчанию720p |
Полеratio | Типstring | ТребованиеНеобязательно | Значения и ограничения 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Условия: Значения по умолчанию зависят от сцены и модели; документация для входного изображения рекомендует adaptive. | По умолчанию— |
Полеservice_tier | Типstring | ТребованиеНеобязательно | Значения и ограничения default, flex Условия: default=online, flex=offline; выберите до создания. | По умолчаниюdefault |
Полеseed | Типinteger | ТребованиеОбязательно | Значения и ограничения Минимум: -1 Максимум: 4 294 967 295 | По умолчанию-1 |
Полеcamerafixed | Типboolean | ТребованиеОбязательно | Значения и ограничения Условия: Требуется Ailoot; управление камерой по референсному изображению документировано как неподдерживаемое, и его действие не гарантируется. | По умолчаниюfalse |
Полеwatermark | Типboolean | ТребованиеОбязательно | Значения и ограничения | По умолчаниюfalse |
Полеexecution_expires_after | Типinteger | ТребованиеОбязательно | Значения и ограничения Минимум: 3 600 Максимум: 259 200 Единица: секунды | По умолчанию172 800 |
Сочетания входных материалов
Параметры и жизненный цикл метода
| Параметр | Контракт |
|---|---|
Параметрcontent_type | Контрактapplication/json |
Параметрrequired | Контрактcamerafixed, content, execution_expires_after, model, seed, watermark |
Параметрoptional | Контрактduration, resolution, ratio, service_tier |
Параметрmaterial_types | Контрактtext |
Параметрadditional_properties | Контрактtrue |
Параметрvalidation_scope | КонтрактAiloot проверяет типы обязательных полей, непустое значение model и непустой массив content. Остальные поля запроса сохраняются для выбранной модели. |
Псевдонимы метода: /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.
Проверяйте исходную задачу; после succeeded скачайте фактический content.video_url, принадлежащий Ailoot.
Тарифы
Как рассчитывается итоговая плата
Отображаемые тарифы позволяют оценить стоимость до генерации. Итоговое списание рассчитывается по стоимости, записанной для исходной генерации. Измеренная длительность результата и прогнозные объёмы не являются итоговым оплачиваемым объёмом.
Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.
- Быстрый режим
- Не указано При выборе быстрого режима
- Режим flex
- Не указано При выборе режима flex
- Максимальная интенсивность рассуждений
- Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)
Оценочные ставки для сравнения
Цены по конфигурациям
Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.
| Конфигурация | Шкала ставок | Прогноз количества | Расчётная единица | Плата |
|---|---|---|---|---|
| КонфигурацияБазовые тарифы на токены | Шкала ставокБазовая ставка | Прогноз количества— | Расчётная единица— | Плата Вход · Входные токены · Оценка только для сравнения — / 1K токенов Выход · Выходные токены · Оценка только для сравнения — / 1K токенов Вход · Чтение кэша · Оценка только для сравнения — / 1K токенов Вход · Запись в кэш · Оценка только для сравнения — / 1K токенов Вход · Запись в кэш, 1 час · Оценка только для сравнения — / 1K токенов |
| КонфигурацияUltra | Шкала ставок— | Прогноз количества— | Расчётная единицаза 1K видеотокенов | Плата Выход · Оценка только для сравнения $0.003 за 1K видеотокенов |
| КонфигурацияОриентировочная стоимость генерации | Шкала ставок— | Прогноз количестваОценка для одной генерации | Расчётная единица— | Плата Выход · Оценочная стоимость генерации · Оценка только для сравнения $0.144 оценка до генерации Эта оценка не является дополнительным списанием или фиксированным тарифом для завершённой генерации. |
Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →
Примеры запросов
Ailoot Ultra · Видео
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-1-0-lite-t2v-250428","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}],"resolution":"480p","ratio":"1:1","duration":5,"service_tier":"default","seed":-1,"camerafixed":false,"watermark":false,"execution_expires_after":172800}
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.startswith("native302_"):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 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("status")!="succeeded":raise SystemExit("Poll same original job until an owned result is returned.")
u=r.get("content",{}).get("video_url")
urls=[u] if isinstance(u,str) else u
if not isinstance(urls,list) or not urls:raise SystemExit("No completed video URL.")
for u in urls:
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 actual Ailoot-owned signed result.")
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 с публичными id/polling_url. После публикации content.video_url содержит подписанные URL, принадлежащие Ailoot; до публикации выбранные URL результатов очищаются.
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Сохраняйте все готовые результаты
Сохраните каждое готовое видео или полученный файл; загрузите содержимое по каждому фактически полученному URL материала.
Сохраните каждый фактический URL в content.video_url; index должен указывать на реальный возвращённый результат.
Если нужно проверить исходный ответ
Сохраните исходные ответ, заголовки и id и проверяйте эту операцию; никогда не повторяйте создание с неизвестным исходом.
Поля ответа
| Поле | Тип |
|---|---|
Полеid | Типstring |
Полеprovider_task_id | Типstring |
Полеpolling_url | Типstring |
Полеstatus | Типstring when supplied |
Полеcontent.video_url | Типstring|string[] |
Полеusage | Типobject when supplied |
Ошибки и дальнейшие шаги
| Ответ | Условие | Следующий шаг |
|---|---|---|
Ответ400 · invalid_request_error | УсловиеНедопустимые JSON/model, типы обязательных полей или индекс содержимого. | Следующий шаг |
Ответ401 · authentication_error | УсловиеНедействительный ключ Ailoot API. | Следующий шаг |
Ответ404 · not_found_error | УсловиеЗадача или результат отсутствуют либо не принадлежат тому же пользователю, ключу API или группе. | Следующий шаг |
Ответ502 · result_pending_check | УсловиеИсходная отправка или статус неполны; сохраните исходный ID, не отправляйте повторно. | Следующий шаг |
Ответ503 · result_pending_check | УсловиеИсходные медиа, маршрут или окончательный расчёт проверяются; продолжайте исходную операцию. | Следующий шаг |
Псевдонимы
Псевдонимы моделей
Ailoot Ultra doubao-seedance-1-0-lite-t2v-250428
Псевдонимы путей метода
/v1/videos/generations
Связанные ID для вызова
FAQ · ByteDance: Seedance 1.0 Lite Text-to-Video
- Какие входные данные и результаты доступны?
POST /v1/videos·doubao-seedance-1-0-lite-t2v-250428:text→video- Какие поля использует запрос?
POST /v1/videos·doubao-seedance-1-0-lite-t2v-250428:model,content,duration,resolution,ratio,service_tier,seed,camerafixed,watermark,execution_expires_after- Какие ограничения действуют?
POST /v1/videos·doubao-seedance-1-0-lite-t2v-250428:duration.minimum:2;duration.maximum:12;seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200