Перейти к основному контенту

HappyHorse 1.1: выбор между текстом, первым кадром и референсными изображениями

Какую задачу HappyHorse 1.1 взять: описание сцены, утверждённый первый кадр или до девяти референсов? Цена одна, а степень контроля разная.

Автор
Lydia
Опубликовано
Время чтения
6 мин чтения
Обновлено
Вымышленная взрослая художница-керамистка в рубашке цвета индиго и кремовом фартуке рядом со скульптурой синей птицы на каменном постаменте

Выбирайте image-to-video, если у вас есть утверждённый первый кадр, reference-to-video, если персонажа, одежду, предмет или место задают отдельные изображения, и text-to-video, если у вас только слова. Все три стоят 0,14 $ за секунду в 720p или 0,18 $ в 1080p: пятисекундный клип обойдётся в 0,70 $ или 0,90 $, так что выбор касается контроля, а не цены. Image-to-video и reference-to-video — эндпоинты uncensored; text-to-video фильтруется.

Какую задачу отправить

Что у вас естьID модели и обязательные входные данныеВыбирайте, когдаОграничение, которое надо учесть
Описание сценыalibaba/happyhorse-1.1/text-to-video; promptВы ещё подбираете кадр, свет и темп или быстро нужно конкретное соотношение сторонЛицо, одежда и кадрирование остаются на усмотрение модели, поэтому повторные запуски расходятся
Один утверждённый кадрalibaba/happyhorse-1.1/image-to-video; prompt, image_urlКлип должен совпадать с уже существующим изображениемНет поля соотношения сторон (форму задаёт изображение) и нет последнего кадра, поэтому действие должно завершиться само
От одного до девяти изображений с разными ролямиalibaba/happyhorse-1.1/reference-to-video; prompt, reference_image_urlsВы соединяете персонажа, одежду, реквизит и место или используете одних и тех же героев в нескольких планахОдна роль на изображение; только изображения, без видео- и аудиореференсов

Все три принимают промпт от 1 до 2 500 символов, duration_seconds от 3 до 15 (по умолчанию 5) и resolution — 720p (по умолчанию) или 1080p. В этом диапазоне клип стоит от 0,42 $ до 2,10 $ в 720p и от 0,54 $ до 2,70 $ в 1080p, поэтому делайте черновики в 720p, а понравившийся дубль перезапустите в 1080p; новый запуск даёт новый дубль, даже если формулировка та же.

  • Соотношение сторон: задачи text и reference принимают соотношение; image-to-video следует вашему изображению, поэтому сначала обрежьте его.
  • Seed: только для задач image и reference. Держите его неизменным и меняйте что-то одно за раз.
  • Звук: создаётся всегда, поля для отключения нет; заглушите или замените его в своём редакторе.
  • Не принимаются: last_image_url и negative_prompt.

Размеры изображений, размеры референсов и лимиты загрузки указаны на странице каждой модели.

Контент для взрослых зависит от задачи

По нашим тестам сентября 2026 года image-to-video выдал все взрослые категории, которые мы пробовали, от намёков до самых интенсивных сцен, поэтому изображение взрослого персонажа — самая надёжная отправная точка. Reference-to-video тоже uncensored. Text-to-video прошёл более мягкие промпты, но интенсивные отклонял полностью, а не смягчал. Если сцена должна дойти до модели без изменений, стройте её от изображения. Результаты по категориям собраны в NSFW-тестах HappyHorse 1.1 (пока эта статья есть только на английском); актуальные задачи показывает страница модели HappyHorse 1.1.

Сначала попробуйте в Playground

Пример: оживить портрет вымышленной 35-летней художницы-керамистки в рубашке цвета индиго и кремовом фартуке, которая держит синюю керамическую птицу над постаментом, обе руки и постамент в кадре.

  1. Откройте страницу image-to-video, оставайтесь на вкладке Playground в режиме Form и войдите в аккаунт, чтобы запускать.
  2. В поле Input image перетащите свой авторизованный портрет (JPG, PNG, WEBP или GIF, до 10 МБ) или вставьте его Asset URL.
  3. Вставьте промпт ниже или откройте его уже заполненным:

Запустить этот промпт в HappyHorse 1.1 →. Он описывает только то, что меняется после первого кадра; художницу, птицу и комнату уже задаёт изображение. Промпт остаётся на английском, как он уходит в модель.

  1. Установите Resolution 720p и Duration 5 и запустите. В 720p это стоит 0,70 $, три попытки — 2,10 $; при десяти секундах и 1080p каждая попытка стоит 1,80 $.
  2. Оставьте понравившийся дубль и перезапустите его в 1080p.

