Ana içeriğe geç
alibaba avatarı

Happy Horse 1.1 Text to Video API

alibaba/happy-horse/v1.1/text-to-video

Metin prompt’undan, görüntüyle birlikte üretilen senkronize sesiyle kısa bir video oluşturun — diyaloglar ekranda lip-sync’li, 720P ya da 1080P.

Çözünürlüğe göre fiyatlandırılır

Model girdisi

Input

Describe the scene, the action, the camera move, and any spoken lines or sound you want. Dialogue written into the prompt is spoken on screen and lip-synced to the character. Up to 5000 characters (2500 for Chinese); longer prompts are truncated.

Frame shape (aspect ratio) of the generated video.

Output video resolution. 720P bills at $0.14 per second of finished video; 1080P (default) bills at $0.18 per second.

Min: 3 - Max: 15

Length of the generated video in whole seconds (3-15).

Additional Settings

Customize your input with more control.

Min: 0 - Max: 2147483647

Random seed for reproducible results. Omit for a different clip each run.

You need to be logged in to run this model and view results.
Log in

Model çıktısı

Output

Loading
Generated in 113.319 seconds
Logs (1 lines)

Örnek istekler

Örnekler

Example output 1

Model fiyatlandırması

Fiyatlandırma

Fiyat, çıktı videonuzun hedef çözünürlüğüne göre değişir.

720P
$0.14
çıktı videosunun saniyesi başına
yani yaklaşık $1 ile 7 saniye
1080P
$0.18
çıktı videosunun saniyesi başına
yani yaklaşık $1 ile 6 saniye

Happy Horse 1.1 Text to Video API

Happy Horse 1.1 Text to Video is a text-to-video AI model by alibaba. On ModelRunner it runs through a REST API or via MCP from any AI assistant, at $0.18 per second of video.

POST https://queue.modelrunner.run/alibaba/happy-horse/v1.1/text-to-video

cURL

# Submit a request to the queue. Input fields go at the top level of the
# body. The optional reserved "metadata" object holds your own flat string
# tags — stored on the request, never sent to the model; filter later with
# GET https://queue.modelrunner.run/requests?metadata=<url-encoded JSON>.
curl -X POST https://queue.modelrunner.run/alibaba/happy-horse/v1.1/text-to-video \
  -H "Authorization: Key $MRUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "ratio": "16:9",
    "prompt": "Close-up of an elderly lighthouse keeper in a thick wool sweater, warm lamplight on his weathered face. He looks to c…",
    "duration": 5,
    "resolution": "1080P",
    "metadata": {
      "project": "my-project"
    }
  }'
# → { "request_id": "...", "status_url": "...", "response_url": "..." }

# Poll status_url until "COMPLETED", then fetch the result
curl "https://queue.modelrunner.run/alibaba/happy-horse/v1.1/text-to-video/requests/$REQUEST_ID/status" \
  -H "Authorization: Key $MRUN_API_KEY"
curl "https://queue.modelrunner.run/alibaba/happy-horse/v1.1/text-to-video/requests/$REQUEST_ID" \
  -H "Authorization: Key $MRUN_API_KEY"

JavaScript

import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("alibaba/happy-horse/v1.1/text-to-video", {
  input: {
    "ratio": "16:9",
    "prompt": "Close-up of an elderly lighthouse keeper in a thick wool sweater, warm lamplight on his weathered face. He looks to c…",
    "duration": 5,
    "resolution": "1080P"
  },
});
console.log(result);

Python

import os
import requests

headers = {"Authorization": f"Key {os.environ['MRUN_API_KEY']}"}

submitted = requests.post(
    "https://queue.modelrunner.run/alibaba/happy-horse/v1.1/text-to-video",
    headers=headers,
    json={
      "ratio": "16:9",
      "prompt": "Close-up of an elderly lighthouse keeper in a thick wool sweater, warm lamplight on his weathered face. He looks to c…",
      "duration": 5,
      "resolution": "1080P"
    },
).json()

# Poll submitted["status_url"] until "COMPLETED", then:
result = requests.get(submitted["response_url"], headers=headers).json()

Input parameters

Input parameters of Happy Horse 1.1 Text to Video
NameTypeRequiredDescription
promptstringyesDescribe the scene, the action, the camera move, and any spoken lines or sound you want. Dialogue written into the prompt is spoken on screen and lip-synced to the character. Up to 5000 characters (2500 for Chinese); longer prompts are truncated.
ratioenumnoFrame shape (aspect ratio) of the generated video. One of: 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9. Default: "16:9".
resolutionenumnoOutput video resolution. 720P bills at $0.14 per second of finished video; 1080P (default) bills at $0.18 per second. One of: 720P, 1080P. Default: "1080P".
durationintegernoLength of the generated video in whole seconds (3-15). Default: 5.
seedintegernoRandom seed for reproducible results. Omit for a different clip each run.

