models

Alibaba: HappyHorse 1.1

Markdown · JSON

Alibaba: HappyHorse 1.1

Alibaba HappyHorse 1.1 генерирует короткие видео со звуком по текстовому заданию, одному изображению первого кадра или набору до девяти референсных изображений. Профили разработчика выделяют улучшенные движение, детализацию кожи и постоянство персонажей между роликами. Результат — MP4 длительностью 3–15 секунд с частотой 24 кадра/с в 480p, 720p или 1080p.

О модели

Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.

Alibaba HappyHorse 1.1 — версия генерации видео с отдельно названными профилями по тексту, первому кадру и референсам. Разработчик выделяет улучшенные визуальные детали, движение, идентичность персонажей между роликами, стабильность текста и синхронизацию изображения со звуком. Результат — короткое видео со звуком для товарного плана, анимации портрета или небольшой сцены с персонажем. Выберите режим ввода по тому, что должно определять сцену: текстовая идея, точное начальное изображение или несколько визуальных референсов.

Для генерации по тексту опишите объект, локацию, действие, кадрирование, движение камеры и звуковой замысел. Например, в короткой сцене велосипедист останавливается у кафе на набережной, пока камера плавно приближается к припаркованному велосипеду. Соразмеряйте действие с коротким роликом и опишите последний момент. Текущее текстовое руководство разработчика допускает до 5 000 некитайских или 2 500 китайских символов и обрезает лишний текст. Организуйте задание так, чтобы главный объект и действие были явными, а не терялись среди повторяющихся прилагательных.

Генерация по первому кадру использует ровно одно изображение как начало. Подготовьте объект, композицию и кадрирование, затем опишите, что должно двигаться или как меняется камера. Документированные форматы — JPEG/JPG, PNG и WEBP, до 20 МБ, обе стороны не менее 300 пикселей, соотношение от 1:2.5 до 2.5:1. Результат приблизительно соответствует выбранному уровню разрешения, сохраняя пропорции исходного изображения. Поэтому вертикальный результат начинается с подходящей вертикальной композиции, а не с несвязанного указания пропорций.

Генерация по референсам принимает от одного до девяти изображений. Промпт использует [Image 1], [Image 2] и следующие позиции, обозначая их в порядке ввода. Укажите роль каждого референса и назовите нужный предмет или человека, чтобы изображение сцены не было принято за источник персонажа. Руководство принимает JPEG/JPG, PNG или WEBP до 20 МБ, требует короткую сторону не менее 400 пикселей и рекомендует чёткие референсы 720p или выше. Избегайте сильно сжатых изображений, где узнаваемые детали уже утрачены.

Для сцены с несколькими референсами разместите человека с одного изображения в комнате с другого, сохранив пальто или товар из третьего. В том же задании опишите взаимодействие и камеру. Референсный профиль 1.1 выделяет стабильность объектов, стиля сцены и кинематографического движения; проверяйте фактический результат на нужную идентичность, маркировку товара и пространственное размещение. Несколько изображений дают заданию больше информации, но при проверке всё равно нужно установить, какие особенности перешли в видео.

Для режимов генерации 1.1 разработчик указывает 480p, 720p и 1080p, длительность, заданную целым числом секунд от трёх до пятнадцати и MP4 с частотой 24 кадра/с. Ответ API описывает кодирование H.264. Генерация по тексту и референсам предлагает в том числе 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 и 21:9; по первому кадру — следует исходному изображению. Выберите форму для размещения и оставьте место будущим субтитрам или элементам макета. Проверяйте фактическое кадрирование возвращённого видео в целевом размере показа.

Результат семейства включает звук. Ясно задайте роль исполнения или атмосферы в задании и проверяйте диалог, эффекты или фоновую дорожку вместе с картинкой. Речь должна оставаться достаточно короткой для действия и пауз; не вмещайте длинный сценарий в один короткий план. При наличии речи проверяйте движения губ, принадлежность реплик говорящим и фактические слова. Допустимый язык промпта сам по себе не задаёт гарантированное произношение или отдельный вход голосового референса.

