ByteDance: Seedance 2.0 Fast
Seedance 2.0 Fast — мультимодальный профиль Fast для создания, редактирования и продолжения видео. Он принимает текст, изображения, видео- и аудиореференсы, поддерживает результат с синхронизированным звуком или без звука, а в документации указаны клипы длительностью 4–15 секунд в 480p или 720p.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
Seedance 2.0 Fast — отдельно названный профиль Fast, выбираемый через doubao-seedance-2-0-fast-260128. Он поддерживает создание, редактирование и продолжение видео с использованием текста, изображений, видео- и аудиореференсов. Профиль полезен, когда заданию сцены нужно больше, чем описание внешнего вида: существующие материалы могут также передать исполнение, операторские приёмы и звук. Название Fast отличает идентификатор запроса; оно не обещает завершения отдельной асинхронной задачи за фиксированное время.
Начните с элемента, который должен задать новый план. Одного текста достаточно для описания новой сцены. Изображение может задать персонажа, товар или композицию; видео — движение или существующую последовательность для правки либо продолжения. Документированные сочетания содержимого включают изображения со звуком, видео со звуком и изображения, видео и звук вместе; рядом с визуальными материалами текст необязателен. Эти сочетания не описывают отдельный запрос только с аудио, поэтому соединяйте звуковые референсы с визуальным исходником, которым они должны управлять.
Явно задавайте роли референсов в массиве content и в задании. Элементы image_url, video_url и audio_url могут нести роли reference_image, reference_video и reference_audio. Опишите, какое изображение задаёт объект, какое видео — камеру или действие, какое аудио — звуковую дорожку. В товарном плане изображение может определять упаковку, а видео — показывать движение мимо объекта. Задайте нужный финал, чтобы короткая последовательность завершалась полезным видом, а не обрывалась посреди действия.
Для редактирования укажите исходное видео, требуемое изменение и согласованность с исходной сценой, которую нужно сохранить. При изменении фона или освещения нужные объект и действие должны оставаться явно описанными. Для продолжения объясните, что происходит дальше и как новое движение связано с существующей сценой. Референсы направляют генерацию; проверяйте фактический стык и весь клип на внешний вид, направление движения и временное согласование, а не предполагайте, что продолжение сохраняет каждую покадровую деталь.
Документированный диапазон 2.0 Fast — от четырёх до пятнадцати целых секунд; -1 позволяет модели выбрать длительность в этом диапазоне. Длительность по умолчанию — пять секунд. Разрешение результата — 480p или 720p, по умолчанию — 720p, а 1080p исключено. Выберите фиксированный формат 16:9, 4:3, 1:1, 3:4, 9:16 или 21:9 либо адаптивное кадрирование. Адаптивное кадрирование следует соответствующему тексту или референсу; план с первым кадром следует начальному изображению, а мультимодальное кадрирование может отдавать приоритет видео перед изображениями. Смотрите фактические длительность и соотношение сторон в возвращённых полях задачи.
Через generate_audio выберите, включает ли созданное видео синхронизированный звук. Документированное значение по умолчанию — true; false запрашивает тишину. При включённом звуке профиль создаёт голоса, эффекты или фоновую музыку по тексту и визуальному содержимому, а руководство рекомендует заключать реплики в двойные кавычки. Укажите говорящего и нужную связь звука с действием. Проверьте речь с человеком, свободно владеющим языком, и согласование звука во всём клипе, включая отредактированный или продолженный участок.
Руководство 2.0 Fast исключает старые настройки frames и camera_fixed и не поддерживает отложенную обработку flex. Опишите поведение камеры в сцене и используйте duration для длины клипа. Начальное значение генерации и водяной знак остаются документированными настройками. Одинаковый seed не гарантирует идентичного результата, поэтому при сравнении версий сохраняйте готовый материал, а не полагайтесь только на настройки запроса.
Расход видеотокенов рассчитывается так: (длительность входного видео + длительность выходного видео) × ширина результата × высота результата × частота кадров результата / 1024. Запросы с входным видео и без него относятся к разным категориям тарификации. Запрос задачи сообщает usage.completion_tokens и usage.total_tokens; сохраняйте эти полученные значения вместе с готовым клипом.
Отправка возвращает идентификатор задачи до появления готового видео. Отслеживайте статус обработки, затем после успеха получите content.video_url и храните вместе с результатом сообщённые длительность, разрешение, соотношение сторон, частоту кадров и расход. Срок действия отсчитывается от создания задачи, по умолчанию равен 172800 секундам и лежит в диапазоне от 3600 до 259200 секунд. Сохраните итоговый клип с референсами и текстом запроса, затем проверьте идентичность объекта, контакт предметов, непрерывность движения камеры и синхронизацию звука во всей последовательности.
Ailoot Ultra · Видео POST /v1/videos doubao-seedance-2-0-fast-260128
doubao-seedance-2-0-fast-260128
doubao-seedance-2-0-fast-260128Начало
Seedance 2.0 Fast — мультимодальный профиль Fast для создания, редактирования и продолжения видео. Он принимает текст, изображения, видео- и аудиореференсы, поддерживает результат с синхронизированным звуком или без звука, а в документации указаны клипы длительностью 4–15 секунд в 480p или 720p.
- Допустимые входные данные
- Текст · Картинки · Видео · Аудио
- Результаты
- Видео
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Видео POST /v1/videos
- Входные данные
text,image,video,audio- Результат
video
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения doubao-seedance-2-0-fast-260128 | По умолчанию— |
Полеcontent | Типarray | ТребованиеОбязательно | Значения и ограничения Условия: Нативные объекты текста и медиа; внешний массив должен быть непустым. Этот общий конструктор Ailoot не проверяет типы вложенных узлов. | По умолчанию— |
Полеgenerate_audio | Типboolean | ТребованиеНеобязательно | Значения и ограничения Условия: Синхронизированный звук, встроенный в видео. | По умолчаниюtrue |
Полеduration | Типinteger | ТребованиеНеобязательно | Значения и ограничения Условия: Целое число 4–15 или -1; возвращается фактическая длительность результата. | По умолчанию5 |
Полеresolution | Типstring | ТребованиеНеобязательно | Значения и ограничения 480p, 720p Условия: Для 2.0/fast явно указано отсутствие поддержки 1080p. | По умолчанию720p |
Полеratio | Типstring | ТребованиеНеобязательно | Значения и ограничения 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Условия: Adaptive явно отнесён к 2.0/fast/1.5; в примере для 2.5 — только 16:9. | По умолчаниюadaptive |
Полеwatermark | Типboolean | ТребованиеНеобязательно | Значения и ограничения | По умолчаниюfalse |
Полеseed | Типinteger | ТребованиеНеобязательно | Значения и ограничения Минимум: -1 Максимум: 4 294 967 295 | По умолчанию-1 |
Полеexecution_expires_after | Типinteger | ТребованиеНеобязательно | Значения и ограничения Минимум: 3 600 Максимум: 259 200 Единица: секунды | По умолчанию172 800 |
Полеservice_tier | Типstring | ТребованиеНеобязательно | Значения и ограничения default Условия: Для 2.0/fast режим offline flex исключён; применимость к 2.5 не установлена. | По умолчаниюdefault |
Полеsafety_identifier | Типstring | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
Полеtools | Типobject | ТребованиеНеобязательно | Значения и ограничения Условия: Только 2.0/fast; документировано type=web_search. | По умолчанию— |
Сочетания входных материалов
Параметры и жизненный цикл метода
| Параметр | Контракт |
|---|---|
Параметрcontent_type | Контрактapplication/json |
Параметрrequired | Контрактcontent, model |
Параметрoptional | Контрактgenerate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier, tools |
Параметрmaterial_types | Контрактtext, image, video, audio |
Параметрadditional_properties | Контрактtrue |
Параметрvalidation_scope | КонтрактAiloot проверяет типы обязательных полей, непустое значение model и непустой массив content. Остальные поля запроса сохраняются для выбранной модели. |
Параметрmaterial_combinations | Контрактtext, image, video, image, audio, image, video, video, audio, image, video, audio |
Параметрoptional_text_with_media | Контрактtrue |
Параметрreference_media_count_and_size_limits | Контрактnull |
Псевдонимы метода: /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 токенов |
| КонфигурацияВо входных данных есть видео. | Шкала ставок— | Прогноз количества— | Расчётная единицаза 1K видеотокенов | Плата Выход · Оценка только для сравнения $0.007536 за 1K видеотокенов |
| КонфигурацияВо входных данных нет видео. | Шкала ставок— | Прогноз количества— | Расчётная единицаза 1K видеотокенов | Плата Выход · Оценка только для сравнения $0.013032 за 1K видеотокенов |
| КонфигурацияОриентировочная стоимость генерации | Шкала ставок— | Прогноз количестваОценка для одной генерации | Расчётная единица— | Плата Выход · Оценочная стоимость генерации · Оценка только для сравнения $0.822402 оценка до генерации Эта оценка не является дополнительным списанием или фиксированным тарифом для завершённой генерации. |
Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →
Примеры запросов
Ailoot Ultra · Видео
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-2-0-fast-260128","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}]}
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-2-0-fast-260128
Псевдонимы путей метода
/v1/videos/generations
Связанные ID для вызова
FAQ · ByteDance: Seedance 2.0 Fast
- Какие входные данные и результаты доступны?
POST /v1/videos·doubao-seedance-2-0-fast-260128:text,image,video,audio→video- Какие поля использует запрос?
POST /v1/videos·doubao-seedance-2-0-fast-260128:model,content,generate_audio,duration,resolution,ratio,watermark,seed,execution_expires_after,service_tier,safety_identifier,tools- Какие ограничения действуют?
POST /v1/videos·doubao-seedance-2-0-fast-260128:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200