Руководство
Как использовать API Seedance 2.5 для генерации видео из текста? Запуск прямо в curl и Python
Один промпт — видео длиной 4–30 секунд со звуком; параметры, стоимость и что учесть перед запуском в продакшн — всё сразу.
TL;DR
- Для
seedance-2.5/text-to-videoдостаточно одного промпта, чтобы получить видео длиной 4–30 секунд со встроенным звуком. Откройте страницу модели, чтобы сгенерировать онлайн; новым пользователям при регистрации дают 200 кредитов. - Оплата по секундам: 720p — $0.204 за секунду, 1080p — $0.516 за секунду. 5 секунд в 720p — $1.02.
- API в два шага:
POST /v1/tasksдля отправки, затем поtaskIdузнать результат. Примеры curl и Python ниже можно скопировать и запустить.
Сначала посмотрите реальный результат
Это 8-секундное видео в 720p сгенерировано одним промптом за один запрос; звук вспенивания молока, стук чашек и людской гомон в кафе модель создала сама:
A barista in a small morning cafe pours steamed milk into a cup, drawing a latte art leaf.
The camera starts on her hands and slowly pulls back to reveal the counter and a sign on the wall that reads 'OPEN'.
Warm window light, realistic, smooth motion. Sound: milk steaming, cups clinking, quiet cafe chatter.
Сгенерировать с этим промптом → (8 секунд, 720p)
seedance-2.5/text-to-video, 720p, 8 секунд, со звуком, $1.632.
Два пути к началу работы
Онлайн (без программирования)
- Откройте страницу модели Seedance 2.5 видео из текста, зарегистрируйтесь или войдите.
- Вставьте промпт, выберите длительность, разрешение и соотношение сторон.
- Нажмите «Сгенерировать» и скачайте готовое видео.
Вызов через API
- Создайте API Key в консоли.
- Отправьте задачу через
POST https://api.hiapi.ai/v1/tasks— вернётсяtaskId. - Проверяйте статус по
GET /v1/tasks/{taskId}; когдаstatusравенsuccess, скачайте видео поoutput[0].url.
curl: первое видео
Сначала запустим 5 секунд в 720p, $1.02:
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5/text-to-video",
"input": {
"prompt": "Бумажный самолётик скользит по залитому солнцем офису, пылинки плывут в лучах света, камера медленно следует за самолётиком",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}
}'
Ответ:
{"code": 200, "data": {"taskId": "tk-hiapi-..."}, "message": "success"}
Проверка результата:
curl https://api.hiapi.ai/v1/tasks/tk-hiapi-... \
-H "Authorization: Bearer $HIAPI_KEY"
Во время генерации status равен handling, после завершения становится success, адрес видео — в output[0].url.
Python: отправка, опрос, скачивание
# pip install requests; сначала export HIAPI_KEY=ваш_ключ
import os, time, uuid, requests
KEY = os.environ["HIAPI_KEY"]
H = {"Authorization": f"Bearer {KEY}"}
def generate(prompt, model="seedance-2.5/text-to-video", timeout_s=900, **params):
body = {"model": model, "input": {"prompt": prompt, **params}}
# При повторной отправке одной и той же задачи передавайте тот же Idempotency-Key, чтобы избежать двойного списания
headers = {**H, "Idempotency-Key": str(uuid.uuid4())}
r = requests.post("https://api.hiapi.ai/v1/tasks", json=body, headers=headers, timeout=30)
r.raise_for_status()
res = r.json()
if res.get("code") != 200:
raise RuntimeError(res)
task_id = res["data"]["taskId"]
deadline = time.time() + timeout_s
while time.time() < deadline:
d = requests.get(f"https://api.hiapi.ai/v1/tasks/{task_id}", headers=H, timeout=30).json()["data"]
if d["status"] == "success":
return d["output"][0]["url"]
if d["status"] == "fail":
raise RuntimeError(d)
time.sleep(10)
raise TimeoutError(task_id)
url = generate(
"Бумажный самолётик скользит по залитому солнцем офису, пылинки плывут в лучах света, камера медленно следует за самолётиком",
duration=5, resolution="720p", aspect_ratio="16:9",
)
with open("clip.mp4", "wb") as f:
f.write(requests.get(url).content)
Сводка параметров
| Параметр | Значения | Описание |
|---|---|---|
prompt |
Строка, обязательно | Можно на китайском и английском |
duration |
Целое число от 4 до 30, по умолчанию 5 | В секундах, оплата по секундам |
resolution |
720p / 1080p, по умолчанию 720p |
Цена 1080p примерно в 2.5 раза выше, чем 720p |
aspect_ratio |
16:9 4:3 1:1 3:4 9:16 21:9 adaptive, по умолчанию adaptive |
Для вертикальных коротких видео используйте 9:16 |
generate_audio |
По умолчанию true |
Звук генерируется вместе с изображением |
output_format |
mp4 / mov |
Генерация видео из текста не принимает никаких ссылок на изображения или видео. Чтобы начать с изображения, используйте Seedance 2.5 видео из изображения; чтобы взять движение и операторскую работу из существующего видео — Seedance 2.5 видео по референсу.
Посчитаем стоимость
| Длительность | 720p ($0.204/сек) | 1080p ($0.516/сек) |
|---|---|---|
| 5 секунд | $1.02 | $2.58 |
| 10 секунд | $2.04 | $5.16 |
| 15 секунд | $3.06 | $7.74 |
| 30 секунд | $6.12 | $15.48 |
За $10 в 720p можно сгенерировать примерно 49 секунд. Рекомендуем сначала настроить промпт на коротких роликах в 720p, а затем делать финальное видео в 1080p. Подробнее о расчётах — в цене API Seedance 2.5.
Что учесть перед запуском в продакшн
- Используйте callback вместо опроса: добавьте на верхний уровень запроса (на одном уровне с
input)"callback": {"url": "https://ваш-домен/hiapi/callback"}— по завершении задачи HiAPI сам пришлёт уведомление; дедуплицируйте поtaskId. - Сразу сохраняйте результат:
output[0].url— временная ссылка (по умолчанию хранится около 7 дней); получив её, сразу сохраните видео в своё хранилище. - Повторяйте с ключом идемпотентности: добавьте в заголовки
Idempotency-Key; повтор с тем же ключом создаст задачу только один раз и не приведёт к повторному списанию. - Указывайте все параметры: явно задавайте
duration,resolutionиaspect_ratio, чтобы стоимость и формат совпадали с бюджетом. - Автовозврат при ошибке: оплата взимается только за успешно сгенерированные видео.
Частые вопросы
Можно ли писать промпт на китайском?
Да. Чтобы результат был стабильным, описывайте движение камеры, движение объекта и звук отдельными предложениями.
Какая максимальная длительность?
Одно видео — 4–30 секунд. Это вдвое больше прежнего лимита Seedance 2.0 в 15 секунд, подходит для длинных непрерывных кадров.
Можно ли сэкономить, отключив звук?
Установите generate_audio в false, чтобы отключить звук, но цена рассчитывается по разрешению и количеству секунд и от этого не снижается.
Как выбрать между Seedance 2.0 и 2.5?
Если нужны более длинные ролики и больше референсных материалов — выбирайте 2.5; если приоритет — бюджет или нужно 4K, выбирайте линию ext в 2.0 ($0.134 за секунду в 720p). Подробное сравнение — в различиях Seedance 2.5 и 2.0.
Больше готовых формулировок — в руководстве по Seedance 2.5; также можно скопировать промпт про латте-арт выше и сгенерировать на странице модели.
Похожие статьи
Все статьи →-
Руководство
Как вызвать hailuo-2.3-fast/image-to-video через HiAPI API: практика с curl и Python
Первый рабочий запрос к быстрому и недорогому уровню генерации видео по изображению — от ID модели до загрузки MP4
-
Руководство
Как вызывать hailuo-2.3/text-to-video через API HiAPI: curl, Python и рабочие примеры запросов
-
Руководство
Использование Kandinsky 6.0 Pro для преобразования текста в видео на HiAPI: руководство по curl и Python
Практическая демонстрация с упором на запросы: построение вызова от промпта до видеоклипа, отправка запроса, опрос статуса завершения и скачивание результата