Machine-readable: OpenAPI schema · llms.txt

Use Happy Horse 1.1 Text to Video from Claude & Cursor (MCP)

Point Claude Code, Claude Desktop, Cursor, or any MCP client at the ModelRunner MCP server and Happy Horse 1.1 Text to Video becomes a tool your assistant can call directly — it authorizes via OAuth (no API key in config) and runs this model with the run_model tool using the endpoint alibaba/happy-horse/v1.1/text-to-video.

MCP client config (Claude Desktop, Cursor)

{
  "mcpServers": {
    "modelrunner": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.modelrunner.run/mcp"]
    }
  }
}

Claude Code

claude mcp add --transport http modelrunner https://mcp.modelrunner.run/mcp

Then ask your assistant, for example: “Run alibaba/happy-horse/v1.1/text-to-video on ModelRunner to generate video”. MCP setup guide.

Model Detayları

Model Detayları

Happy Horse 1.1, yazılı bir prompt’u kendi ses bandıyla gelen kısa bir videoya dönüştürür: diyalog, ortam sesi, müzik ve Foley görüntüyle aynı anda üretilir; böylece duyduğunuz şey ekranda hareket edenle birebir örtüşür ve konuşulan replikler, onları söyleyen karaktere lip-sync edilir. Klipler 720P ya da 1080P’de 3 ile 15 saniye arasında sürer; geniş ekran, kare, 21:9 sinematik ve dört dikey oranı kapsayan dokuz kare biçimi vardır. Ses her zaman üretilir — sessiz mod yoktur — bu yüzden bir çekimin yalnızca görüntüsünün değil sesinin de bitmiş olması gerekiyorsa doğru tercih budur.

## En uygun olduğu işler - Ağız hareketlerinin sözlere uyması gereken, konuşan karakterli çekimler - Ayrı bir seslendirme ya da müzik aşaması olmadan sesi bitmiş halde gelen kısa sosyal medya, reklam ve fragman klipleri - Dikey ve portre formatlı klipler — `9:16`, `9:21`, `3:4` ve `4:5` tam destekli kare biçimleridir - Ortam sesi hazır gelen tanıtıcı çekimler, b-roll ve atmosfer planları - Teaser’lar ve başlık kartları için sinematik `21:9` kadraj

## Şu durumlarda başka bir model seçin - Elinizdeki durağan bir fotoğrafı canlandırmak istiyorsanız — bu varyant yalnızca metin alır; bir image-to-video modeli kullanın - Bir karakterin kimliğini birkaç çekim boyunca korumak için referans fotoğraflar gerekiyorsa — referans görsellerle yönlendirilen bir video modeli kullanın - Sessiz bir klip gerekiyorsa ya da kendi ses bandınızı vermek istiyorsanız — burada ses her zaman üretilir ve kapatılamaz - 15 saniyeden uzun, kesintisiz tek bir çekim gerekiyorsa — daha kısa çekimler render edip bunları art arda kurgulayın

## İpuçları - Söylenmesini istediğiniz diyaloğu, duymak istediğiniz dilde doğrudan prompt’a yazın ve konuşanı adlandırın; böylece lip-sync doğru karaktere oturur - Sesi de görüntü kadar somut tarif edin ("teneke çatıya vuran yağmur, uzaklarda gök gürültüsü") — ses bandı prompt’u izler - Faturalandırma bitmiş videonun saniyesi üzerindendir; bu yüzden maliyet üzerinde `duration`, `resolution` değerinden çok daha belirleyicidir — denemeleri `720P` ile yapın, seçtiğiniz klibi `1080P` ile yeniden çalıştırın; bu, saniye başına maliyete yaklaşık %29 ekler - Beğendiğiniz bir klibi yeniden üretmek için `seed` ayarlayın; çeşitlilik için boş bırakın

## Sınırlamalar - Prompt’lar 5000 karakterle (Çince için 2500) sınırlıdır ve bu sınırı aşan prompt reddedilir; `duration` yalnızca tam saniye kabul eder - Faturalandırmada teslim edilen klibin süresi bir sonraki tam saniyeye yukarı yuvarlanır

ModelRunner JavaScript client ile çalıştırmak için: ```js import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("alibaba/happy-horse/v1.1/text-to-video", { input: { prompt: "A lighthouse keeper climbs a spiral stone stair at dawn and says 'the storm has passed', gulls calling outside as the lamp glass catches first light", ratio: "16:9", resolution: "1080P", duration: 5, }, }); ```