Для референсов откройте страницу reference-to-video, добавьте изображения в Reference images в фиксированном порядке и пронумеруйте их в промпте как [Image 1], [Image 2] и [Image 3], назвав, что вносит каждое. Давайте каждому референсу одну роль: несколько фото одного объекта усредняются, а не согласуются, а девять слотов — потолок, а не цель. Если у вас только слова, откройте страницу text-to-video, где доступен Aspect ratio, и опишите в промпте художницу, птицу и галерею.

Затем запустите из кода

Установите Python SDK (pip install spicyapi), задайте SPICY_API_KEY в окружении сервера и выполните:

python
import uuid

from spicyapi import SpicyClient, output_assets

client = SpicyClient()  # reads SPICY_API_KEY from the environment

frame = client.upload_file("./opening-frame.png")  # becomes a spicy:// URI

task = client.create_task(
    model="alibaba/happyhorse-1.1/image-to-video",
    input_data={
        "image_url": frame["uri"],
        "prompt": "One continuous medium shot. The adult artist gently lowers the blue ceramic bird "
                  "onto the pedestal, releases it, draws both hands back and pauses. "
                  "Keep the camera still. Quiet gallery ambience and one soft ceramic contact sound. "
                  "No cuts or added people.",
        "duration_seconds": 5,
        "resolution": "720p",
        "seed": 240103,
    },
    idempotency_key=str(uuid.uuid4()),  # new key per new request; reuse only to retry the same one
)

print("Resume task:", task["taskId"], flush=True)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
    raise RuntimeError(f"Task {task['taskId']} ended as {final['state']}")
assets = output_assets(final)
if not assets or any(a.get("pending") or a.get("unavailable") or not a.get("url") for a in assets):
    raise RuntimeError(f"Task {task['taskId']} has no ready output; check this task before a new run")
print(assets[0]["url"])

Для reference-to-video замените модель и используйте reference_image_urls; text-to-video принимает только промпт, aspect_ratio, duration_seconds и resolution. Ожидание, ошибки и повторы описаны в руководстве по задачам и справочнике Python SDK.

Или поручите запуск агенту

Если клипы должен запускать ассистент, CLI, MCP-сервер и Agent Skill читают актуальную схему; CLI и MCP показывают цену и просят подтверждения перед платным вызовом. С тем же объектом input в input.json:

bash
npx @spicyapi/cli tasks create --model alibaba/happyhorse-1.1/image-to-video --input-file input.json --wait

Через MCP попросите: «Анимируй ./opening-frame.png через HappyHorse 1.1 image-to-video»; ассистент вызовет spicyapi_upload_file, затем spicyapi_task_create. Команда npx skills add spicyapi-ai/spicy-skill устанавливает Skill.

Исправьте конкретную проблему

СимптомЧто делать
Неизвестное поле aspect_ratio в image-to-videoУберите поле и перед загрузкой обрежьте первый кадр до нужной формы
Неизвестное поле seed в text-to-videoУберите seed; эта задача его не поддерживает
invalid_asset на изображенииURL вернул веб-страницу; загрузите файл и используйте его URI spicy://
Неверная финальная поза при хорошем первом кадреУпростите действие; входа для последнего кадра, который зафиксировал бы финал, нет
Предмет сливается с рукойСократите движение и держите камеру неподвижной
Ночная сцена превращается в дневнуюОставьте одно время суток, назовите видимую лампу или лунный свет и уберите рассвет и ход времени; просмотрите клип целиком
Постановка предмета заканчивается после конца клипаУберите из промпта выход в кадр или увеличьте длительность с 5 до 7 секунд (0,98 $ в 720p)
Лица или предметы из референсов смешиваютсяДайте каждому изображению один объект и назовите его рядом с тегом [Image N]
Хорошая картинка, но нежелательная звуковая дорожкаЗаглушите или замените дорожку в редакторе; параметра отключения звука нет
content_rejectedФильтр задачи отклонил запрос; смена длительности или разрешения не поможет. Фильтруется text-to-video, поэтому альтернатива — первый кадр в image-to-video

Подберите кадр на недорогих черновиках 720p, затем зафиксируйте утверждённый кадр или набор референсов и перезапустите для финала. Планируйте одно читаемое событие на 5-секундный клип: высокое разрешение увеличивает неудачное взаимодействие, но не исправляет его.

Другие языки English · 日本語 · 한국어 · Deutsch · Français · Español · Português (Brasil) · Italiano · Polski