API Hop

Документация

Документация API Hop

Генерация видео Seedance 2.5

Параметры мультимодального содержимого, генерируемого аудио и повторного использования черновой задачи Seedance 2.5.

POSThttps://api.apihop.ai/v1/video/seedance

Создайте асинхронную задачу Seedance 2.5. Для Seedance 2.0 используйте отдельный справочник параметров.

Аутентификация

http
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По умолчанию: 720p

480p, 720p или 1080p. Нативное поле size может задавать разрешение; metadata.resolution имеет приоритет. 4k не поддерживается.

aspectRatiostringПо умолчанию: 16:9

16: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_urlimage_url.urlfirst_frame, last_frame, reference_image
video_urlvideo_url.urlreference_video
audio_urlaudio_url.urlreference_audio
draft_taskdraft_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. Повторно используются настройки образца.
  • Разрешение вывода можно указать.

Проверки совместимости и принадлежности могут отклонить повторное использование даже успешно завершённой задачи. Не считайте каждую обычную генерацию повторно используемым образцом.

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

Мультимодальный референс

json
{
  "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"}
    ]
  }
}

Первый и последний кадры

json
{
  "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 совместимого завершённого образца. Заполнитель ниже не является рабочим идентификатором задачи.

json
{
  "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 каждого объекта результата.