Документированный процесс разработчика асинхронный: идентификатор задачи отслеживает обработку, а успешный результат содержит адрес видео. Для ссылки результата и запросов задач документирован срок действия двадцать четыре часа. Сохраняйте готовый клип, референсы и промпт как запись для правок. Руководства также описывают настройки seed и водяного знака. Фиксированный seed помогает сравнению, но разработчик прямо указывает отсутствие гарантии одинаковых результатов; оценивайте сам материал, не считая, что одна настройка фиксирует каждый кадр.

HappyHorse 1.0 и 1.1 — разные версии. Таблица результатов 1.1 добавляет 480p к вариантам 720p и 1080p версии 1.0; страницы моделей 1.1 описывают улучшения деталей, движения и постоянства. Отдельно названный профиль видеоредактирования HappyHorse 1.0 имеет собственные входы и ограничения и не должен незаметно считаться режимом редактирования 1.1. Проверяйте весь клип 1.1 на идентичность, движение, кадрирование, текст и звук, затем формулируйте конкретное исправление, сохраняя удачные части задания.

Ailoot Ultra · Видео POST /v1/videos alibaba/happyhorse-1.1

alibaba/happyhorse-1.1

Alibaba /alibaba/happyhorse-1.1

Начало

Alibaba HappyHorse 1.1 генерирует короткие видео со звуком по текстовому заданию, одному изображению первого кадра или набору до девяти референсных изображений. Профили разработчика выделяют улучшенные движение, детализацию кожи и постоянство персонажей между роликами. Результат — MP4 длительностью 3–15 секунд с частотой 24 кадра/с в 480p, 720p или 1080p.

Допустимые входные данные
Текст
Результаты
Видео

Доступно в Ailoot · входные данные и методы

Ailoot Ultra · Видео POST /v1/videos
Входные данные
text
Результат
video
Выходной формат
mp4
Число результатов
До 4 выходs
ПолеТипТребованиеЗначения и ограниченияПо умолчанию
ПолеmodelТипstringТребованиеОбязательноЗначения и ограничения
alibaba/happyhorse-1.1
По умолчанию—
ПолеpromptТипstringТребованиеОбязательноЗначения и ограничения
Минимальная длина: 1
Максимум байтов: 10 000
Единица: байты UTF8
По умолчанию—
ПолеdurationТипintegerТребованиеОбязательноЗначения и ограничения
Минимум: 3
Максимум: 15
Единица: секунды
По умолчанию—
ПолеresolutionТипstringТребованиеОбязательноЗначения и ограничения
720p
По умолчанию—
Полеaspect_ratioТипstringТребованиеОбязательноЗначения и ограничения
16:9
По умолчанию—
Сочетания входных материалов

Из текста в видео · Обязательно: prompt

Параметры и жизненный цикл метода
ПараметрКонтракт
Параметрcontent_typeКонтрактapplication/json
ПараметрrequiredКонтрактmodel, prompt, duration, resolution, aspect_ratio
Параметрother_optionsКонтрактfalse
ПараметрresolutionКонтракт720p
Параметрprompt_max_bytesКонтракт10000
Параметрduration_integer_rangeКонтракт3, 15
Параметрaspect_ratioКонтракт16:9
Параметрgenerate_audioКонтрактнужно опустить поле (не передавать false); AAC включён
Параметрmaterial_typesКонтрактtext
Параметрadditional_propertiesКонтрактfalse

Псевдонимы метода: /v1/videos/generations, /videos, /videos/generations

Жизненный цикл: submit_once_poll_original

GET /v1/videos/{request_id}

GET /v1/videos/generations/{request_id}

GET /v1/videos/{request_id}/content

GET /v1/videos/generations/{request_id}/content

Создайте один раз и сохраните возвращённый ID.

Проверяйте исходный статус; сохраняйте каждый готовый ресурс и его длительность.

Тарифы

Как рассчитывается итоговая плата

