Документация API Hop
Генерация видео Seedance 2.5
Параметры мультимодального содержимого, генерируемого аудио и повторного использования черновой задачи Seedance 2.5.
https://api.apihop.ai/v1/video/seedanceСоздайте асинхронную задачу Seedance 2.5. Для Seedance 2.0 используйте отдельный справочник параметров.
Аутентификация
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonТело запроса
modelstringобязательноseedance-2.5.
promptstringЗапрос для видео. Обязателен при генерации только из текста; при наличии изображений/видео-референсов может быть пропущен или пуст. Пропускайте его при повторном использовании draft_task. Текстовые элементы metadata.content отбрасываются; используется prompt верхнего уровня.
durationnumberПо умолчанию: 5Целое число от 4 до 30 или -1 для автоматической длительности. Нативное поле seconds принимает эквивалентную строку целого числа. Также принимается metadata.duration. Указанные псевдонимы длительности должны совпадать. При повторном использовании draft_task пропускайте все регуляторы длительности.
resolutionstringПо умолчанию: 720p480p, 720p или 1080p. Нативное поле size может задавать разрешение; metadata.resolution имеет приоритет. 4k не поддерживается.
aspectRatiostringПо умолчанию: 16:916:9, 9:16, 1:1, 4:3, 3:4, 21:9 или adaptive. Принимаются aspect_ratio, ratio и metadata.ratio. Прежние значения соотношения сторон в size сохраняются для совместимости, но значение разрешения в size означает разрешение. Ввод первого/последнего кадра требует adaptive; этот режим выбирается при наличии ролей кадров без явно заданного соотношения сторон.
metadataobjectПринимает resolution, ratio, duration, content, generate_audio и output_format. Для генерируемого аудио задайте generate_audio как логическое значение. Поля верхнего уровня generateAudio / generate_audio — псевдонимы; используйте один регулятор аудио.
imageUrlsstring[]Изображения-референсы. images, imageUrl, image_urls и image_url — псевдонимы. Нативная сокращённая форма images использует первые два изображения как первый/последний кадр; imageUrls сохраняет семантику изображений-референсов.
imageWithRolesobject[]Изображения по ролям с url и role: first_frame, last_frame или reference_image. image_with_roles — псевдоним. Также принимается типизированный metadata.content.
videoUrlsstring[]Видео-референсы. videoUrl, video_urls и video_url — псевдонимы.
audioUrlsstring[]Аудио-референсы. audioUrl, audio_urls и audio_url — псевдонимы. Требуется изображение или видео в том же запросе.
outputFormatstringПо умолчанию: mp4Только mp4. Принимаются output_format и metadata.output_format. mov и watermark не поддерживаются.
callback_urlstringНеобязательный нативный URL обратного вызова. Доступность зависит от выбранного канала; используйте GET https://api.apihop.ai/v1/jobs/{jobId} как окончательный источник результата.
Мультимодальное содержимое
Для медиа можно использовать общедоступные HTTP(S) URL или существующие идентификаторы asset://.
| Тип | Вложенное поле | Роли |
|---|---|---|
image_url | image_url.url | first_frame, last_frame, reference_image |
video_url | video_url.url | reference_video |
audio_url | audio_url.url | reference_audio |
draft_task | draft_task.id | Без роли; только повторное использование образца |
В сокращённых формах и типизированном содержимом принимается до 30 изображений, 10 видео и 10 аудиофайлов, всего не более 50 медиаэлементов. Для аудио нужно изображение или видео. Используйте prompt верхнего уровня вместо содержимого type: "text". Передавайте один псевдоним каждой настройки. Неподдерживаемые параметры отклоняются. Поля верхнего уровня first_frame_url, last_frame_url, reference_image_urls, reference_video_urls и reference_audio_urls — сокращённые записи конкретных ролей. Неуказанные поля внутри элементов содержимого не пересылаются.
Повторное использование черновой задачи
draft_task доступен только в Seedance 2.5. Он повторно использует существующий совместимый завершённый образец; эта страница не определяет параметры создания образцов.
metadata.contentдолжен содержать ровно один элементdraft_task.- Предпочитайте десятичную строку Synapse
jobIdсуществующего образца в качествеdraft_task.id. Также принимается уже записанный идентификатор платформыtask_...; не используйте сырой ID задачи провайдера и не придумывайте идентификатор. - Образец должен принадлежать тому же аккаунту, использовать ту же модель и канал обработки, быть завершённым и созданным менее 7 дней назад.
- Не передавайте запрос, изображения/видео/аудио, длительность, соотношение сторон, seed,
generate_audio, формат вывода илиomni_reference_task_type. Повторно используются настройки образца. - Разрешение вывода можно указать.
Проверки совместимости и принадлежности могут отклонить повторное использование даже успешно завершённой задачи. Не считайте каждую обычную генерацию повторно используемым образцом.
Примеры запросов
Мультимодальный референс
{
"model": "seedance-2.5",
"prompt": "Keep the referenced character and camera movement in a coherent film",
"seconds": "8",
"size": "720p",
"metadata": {
"ratio": "16:9",
"generate_audio": true,
"content": [
{"type": "image_url", "image_url": {"url": "https://example.com/character.png"}, "role": "reference_image"},
{"type": "video_url", "video_url": {"url": "https://example.com/camera.mp4"}, "role": "reference_video"},
{"type": "audio_url", "audio_url": {"url": "https://example.com/music.mp3"}, "role": "reference_audio"}
]
}
}Первый и последний кадры
{
"model": "seedance-2.5",
"duration": 5,
"metadata": {
"ratio": "adaptive",
"content": [
{"type": "image_url", "image_url": {"url": "https://example.com/first.jpg"}, "role": "first_frame"},
{"type": "image_url", "image_url": {"url": "https://example.com/last.jpg"}, "role": "last_frame"}
]
}
}Повторное использование существующего образца
Замените EXISTING_SAMPLE_JOB_ID фактически возвращённым jobId совместимого завершённого образца. Заполнитель ниже не является рабочим идентификатором задачи.
{
"model": "seedance-2.5",
"metadata": {
"resolution": "1080p",
"content": [
{"type": "draft_task", "draft_task": {"id": "EXISTING_SAMPLE_JOB_ID"}}
]
}
}Отправка и результат
Поле data ответа содержит jobId, status, model и message. Успешная отправка означает принятие задачи, а не завершение. Опрашивайте GET https://api.apihop.ai/v1/jobs/{jobId} ключом API того же аккаунта. См. Получение асинхронной задачи.
При статусе COMPLETED читайте data.outputResult. Принимайте строки и массивы в поле url каждого объекта результата.