Введение
HappyHorse 1.1 Изображение в видео оживляет стартовый кадр из image_url. Промпт обязателен и описывает последующее движение; клип длится от 3 до 15 целых секунд в 720p или 1080p со сгенерированным саундтреком. Поля соотношения сторон нет, как нет и поля финального кадра: форму задаёт изображение, а концовкой становится то, к чему приходит описанное в промпте движение.
Выберите режим по исходному материалу
| Исходный материал | Режим |
|---|---|
| написанная сцена или сценарий | HappyHorse 1.1 Текст в видео |
| утверждённое стартовое изображение | HappyHorse 1.1 Изображение в видео |
| от одного до девяти референсных изображений | HappyHorse 1.1 Референсы в видео |
Ключевые возможности и особенности
Изображение задаёт объект и форму
Стартовому кадру модель следует точно, поэтому это надёжный путь к буквальному результату, в том числе с исходными кадрами без цензуры. В примере tailgate-turn одежда, пикап и контровой свет берутся из кадра, а промпт лишь просит опустить бутылку, один раз качнуть сапогами и повернуть голову к низкому солнцу.
Нет финального кадра, к которому стремиться
Этот эндпоинт принимает только image_url, поэтому закрепить план на финальной композиции нельзя. Лучше всего работают движения, которые завершаются сами. Пример quiet-hold — четыре секунды почти полной неподвижности: выдох, опущенное плечо и перенос веса к оконной раме, почти без движения камеры.
Ограничения на вход и выход
Стартовому кадру нужно не меньше 300 px по каждой стороне, соотношение сторон от 1:2,5 до 2,5:1 и размер до 20 МБ. Вывод длится от 3 до 15 секунд, по умолчанию 5, в 720p (по умолчанию) или 1080p, а саундтрек всегда генерируется вместе с изображением.
Параметры запроса
| Параметр | Обязательно | Описание |
|---|---|---|
prompt | Да | Обязателен. Опишите, что меняется после кадра — действие, камеру, темп, — а не сам кадр. Не менее 1 символов · Не более 2500 символов |
image_url | Да | Стартовый кадр. Он фиксирует субъект и композицию и задаёт форму результата. |
resolution | Нет | 720p или 1080p. |
duration_seconds | Нет | Целые секунды, от 3 до 15. Финального кадра нет, поэтому движение должно укладываться в это время. |
seed | Нет | Целое число от 0 до 2147483647 для случайного старта; без него каждый прогон берёт своё. |
Стоимость
| Спецификация | Стоимость |
|---|---|
| $0.14 / секунду |
| $0.18 / секунду |
Сценарии использования
Оживить кадр без цензуры или с продуманной арт-дирекцией
Этот путь следует переданному кадру, поэтому работа без цензуры начинается здесь, а не в text-to-video, который отклоняет промпты за границами допустимого. Передайте задуманный кадр и опишите только движение — объект появится таким, каким его нарисовали или сняли, а не будет заново истолкован по фразе.
Движение среды вокруг застывшей позы
Пример wasteland-hood-two оставляет две фигуры на капоте заглохшей машины и описывает только то, что существует в движении: рваную ткань, которую ветер поднимает и роняет, дрожащее марево, пыльные вихри, пересекающие дорогу, и медленный наезд. Он сгенерирован в 1080p с длительностью по умолчанию.
Короткие вставки и перебивки
Клип на три-четыре секунды с минимальным движением камеры подходит для вставок между длинными планами. Ограничьте действие одним вдохом или одним жестом, как в quiet-hold, чтобы движение завершилось в пределах длительности, а не оборвалось на середине.
Руководство по промптам и практические советы
Отдайте промпту только движение
Промпт обязателен, поэтому используйте его для того, что меняется: действия, камеры и темпа. Промпт wasteland-hood-two ни разу не описывает композицию — он описывает ветер, марево и пыль. Повторное описание кадра тратит лимит в 2500 символов на то, что изображение уже закрепило.
Соизмеряйте движение с длительностью
Без финального кадра движение, которое не успевает завершиться за выбранное время, просто останавливается там, где заканчивается клип. Подбирайте действие под длину: один жест для короткого клипа, короткая последовательность вроде «опустить, качнуть, повернуться» для более длинного, как tailgate-turn за шесть секунд.
Обрежьте до загрузки
Форму вывода задаёт изображение, поэтому сначала обрежьте его под формат сдачи и проверьте ограничения по размеру. Делайте черновики в 720p, а для сдачи перезапускайте в 1080p. Каждый проход даёт свой дубль, так что при сравнении держите формулировку неизменной.
Быстрый старт API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "alibaba/happyhorse-1.1/image-to-video",
"input": {
"duration_seconds": 5,
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Аутентификация, полная схема, опрос статуса и обработка ошибок описаны в справочнике API.







