models

ByteDance: Seedance 1.0 Pro

Markdown · JSON

ByteDance: Seedance 1.0 Pro

Seedance 1.0 Pro создаёт видео без звука по тексту или начальному изображению. Опишите действие и камеру либо оживите существующую композицию: доступны длительность 2–12 секунд, 24 кадра в секунду и отдельные настройки кадрирования и разрешения результата.

О модели

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

Seedance 1.0 Pro создаёт видео по тексту или сцене, заданной изображением. Селектор doubao-seedance-1-0-pro-250528 поддерживает оба режима ввода, поэтому отправной точкой может быть письменная идея или существующая визуальная композиция. Используйте текстовое задание для новой сцены либо изображение, когда объект, расположение и начальный вид нужно задать визуально. Этот профиль 1.0 создаёт видео без звука; синхронизированный звук относится к отдельно описанному профилю 1.5 Pro.

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

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

Поле изображения принимает доступный URL или data URL с данными изображения в Base64. Документированные форматы: JPEG, PNG, WEBP, BMP, TIFF и GIF. Размер изображения должен быть меньше 30 MB, отношение ширины к высоте — строго между 0.4 и 2.5, а каждый размер — строго между 300 и 6000 пикселей. Подготовьте чёткий исходник с нужным кадрированием вместо миниатюры, в которой уже отсутствуют определяющие детали. Для генерации видео по изображению руководство рекомендует адаптивное кадрирование, следующее пропорциям референса.

Документированная длительность для 1.0 — от двух до двенадцати секунд, частота кадров — 24 кадра в секунду. Настройки результата включают 480p, 720p и 1080p; значение по умолчанию для Pro — 1080p. Руководство исключает 1080p в сценарии с изображением-референсом. Фиксированные форматы кадра: 16:9, 4:3, 1:1, 3:4, 9:16 и 21:9. Для плана на основе изображения выбирайте совместимое с изображением сочетание, а не переносите все настройки генерации по тексту без изменений. Проверьте фактическое кадрирование результата перед размещением клипа в макете.

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

Расход измеряется в видеотокенах: ширина результата × высота результата × частота кадров × длительность результата / 1024. Завершённая задача сообщает это количество в usage.completion_tokens. Сохраняйте полученное значение расхода вместе с готовым клипом и запрошенными настройками.

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

Ailoot Ultra · Видео POST /v1/videos doubao-seedance-1-0-pro-250528

doubao-seedance-1-0-pro-250528

ByteDance /doubao-seedance-1-0-pro-250528

Начало

Seedance 1.0 Pro создаёт видео без звука по тексту или начальному изображению. Опишите действие и камеру либо оживите существующую композицию: доступны длительность 2–12 секунд, 24 кадра в секунду и отдельные настройки кадрирования и разрешения результата.

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

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

Ailoot Ultra · Видео POST /v1/videos
Входные данные
text, image
Результат
video
ПолеТипТребованиеЗначения и ограниченияПо умолчанию
ПолеmodelТипstringТребованиеОбязательноЗначения и ограничения
doubao-seedance-1-0-pro-250528
По умолчанию—
ПолеcontentТипarrayТребованиеОбязательноЗначения и ограничения
Условия: Нативные объекты текста и медиа; внешний массив должен быть непустым. Этот общий конструктор Ailoot не проверяет типы вложенных узлов.
По умолчанию—
ПолеdurationТипintegerТребованиеНеобязательноЗначения и ограничения
Минимум: 2
Максимум: 12
Условия: Основная схема 1.x: 2–12; более позднее общее описание указывает для 1.5 диапазон 4–12 или -1. В примере используется значение 5, документированное в обоих случаях.
По умолчанию5
ПолеresolutionТипstringТребованиеНеобязательноЗначения и ограничения
Условия: Подтверждённые значения для генерации видео из текста — 480p и 1080p. При передаче референсного изображения 1080p исключается. Значение 720p в общем перечислении противоречит описанию модели, поэтому поддержка 720p остаётся неустановленной в обоих режимах.
По умолчанию1080p
Поле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, image
Параметрadditional_propertiesКонтрактtrue
Параметрvalidation_scopeКонтрактAiloot проверяет типы обязательных полей, непустое значение model и непустой массив content. Остальные поля запроса сохраняются для выбранной модели.
Параметрimage_constraintsКонтракт{"formats":["jpeg","png","webp","bmp","tiff","gif"],"aspect_ratio_exclusive":[0.4,2.5],"dimensions_px_exclusive":[300,6000],"file_size_mb_exclusive":30,"mb_bytes_definition":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 токенов
КонфигурацияUltraШкала ставок—Прогноз количества—Расчётная единицаза 1K видеотокеновПлата
Выход · Оценка только для сравнения $0.0044 за 1K видеотокенов
КонфигурацияОриентировочная стоимость генерацииШкала ставок—Прогноз количестваОценка для одной генерацииРасчётная единица—Плата
Выход · Оценочная стоимость генерации · Оценка только для сравнения $0.2112 оценка до генерации

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

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

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

Ailoot Ultra · Видео

curl · создать видеоcurl · прочитать исходную задачуcurl · скачать своё видео
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-1-0-pro-250528","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}/content
  • GET /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-pro-250528

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

/v1/videos/generations

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

doubao-seedance-1-0-pro-250528

FAQ · ByteDance: Seedance 1.0 Pro
Какие входные данные и результаты доступны?

POST /v1/videos · doubao-seedance-1-0-pro-250528: text, image → video

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

POST /v1/videos · doubao-seedance-1-0-pro-250528: model, content, duration, resolution, ratio, service_tier, seed, camerafixed, watermark, execution_expires_after

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

POST /v1/videos · doubao-seedance-1-0-pro-250528: duration.minimum: 2; duration.maximum: 12; seed.minimum: -1; seed.maximum: 4294967295; execution_expires_after.minimum: 3600; execution_expires_after.maximum: 259200

Подробнее

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

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

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

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

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

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

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

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

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

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

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