HappyHorse 1.0
happyhorse-1 — генерация видео-модель от Alibaba.
image_to_videotext_to_video
Что умеет HappyHorse 1.0
- Image-to-video
- Text-to-video
Стоимость
за секунду
39.2 ₽
Цены указаны в рублях и списываются с баланса проекта за успешные запросы. Надбавки (+) суммируются с базовой ставкой.
Технические характеристики
Vendor
alibaba
Modality
video
Параметры запроса
Параметры, которые принимает модель. Передаются в теле запроса.
ПараметрТипДиапазон / значенияПо умолчаниюОписание
positivePromptreqstring
min: 1 · max: 2500
—Текстовый промпт описывающий генерируемое видео. Не требуется только если используется inputs.frameImages без prompt-driven генерации.
1 пример
Примеры
Стайка лошадей бежит по золотому полю на закате, кинематографический ракурс.
widthinteger
—
—Ширина в px. Парный к height — только валидные комбинации (см. ниже). Несовместимо с resolution. При inputs.video размеры наследуются из видео.
heightinteger
—
—Высота в px. Парный к width. Список валидных значений — см. combos у width.
resolutionenum
720p, 1080p
1080pResolution preset. Несовместимо с width/height. При resolution требуется inputs.frameImages ИЛИ inputs.video. Для I2V/V2V размеры наследуются из источника.
durationinteger
min: 3 · max: 15
5Длительность видео в секундах.
3 примеров
Примеры
5
8
12
seedinteger
min: 0 · max: 2147483647
—Seed для воспроизводимой генерации (32-bit). Если не указан — выбирается случайно и возвращается в ответе.
inputs.frameImagesarray of strings or objects
min: 1 · max: 1
—Image-to-video. Только 1 элемент. Если задан — несовместим с inputs.referenceImages и inputs.video; width/height становятся опциональными (наследуются).
2 формата ввода
Format 1: string[]
Image input — URL / UUID / Data URI / Base64.
[ "https://example.com/first-frame.jpg" ]
Format 2: object[]
| Поле | Тип | Значения | Описание |
|---|---|---|---|
imagereq | string | — | Image input (UUID / URL / Data URI / Base64). |
frame | enum | first, last, 0, -1 | Target frame position: first / last — крайние, 0 — first index, -1 — last index. |
[
{
"image": "https://example.com/start.jpg",
"frame": "first"
}
]inputs.referenceImagesarray of strings
min: 1 · max: 9
—Reference-изображения для визуального стиля (URL / UUID / Data URI / Base64). До 9 шт. При video editing (inputs.video) лимит снижается до 5. Несовместимо с inputs.frameImages.
1 пример
Примеры
[ "https://example.com/style1.jpg", "https://example.com/style2.jpg" ]
inputs.videostring
—
—Исходное видео для prompt-based editing (UUID / URL). Размеры/длительность наследуются из видео — width/height нельзя указывать.
1 пример
Примеры
https://example.com/source.mp4
settings.audioenum
auto, origin
autoОбработка аудио при video editing: auto — модель решает, origin — взять оригинальную дорожку. Используется ТОЛЬКО с inputs.video.
numberResultsinteger
min: 1 · max: 4
1Сколько вариаций сгенерировать (разные seeds). Каждая считается отдельно.
outputFormatenum
MP4, WEBM, MOV
MP4Контейнер для финального видео.
outputQualityinteger
min: 20 · max: 99
95Качество компрессии (20–99). Выше — лучше визуально и больше размер файла.
safety.checkContentboolean
—
falseВключить проверку контента на NSFW / запрещёнку. При true default-режим safety.mode становится fast.
safety.modeenum
none, fast, full
noneРежим safety-сканера: none — выключен, fast — проверяет ключевые кадры, full — все кадры (медленнее).
webhookURLstring
—
—URL для POST-уведомления при готовности задачи. При numberResults > 1 webhook триггерится на каждый результат отдельно.
1 пример
Примеры
https://yourapp.com/webhooks/runware
uploadEndpointstring
—
—Presigned URL (S3 / GCS / Azure / HTTP PUT) для автозагрузки готового видео. Сырое binary в body PUT-запроса.
1 пример
Примеры
https://bucket.s3.amazonaws.com/result.mp4?X-Amz-Signature=...
Поддерживаемые размеры
Допустимы только эти комбинации width × height. Произвольные значения вендор отклонит — используй resolution preset либо одну из пар ниже.
720p (16:9)
1280×720720p (9:16)
720×1280720p (1:1)
960×960720p (4:3)
1088×832720p (3:4)
832×10881080p (16:9)
1920×10801080p (9:16)
1080×19201080p (1:1)
1440×14401080p (4:3)
1632×12481080p (3:4)
1248×1632Параметры ответа
Что возвращает API. У медиа-моделей формат зависит от режима: sync — сразу результат, async — task_id для опроса через GET /v1/tasks/{id}. Эта модель работает только в async-режиме.
Async (HTTP 202)
HTTP 202. Видео-генерация всегда async — нет sync-режима.
ПолеТипЗначенияОписание
idstring
—
task_id для GET /v1/tasks/{id}.
objectstring
video.task
statusenum
queued, processing, completed, failed
modelstring
—
createdinteger
—
Опрос статуса (GET /v1/tasks/{id})
GET /v1/tasks/{id} — опрос статуса.
ПолеТипЗначенияОписание
idstring
—
statusenum
queued, processing, completed, failed, canceled
modalitystring
video
modelstring
—
dataarray
—
Каждый элемент:
url— string · CDN URL .mp4 / .webm / .mov.
errorstring
—
Пример кода
happyhorse-1_example.py
from openai import OpenAI
client = OpenAI(api_key="rk_live_...", base_url="https://api.ranvik.ru/v1")
resp = client.videos.generate(
model= "happyhorse-1",
positivePrompt= "Пример промпта",
width= 1,
height= 1,
resolution= "1080p",
duration= 5,
seed= 1073741824,
"inputs.frameImages": [],
"inputs.referenceImages": [],
"inputs.video": "Пример промпта",
"settings.audio": "auto",
numberResults= 1,
outputFormat= "MP4",
outputQuality= 95,
"safety.checkContent": False,
"safety.mode": "none",
webhookURL= "https://example.com/...",
uploadEndpoint= "value",
)
print(resp)