Отображаемые тарифы позволяют оценить стоимость до генерации. Итоговое списание рассчитывается по стоимости, записанной для исходной генерации. Измеренная длительность результата и прогнозные объёмы не являются итоговым оплачиваемым объёмом.

Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.

Быстрый режим
Не указано При выборе быстрого режима
Режим flex
Не указано При выборе режима flex
Максимальная интенсивность рассуждений
Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)

Оценочные ставки для сравнения

Цены по конфигурациям

Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.

КонфигурацияШкала ставокПрогноз количестваРасчётная единицаУсловия расчётаПлата
КонфигурацияБазовые тарифы на токеныШкала ставокБазовая ставкаПрогноз количества—Расчётная единица—Условия расчёта—Плата
Вход · Входные токены · Оценка только для сравнения — / 1K токенов
Выход · Выходные токены · Оценка только для сравнения — / 1K токенов
Вход · Чтение кэша · Оценка только для сравнения — / 1K токенов
Вход · Запись в кэш · Оценка только для сравнения — / 1K токенов
Вход · Запись в кэш, 1 час · Оценка только для сравнения — / 1K токенов
КонфигурацияЦена видеоШкала ставок—Прогноз количества—Расчётная единицаза секунду видеоУсловия расчётаresolution: 1080pПлата
Выход · Цена видео · Оценка только для сравнения $0.2556 за секунду видео
КонфигурацияЦена видеоШкала ставок—Прогноз количества—Расчётная единицаза секунду видеоУсловия расчётаresolution: 720pПлата
Выход · Цена видео · Оценка только для сравнения $0.1976 за секунду видео
КонфигурацияОриентировочная стоимость генерацииШкала ставок—Прогноз количестваОценка для одной генерацииРасчётная единица—Условия расчёта—Плата
Выход · Оценочная стоимость генерации · Оценка только для сравнения $0.5928 оценка до генерации

Эта оценка не является дополнительным списанием или фиксированным тарифом для завершённой генерации.

Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →

Сведения о справочном тарифе

Справочные шкалы модели не меняют выбор метода, расчёт стоимости или списания. Действующая плата определяется ставками выбранного метода Ailoot.

Ссылки на цены конфигураций видео

Цены по конфигурациям

Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.

КонфигурацияУсловия расчётаПлата
КонфигурацияЦена видеоУсловия расчётаresolution: 720pПлата
Выход · Цена видео $0.1976 за секунду видео

Опубликованный ориентир цены для показанной конфигурации. Итоговые списания зависят от фактической оплачиваемой конфигурации.

КонфигурацияЦена видеоУсловия расчётаresolution: 1080pПлата
Выход · Цена видео $0.2556 за секунду видео

Опубликованный ориентир цены для показанной конфигурации. Итоговые списания зависят от фактической оплачиваемой конфигурации.

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

Ailoot Ultra · Видео

curl · точный сохранённый запрос на создание
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "alibaba/happyhorse-1.1", "prompt": "A cat in a spacesuit walking on the Moon", "duration": 3, "resolution": "720p", "aspect_ratio": "16:9"}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json

Получить и сохранить результаты

Ailoot Ultra · Видео

mp4

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
Проверить статус задачи
GET статус исходной операции
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Чтение другого содержимого
Сохраняйте каждый готовый результат, принадлежащий вам
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
    urls.append((str(i),u))
for label,path in urls:
    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
    target=Path('owned-'+label+'.bin')
    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Сохраняйте все готовые результаты

Сохраните каждое готовое видео или полученный файл; загрузите содержимое по каждому фактически полученному URL материала.

Готовый data[] содержит все подписанные URL содержимого, принадлежащие Ailoot. Получите данные по каждому возвращённому URL либо используйте конечную точку содержимого, указав в index фактический индекс результата. Неудачная исходная задача может вернуть charge_pending_check; проверяйте её, а не создавайте заново.

Если нужно проверить исходный ответ

Проверяйте существующую исходную задачу; никогда не повторяйте отправку с неизвестным исходом.

Максимум результатов: 4.

