Справочник API

Генерация видео HappyHorse

Вызов моделей HappyHorse Alibaba Cloud Bailian (DashScope) через TENSORAXIS — текст-в-видео, изображение-в-видео, референс-в-видео и редактирование видео, а также параметры и тарификация.

HappyHorse — это интеграция TENSORAXIS с видеомоделями Alibaba Cloud Bailian (DashScope) (канал HappyHorse). Это асинхронная задача: отправьте задачу, чтобы получить task_id, опрашивайте статус задачи, а затем считайте URL видео после завершения. Общий процесс отправки/опроса описан в обзоре генерации видео; эта страница описывает только четыре возможности HappyHorse и их параметры.

Четыре возможности различаются по суффиксу имени модели:

ВозможностьМоделиОписание
Текст-в-видео (t2v)happyhorse-1.1-t2v, happyhorse-1.0-t2vГенерация только по текстовому запросу
Изображение-в-видео (i2v)happyhorse-1.1-i2v, happyhorse-1.0-i2vГенерация по одному изображению первого кадра
Референс-в-видео (r2v)happyhorse-1.1-r2v, happyhorse-1.0-r2vГенерация по нескольким референсным изображениям
Редактирование видео (video-edit)happyhorse-1.0-video-editРедактирование по одному исходному видео + референсные изображения

Поля запроса

POST /v1/video/generations

ПолеТипОбязательноОписание
modelstringДаИмя модели HappyHorse (см. таблицу выше)
promptstringДаТекстовый запрос для видео; при пустом значении возвращается 400 prompt is required
metadata.mediaarrayВ зависимости от возможностиМассив медиавходов; каждый элемент содержит type и url; type — это first_frame / reference_image / video
imagesstring[]В зависимости от возможностиURL референсных изображений (для r2v); используются как референсные изображения, если metadata.media отсутствует
imagestringВ зависимости от возможностиURL одного изображения (первый кадр для i2v)
input_referencestringВ зависимости от возможностиURL входного референса (совместимая запись для первого кадра i2v / референсного изображения r2v)
metadataobjectНетРазрешение, длительность, соотношение сторон и т. д. — см. Параметры

Предпочтительно передавайте медиа через metadata.media, указывая назначение каждого элемента через type. images / image / input_reference — это совместимые записи: если metadata.media отсутствует, i2v использует input_reference/image в качестве первого кадра, а r2v использует images/input_reference в качестве референсных изображений. Исходное видео для редактирования видео должно передаваться через metadata.media (type: video).

Текст-в-видео (-t2v)

Требуется только prompt; медиавходы не принимаются.

curl https://api.tensoraxis.com/v1/video/generations \
  -H "Authorization: Bearer $TENSORAXIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "happyhorse-1.1-t2v",
    "prompt": "A lake at the foot of a snowy mountain reflects the sunset; the camera slowly pushes in",
    "metadata": {
      "resolution": "1080P",
      "ratio": "16:9",
      "duration": 5
    }
  }'

Изображение-в-видео (-i2v)

Ровно одно изображение первого кадра. Передайте его через metadata.media (type: first_frame), либо используйте совместимые записи input_reference / image. Параметр ratio не принимается (соотношение сторон определяется по первому кадру).

curl https://api.tensoraxis.com/v1/video/generations \
  -H "Authorization: Bearer $TENSORAXIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "happyhorse-1.1-i2v",
    "prompt": "The subject slowly looks up and smiles",
    "metadata": {
      "resolution": "1080P",
      "duration": 5,
      "media": [
        { "type": "first_frame", "url": "https://example.com/first-frame.jpg" }
      ]
    }
  }'

Референс-в-видео (-r2v)

Генерация по нескольким референсным изображениям. Шлюз принимает от 1 до 9 референсных изображений (элементы reference_image в metadata.media, либо images верхнего уровня); вышестоящий сервис рекомендует ≤5, а всё, что сверх этого, зависит от ответа вышестоящего сервиса.

curl https://api.tensoraxis.com/v1/video/generations \
  -H "Authorization: Bearer $TENSORAXIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "happyhorse-1.1-r2v",
    "prompt": "Have these characters interact in the same scene",
    "images": [
      "https://example.com/ref-1.jpg",
      "https://example.com/ref-2.jpg"
    ],
    "metadata": {
      "resolution": "1080P",
      "ratio": "16:9",
      "duration": 5
    }
  }'

Редактирование видео (-video-edit)

Редактирование по одному исходному видео. Вы обязаны передать ровно одно исходное видео type: video через metadata.media; вы можете дополнительно добавить референсные изображения (type: reference_image, ≤5 на шлюзе, ≤4 у вышестоящего сервиса).

  • Параметр duration не принимается: результат сохраняет длительность исходного видео, поэтому параметр длительности не отправляется.
  • Поддерживается audio_setting (только для этой возможности): auto (по умолчанию) / origin.
curl https://api.tensoraxis.com/v1/video/generations \
  -H "Authorization: Bearer $TENSORAXIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "happyhorse-1.0-video-edit",
    "prompt": "Replace the background with a dusk city skyline",
    "metadata": {
      "resolution": "1080P",
      "audio_setting": "origin",
      "media": [
        { "type": "video", "url": "https://example.com/source.mp4" },
        { "type": "reference_image", "url": "https://example.com/style.jpg" }
      ]
    }
  }'

Параметры

Параметры внутри metadata соответствуют полям запроса вышестоящего сервиса DashScope. «Значение шлюза» — это значение, которое данный сайт фактически проверяет/ограничивает; «Примечания» приведены для справки и в конечном счёте определяются ответом вышестоящего сервиса.

ПараметрТипПрименимо кЗначение шлюза / По умолчаниюПримечания
resolutionstringВсе720P / 1080P, по умолчанию 1080PНераспознанные значения возвращаются к 1080P
ratiostringтолько t2v / r2v16:9 / 9:16 / 1:1 / 4:3 / 3:4; при отсутствии вышестоящий сервис использует по умолчанию 16:9Не принимается i2v / video-edit
durationintegert2v / i2v / r2vОграничивается диапазоном [3,15], по умолчанию 5Не принимается video-edit (результат сохраняет длительность источника)
seedintegerВсе[0, 2147483647]Фиксирует случайность; явно указанный 0 сохраняется и отправляется
watermarkbooleanВсеПо умолчанию false (отправляется явно)Добавлять ли водяной знак
audio_settingstringтолько video-editauto (по умолчанию) / originОбработка звука

Официальный диапазон duration зависит от сценария (текст-в-видео — около [2,15], с видео — около [2,10]), но шлюз единообразно ограничивает диапазон значением [3,15]; значения вне диапазона обрезаются до границы.

Тарификация

HappyHorse тарифицируется посекундно, с умножением на коэффициент разрешения (1080P примерно в 1.78 раза дороже 720P).

  • Для t2v / i2v / r2v длительность известна на момент запроса и рассчитывается как фактическая длительность × коэффициент разрешения.
  • У редактирования видео нет входного параметра duration (результат = длительность исходного видео), поэтому тарификация выполняется по заявленному значению metadata.duration; если оно не указано, используется консервативное значение по умолчанию (около 10 секунд).

Точные цены за единицу определяются настройкой «Видео — тарификация» в консоли и страницей цен; операторы могут переопределить значения по умолчанию последними официальными тарифами.

Опрос статуса задачи

Общий процесс отправки/опроса, коды статусов и пути получения результата, совместимые с OpenAI/Sora, описаны в обзоре генерации видео.