Руководство по использованию
Создание коротких видео с помощью Seedance-2.0-Fast через API hiapi
TL;DR
- Что это: полный рабочий процесс создания вертикальных коротких видео в стиле TikTok/Reels с помощью seedance-2.0-fast через API hiapi — от первого асинхронного вызова до рендеринга целой недели постов с помощью пакетного скрипта. Встроенное ниже короткое видео было сгенерировано с помощью точно таких же запросов, как показано в этом руководстве.
- Почему эта модель для коротких видео: нативный вывод
9:16, длительность 4–15 секунд, цена рендеринга 720p — $0.1772 за секунду — 5-секундное вертикальное видео стоит около $0.89 (актуальные цены). Черновой тариф 480p — $0.0843 за секунду, что позволяет дешево дорабатывать вступительный хук, прежде чем фиксировать финальный рендер. - Проверенные факты об API:
prompt,resolution(480p|720p) иduration(целое число, 4–15) обязательны.aspect_ratioпринимает1:1,4:3,3:4,16:9,9:16,21:9,adaptive. Видео из изображения передается черезimage_urlsкак статичное изображение. Все работает через единый асинхронный эндпоинт/v1/tasks— не нужно изучать отдельный API, специфичный для видео. - Рабочий процесс: сначала создайте черновик в 480p, чтобы зафиксировать концепцию, затем перерендерите финальную версию в 720p, и поскольку отправка задач не блокирует, можно параллельно распределять несколько запросов.
Почему seedance-2.0-fast подходит для цикла коротких видео
Контент для коротких видео — это игра масштаба: вы редко публикуете одно видео, вы публикуете целую очередь и оставляете то, что работает. Это меняет реальные требования к видеомодели: быстрый, дешевый, нативный вертикальный вывод важнее исходного качества изображения. seedance-2.0-fast построен именно вокруг такого компромисса:
- Поминутная оплата делает итерации контролируемыми по стоимости. В 480p 4-секундный черновик стоит около $0.34; 5-секундное видео, как ниже, стоит $0.42 в 480p и $0.89 в 720p. Поскольку оплата рассчитывается строго как
duration × rate,duration— ваш единственный рычаг стоимости — нет отдельной надбавки за «качество», которую нужно учитывать в бюджете (проверено по актуальной странице цен). - Нативный
9:16. Вы рендерите вертикально напрямую черезaspect_ratio, а не обрезаете 16:9 видео, теряя композицию, описанную в запросе. - Режим референсного видео дешевле, а не дороже. Передача короткого видео
reference_video_urlsдля руководства стилем/движением снижает тариф до $0.1072 за секунду в 720p и $0.0486 за секунду в 480p — это полезно, когда вы нашли стиль, который хотите повторять во всей партии.
Если вы публикуете акцентные работы, а не ежедневный массовый контент, рабочий процесс ниже все равно применим — для более широкого обзора модели см. нашу сопутствующую статью seedance-2.0-fast для интеграции API.
Подготовка
Вам нужен ключ API hiapi — SDK не требуется:
export HIAPI_API_KEY="sk-..."
Каждая видеомодель на hiapi использует один и тот же асинхронный эндпоинт задач: POST https://api.hiapi.ai/v1/tasks немедленно возвращает taskId, затем вы опрашиваете GET /v1/tasks/{taskId}, пока задача не завершится. Полный справочник см. в документации.
Ваше первое вертикальное короткое видео
Минимальный допустимый запрос требует prompt, resolution и duration. Добавьте aspect_ratio: "9:16" для формата короткого видео:
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0-fast",
"input": {
"prompt": "Крупный вертикальный план: руки кладут золотистый блин на вершину высокой стопки блинов, блины на стеклянном блюде на деревенском деревянном столе на солнечной кухне в стиле фермерского дома, поднимается пар. Теплый утренний свет падает слева. Затем медленная струя меда выливается на верхний блин, блестя на свету, пар продолжает подниматься. Уютный, естественный, с ощущением съемки с рук, малая глубина резкости, теплые тона. Без текстовых наложений.",
"resolution": "720p",
"aspect_ratio": "9:16",
"duration": 5
}
}'
Ответ немедленно возвращает ID задачи:
{"code": 200, "data": {"taskId": "tk-hiapi-..."}, "message": "success"}
Опрашивайте, пока status не станет success, затем сразу скачайте output[0].url — этот URL имеет ограниченный срок действия. Ниже видео, которое фактически сгенерировал этот запрос:
Этот рендер получился 720×1280 (чистый 9:16), длительностью чуть более 5 секунд, оплата составила $0.886 — ровно 5 × $0.1772, что на практике подтверждает поминутную оплату, а не только заявление на странице цен.
Схема входных данных, проверенная на живом API
Схема seedance-2.0-fast строгая — отправка неподдерживаемых полей приводит к 400, а не к молчаливому игнорированию параметров:
| Поле | Тип | Обязательно | Значения |
|---|---|---|---|
prompt |
string | ✅ | Описание вашего кадра |
resolution |
string | ✅ | 480p, 720p |
duration |
integer | ✅ | 4–15 (секунд) |
aspect_ratio |
string | Необязательно | 1:1, 4:3, 3:4, 16:9, 9:16, 21:9, adaptive |
image_urls |
array | Необязательно | Исходное статичное изображение для видео из изображения |
Если обязательное поле опущено, задача будет отклонена до создания чего-либо — за некорректные запросы не взимается плата. Строго соблюдайте имена полей из этой таблицы; скрипты для коротких видео, написанные для других видеомоделей (с motion_strength, seed, first_frame_url), здесь получат 400, а не будут проигнорированы.
Переиспользуемая функция Python
Отправка, опрос, скачивание — около 30 строк кода покрывают производственный цикл:
import os, time, requests
API = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"}
def submit(prompt: str, duration: int = 5, resolution: str = "720p",
aspect_ratio: str = "9:16", **extra) -> str:
r = requests.post(API, headers=HEADERS, json={
"model": "seedance-2.0-fast",
"input": {"prompt": prompt, "duration": duration,
"resolution": resolution, "aspect_ratio": aspect_ratio, **extra},
}, timeout=60)
data = r.json()
task_id = (data.get("data") or {}).get("taskId")
if not task_id:
raise RuntimeError(f"submit failed: {data}")
return task_id
def wait(task_id: str, timeout_s: int = 900) -> dict:
deadline = time.time() + timeout_s
while time.time() < deadline:
task = requests.get(f"{API}/{task_id}", headers=HEADERS, timeout=30).json()["data"]
if task["status"] == "success":
return task
if task["status"] == "fail":
raise RuntimeError(f"task failed: {task.get('error')}")
time.sleep(8)
raise TimeoutError(task_id)
def make_clip(prompt: str, out_path: str, **kw):
task = wait(submit(prompt, **kw))
url = task["output"][0]["url"] # 有时效限制——立即下载
with open(out_path, "wb") as f:
f.write(requests.get(url, timeout=120).content)
5-секундный рендер 720p обычно завершается в течение одной-двух минут; при пиковой нагрузке закладывайте до примерно 10 минут, прежде чем считать это таймаутом.
Видео из изображения: начать с фиксированного кадра
Для коротких видео, ориентированных на продукт или бренд, реальный риск — дрейф запроса: вы хотите, чтобы в кадре был ваш продукт или тарелка, а не интерпретация модели. image_urls решает эту проблему: сгенерируйте или снимите статичное изображение, а затем оживите его.
task_id = submit(
"Стопка блинов мягко опускается, пар продолжает виться вверх, затем мед начинает выливаться из кадра, первые капли падают на верхний блин. Медленное, стабильное движение с ощущением съемки с рук, теплый утренний свет.",
duration=5, resolution="720p", aspect_ratio="9:16",
image_urls=["https://your-cdn.example/pancake-still.jpg"],
)
Композиция, освещение и положение субъекта фиксируются на вашем референсном изображении — запрос должен только описать последующее движение. Это идеально для любого видео, где начальный кадр важнее интуиции модели (блюдо, изображение продукта, брендовая сцена).
Пакетная генерация видео на день
Поскольку /v1/tasks асинхронен, массовое производство — это просто: отправить все, затем собрать.
briefs = [
("hook-pancakes", "Крупный вертикальный план: руки складывают золотистые блины в стопку……"),
("hook-latte", "Вертикальный план: пар поднимается над свежим латте, когда вливается молоко……"),
("hook-citrus", "Вертикальный макроплан: нож разрезает цитрусовый фрукт……"),
]
tasks = {name: submit(p, duration=5) for name, p in briefs} # параллельная отправка
for name, tid in tasks.items(): # сбор результатов
result = wait(tid)
url = result["output"][0]["url"]
open(f"{name}.mp4", "wb").write(requests.get(url, timeout=120).content)
Стоимость остается предсказуемой, поскольку оплата строго по duration × rate:
| Сценарий | Характеристики | Стоимость |
|---|---|---|
| 1 итерация черновика | 4 секунды · 480p | около $0.34 |
| 1 готовое к публикации видео | 5 секунд · 720p | около $0.89 |
| 5 видео (ежедневная партия) | 5 × 5 секунд · 720p | около $4.43 |
| Партия с согласованием стиля | 5 секунд · 720p с reference_video_urls |
около $0.54 за штуку |
Рабочий процесс, который выдерживает практику: создайте черновики каждого идеи в 480p, оставьте те, что достойны публикации, и перерендерите только их в 720p. Как только вы найдете стиль, достойный повторения, reference_video_urls зафиксирует стиль по более низкому поминутному тарифу, чем свежий рендер 720p.
Советы по запросам для ленты
Факторы, которые действительно формировали вывод в тестовых рендерах, особенно для коротких видео:
- Описывайте кадр как вертикальный и устанавливайте
aspect_ratio: "9:16"для соответствия. Запросы, написанные для сцен 16:9, при принудительном переводе в 9:16 обрезаются по центру; заранее описывайте крупную вертикальную композицию (как в видео с блинами выше), чтобы субъект заполнял кадр. - Начинайте с движения, а не с обстановки. Начальный момент короткого видео для ленты должен уже что-то делать — рука уже складывает, мед уже льется — а не начинать с медленного установочного кадра перед вознаграждением.
- Держите одно четкое действие на видео. 5-секундный рендер выше делает ровно две вещи по порядку (складывание, затем полив), и читается ясно; если впихнуть в одно видео три несвязанных действия, они часто все становятся размытыми.
- Указывайте освещение и материалы. «Теплый утренний свет», «поднимается пар», «блестя на свету» — конкретные сенсорные детали — это то, что отличает конкретный, аппетитный рендер от обобщенного.
Часто задаваемые вопросы
Особенно ли seedance-2.0-fast подходит для TikTok и Reels?
Да — нативная поддержка 9:16 и поминутная оплата (а не фиксированная цена за штуку) делают его очень подходящим для ритма публикаций, когда вы рендерите несколько коротких вариантов и оставляете самый сильный.
Сколько стоит одно короткое видео?
В 720p стоимость составляет длительность (секунды) × $0.1772. 5-секундное видео — $0.886; 10-секундное видео — $1.772. В 480p тариф снижается до $0.0843 за секунду. Перед бюджетированием целой партии обязательно проверьте актуальные тарифы на странице цен.
Могу ли я оживить статичное изображение, а не генерировать только из текста?
Да, через image_urls в запросе — см. раздел о видео из изображения выше. Это более надежный путь, когда конкретный продукт, тарелка или сцена должны появиться точно такими, как на съемке.
Какое самое короткое и самое длинное видео я могу сгенерировать?
duration принимает целые числа от 4 до 15 секунд. Дробные части секунд не поддерживаются.
Влияет ли разрешение на что-то кроме размера пикселей и цены?
В самой схеме — нет: resolution управляет только размером вывода и поминутным тарифом. Композиция и движение полностью определяются запросом и aspect_ratio.
Итог
Создание коротких видео с seedance-2.0-fast сводится к одному асинхронному эндпоинту, трем обязательным полям и поминутной оплате, которая поощряет итерации перед фиксацией: создавайте черновики вертикальных концепций в 480p, если конкретный продукт или субъект должен появиться точно, используйте image_urls, чтобы зафиксировать начальный кадр победного варианта, затем перерендерите финальную версию в 720p. Получите ключ API и начните с запроса в начале этого руководства — страница модели seedance-2.0-fast содержит полный справочник параметров и актуальные цены, чтобы продолжить изучение.
Похожие статьи
Все статьи →-
Руководство по использованию
Руководство по началу работы с seedream-5.0-pro/image-to-image: возможности, цены и ключевые моменты интеграции
Границы возможностей модели редактирования изображений ByteDance, принципы тарификации и практика инженерной интеграции
-
Руководство по использованию
Руководство по использованию seedream-5.0-pro text-to-image: границы возможностей, интеграция API и контроль затрат
Практический взгляд для разработчиков: от ключевых параметров до оценки стоимости $0.05 за изображение
-
Руководство по использованию
Руководство по началу работы с Hailuo 2.3 Fast для генерации видео из изображений: границы возможностей, цены и практика интеграции
Ключевые моменты выбора и интеграции модели MiniMax для генерации видео из изображений для разработчиков