Руководство
Seedance 2.5 API для генерации видео по референсу: переносим движение камеры из референсного видео на новый объект
Длительность референсного видео тоже тарифицируется — разбираем, как считается стоимость и как писать @video1 в промпте.
TL;DR
seedance-2.5/reference-to-videoберёт готовое видео как референс, сохраняет его движение камеры, ритм и действия, а затем заменяет объект, меняет стиль или подставляет референсную музыку.Откройте страницу модели — и генерируйте онлайн, новым пользователям при регистрации дарим 200 кредитов.- Оплата по секундам, длительность референсного видео тоже входит в стоимость: стоимость = цена за секунду × (длительность референсного видео + длительность вывода). 480p — $0.1215/сек, 720p — $0.2715/сек, 1080p — $0.68/сек.
- 5 секунд референса + 5 секунд вывода: 480p — $1.215, 720p — $2.715. Дешевле всего сначала отлаживать промпт на 480p.
Сначала посмотрим на реальный результат: заменяем объект, сохраняем движение камеры
Референсное видео — реклама беговых кроссовок, референсное изображение — флакон духов. Промпт заставляет модель повторить порядок кадров и движение камеры из рекламы кроссовок, полностью заменив кроссовки духами:
Use @video1 strictly as the reference for shot progression, product rotation, camera paths, pacing, macro close-ups, and lighting transitions. Replace the shoe completely with the perfume bottle from @image1. Preserve the bottle's exact silhouette, amber glass color, cap proportions, label placement, and premium material appearance in every shot. Present it as a luxury fragrance commercial on a dark obsidian pedestal, with warm amber rim light, controlled reflections, fine atmospheric mist, and precise macro detail. Follow the visual rhythm and camera choreography of @video1 while keeping one consistent perfume bottle throughout. Do not transfer shoe laces, soles, fabric textures, or shoe-shaped geometry into the bottle. Do not invent extra products, readable brand text, logos, hands, or people.
Сгенерировать с этим промптом → (загрузите своё референсное видео и изображение продукта, 480p, 9:16)
seedance-2.5/reference-to-video, 480p, 9:16, вывод 4 секунды, звук генерируется моделью.
@video1 и @image1 — это номера материалов в промпте, они соответствуют первому адресу в reference_video_urls и reference_image_urls в порядке передачи. Фраза в конце «не переноси шнурки и подошву в флакон духов» так же важна, как и позитивное описание выше: если не прописать это явно, модель перенесёт детали из референсного видео.
curl: первое видео
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5/reference-to-video",
"input": {
"prompt": "沿用 @video1 的运镜和节奏,把主体换成 @image1 里的产品,光线和构图保持一致",
"reference_video_urls": ["https://your-cdn.example.com/reference-clip.mp4"],
"reference_image_urls": ["https://your-cdn.example.com/product.jpg"],
"duration": 5,
"resolution": "480p",
"aspect_ratio": "9:16"
}
}'
Если референсное видео длится 5 секунд, эта задача тарифицируется как 10 секунд в 480p — $1.215.
В ответе вернётся taskId, затем проверяем результат:
curl https://api.hiapi.ai/v1/tasks/tk-hiapi-... \
-H "Authorization: Bearer $HIAPI_KEY"
Когда status станет success, скачайте видео из output[0].url.
Python: отправка, опрос, скачивание
# pip install requests;先 export HIAPI_KEY=你的 Key
import os, time, uuid, requests
KEY = os.environ["HIAPI_KEY"]
H = {"Authorization": f"Bearer {KEY}"}
def generate(prompt, model="seedance-2.5/reference-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(
"保留 @video1 里柯基奔跑的节奏和低机位跟拍,把整个画面改成毛毡定格动画风格",
reference_video_urls=["https://your-cdn.example.com/corgi-run.mp4"],
duration=5, resolution="480p", aspect_ratio="16:9",
)
with open("clip.mp4", "wb") as f:
f.write(requests.get(url).content)
Три типичных сценария использования
1. Замена объекта с сохранением движения камеры (пример с духами выше): референсное видео + референсное изображение. В промпте чётко пропишите «что берём из @video1», «что берём из @image1» и «что не переносить».
2. Перенос только действий с полной сменой стиля: передаём только референсное видео. Пример ниже превращает реальную съёмку бегущего корги в шерстяную stop-motion анимацию с сохранением ритма бега и движения камеры:
Use @video1 as the sole visual reference. Preserve the corgi's recognizable markings, running cadence, stride timing, body orientation, forward momentum, and the low side-tracking camera movement. Reimagine the entire scene as a handcrafted stop-motion film made from felt, wool, miniature grass, and painted paper scenery. Keep the warm sunset backlight and continuous chase rhythm, with subtle handmade texture and natural depth of field. Maintain one coherent corgi throughout the shot, anatomically stable legs, smooth forward motion, and a continuous camera path. Do not introduce additional animals, text, logos, abrupt cuts, or unrelated objects.
Сгенерировать с этим промптом → (загрузите своё референсное видео)
seedance-2.5/reference-to-video, 480p, только референсное видео, вывод 4 секунды.
3. Видео + изображение + аудио вместе: добавьте reference_audio_urls и укажите в промпте через @audio1, какой кадр должен совпасть с какой точкой музыки — это гораздо точнее, чем просто написать «с музыкой». Референсное аудио нужно передавать вместе с референсным видео.
Обзор параметров
| Параметр | Значения | Описание |
|---|---|---|
prompt |
строка, обязательный | Ссылайтесь на материалы через @video1 @image1 @audio1 |
reference_video_urls |
обязательный, 1–10 роликов | MP4/MOV, каждый 2–30 секунд, суммарно не более 30 секунд, каждый меньше 200 MB |
reference_image_urls |
до 30 изображений | JPEG/PNG/WebP и др., каждое меньше 30 MB |
reference_audio_urls |
до 10 аудиофайлов | WAV/MP3, нужно использовать вместе с референсным видео |
duration |
целое от 4 до 30, или -1 — на усмотрение модели, по умолчанию 5 |
в секундах |
resolution |
480p / 720p / 1080p, по умолчанию 480p |
|
aspect_ratio |
16:9 4:3 1:1 3:4 9:16 21:9 adaptive |
Для вертикального формата просто укажите 9:16 |
generate_audio |
по умолчанию true |
Посчитаем стоимость
Тарифицируемые секунды = общая длительность референсного видео + длительность вывода. Референсные изображения и аудио не тарифицируются дополнительно.
| Референс + вывод | 480p ($0.1215/сек) | 720p ($0.2715/сек) | 1080p ($0.68/сек) |
|---|---|---|---|
| 5 сек + 4 сек | $1.0935 | $2.4435 | $6.12 |
| 5 сек + 5 сек | $1.215 | $2.715 | $6.8 |
| 10 сек + 10 сек | $2.43 | $5.43 | $13.6 |
Как сэкономить: обрежьте референсное видео до нужного фрагмента движения, отлаживайте промпт на 480p, а после финальной версии выводите в 720p или 1080p. Подробнее о расчётах — в статье Цены Seedance 2.5 API.
Что учесть перед запуском
- Адреса материалов должны быть публично доступны: для референсного видео нужен публично доступный HTTPS-адрес.
- Используйте callback вместо опроса: добавьте на верхний уровень запроса
"callback": {"url": "https://ваш-домен/hiapi/callback"}и дедуплицируйте поtaskId. - Скачивайте вовремя:
output[0].url— временная ссылка, сразу после получения сохраните файл в своё хранилище. - Повторные попытки с ключом идемпотентности: добавьте в заголовки
Idempotency-Key, повтор с тем же ключом создаст задачу только один раз. - Автоматический возврат при ошибке: оплачиваются только успешно сгенерированные видео.
Частые вопросы
Можно ли обойтись без референсного видео, только с референсным изображением?
Нет, reference_video_urls обязателен. Если есть только изображение, используйте режим референсного изображения в Seedance 2.5 видео из изображения.
Почему списали больше, чем я посчитал?
Длительность референсного видео тоже тарифицируется. 10 секунд референсного видео + 5 секунд вывода считаются как 15 секунд.
Можно ли сразу получить вертикальное видео?
Да, укажите aspect_ratio как 9:16 — модель сразу генерирует в вертикальном формате, без обрезки постфактум.
Чем больше референсных материалов, тем дороже?
Референсные изображения и аудио не добавляют стоимости, тарифицируется только референсное видео по длительности.
Если референсных материалов нет и нужно сделать видео только по тексту, смотрите Seedance 2.5 API текст-в-видео. Хотите сначала попробовать одну генерацию — перейдите на страницу модели и загрузите референсное видео.
Похожие статьи
Все статьи →-
Руководство
Как вызвать 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
Практическая демонстрация с упором на запросы: построение вызова от промпта до видеоклипа, отправка запроса, опрос статуса завершения и скачивание результата