Поля ответа
ПолеТипЗначение
ПолеidТипstringЗначение—
ПолеobjectТипstringЗначение—
ПолеmodelТипstringЗначение—
ПолеstatusТипstringЗначение—
Полеdata[]Типsigned content URLЗначение—
Полеcharge_pending_checkТипbooleanЗначение—
Полеerror.codeТипstringЗначение—
Полеerror.messageТипstringЗначение—
Полеoperation_idТипstringЗначениеОтвет исходного статуса или содержимого HTTP503 result_pending_check: в id указан тот же исходный публичный ID видео.
Полеerror.typeТипstringЗначениеserver_error при HTTP503 result_pending_check.
Ошибки и дальнейшие шаги
ОтветУсловиеСледующий шаг
Ответ400 · invalid_request_errorУсловиеНе удалось прочитать исходное тело запроса до разбора профиля видеоСледующий шагСохраните возвращённый ответ и исправьте нечитаемое тело запроса.
Ответ422 · price_unavailableУсловиеНе удалось разобрать точный профиль видео либо для полностью разобранного профиля нет готовой точной тарифной карточкиСледующий шагСохраните ответ; используйте полный точный допущенный профиль и его опубликованную карточку. Эта ветвь выполняется до отправки поставщику.
Ответ409 · video_not_readyУсловиеСодержимое исходного результата пока недоступноСледующий шагПроверяйте исходный возвращённый ID и соблюдайте Retry-After.
Ответserver_errorУсловиеВозвращённый ответ указывает, что операция или результат требуют проверкиСледующий шагСохраните исходный возвращённый ID операции или задачи, заголовки запроса и ответ; продолжайте поддерживаемые операции чтения исходной операции. Не отправляйте запрос создания повторно.
Ответ503 · result_pending_checkУсловиеGET исходного статуса или содержимого: задача не опубликована, исходная задача не имеет статуса failed/cancelled/expired, а локальное состояние — unknown либо статус исходной задачи — completed.Следующий шагСохраните исходные id и operation_id (тот же публичный ID видео), ответ и заголовки; читайте только исходный статус или содержимое. Никогда не отправляйте новый запрос на генерацию.

Псевдонимы

Псевдонимы моделей

Ailoot Ultra alibaba/happyhorse-1.1

Псевдонимы путей метода

/v1/videos/generations, /videos, /videos/generations

Связанные ID для вызова

alibaba/happyhorse-1.1

FAQ · Alibaba: HappyHorse 1.1
Какие входные данные и результаты доступны?

POST /v1/videos · alibaba/happyhorse-1.1: text → video

Какие поля использует запрос?

POST /v1/videos · alibaba/happyhorse-1.1: model, prompt, duration, resolution, aspect_ratio

Какие ограничения действуют?

POST /v1/videos · alibaba/happyhorse-1.1: duration.minimum: 3; duration.maximum: 15

Подробнее

Подключите Ailoot к Claude Code, OpenCode, Hermes или своему приложению.

Компания и портфель её проектов

Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.

Покупайте токены со скидкой.

Скидка по подписке для регулярной работы. Промокоды — до 50% на покупку токенов.

Подписка
Выберите тариф со скидкой для своих регулярных запросов.
Промокод до 50%
Введите код при покупке. Цена пересчитается с учётом действующей акции.
Расходы в истории
Модель, токены и сумма сохраняются для каждого запроса.

Выбрать подписку · Посмотреть цены моделей

Подключайте API к продукту, который вы продаёте.

SaaS, приложения и боты — по оферте и лицензионному договору Ailoot. Для перепродажи запросите реселлерскую лицензию.

Коммерческое приложение
Встраивайте генерацию текста, картинок, видео и звука в платные функции своего сервиса.
Лицензия для реселлера
Пришлите описание проекта и схему доступа. Запросите письменные условия использования и перепродажи.
Документы на сайте
Оферта, лицензионный договор и политика обработки данных доступны до подключения.

Запросить реселлерскую лицензию · Оферта и лицензионный договор