Source: https://ailoot.ai/models/zh-hant-tw/alibaba-happyhorse-1-1/
Canonical: https://ailoot.ai/models/zh-hant-tw/alibaba-happyhorse-1-1/
Language: zh-hant-tw

# Alibaba: HappyHorse 1.1

[Markdown](https://ailoot.ai/models/zh-hant-tw/alibaba-happyhorse-1-1/index.md) · [JSON](https://ailoot.ai/models/zh-hant-tw/alibaba-happyhorse-1-1/facts.json)

## [Alibaba: HappyHorse 1.1](https://ailoot.ai/models/zh-hant-tw/alibaba-happyhorse-1-1/)

Alibaba HappyHorse 1.1 可根據文字簡述、一張首格圖片或最多九張參考圖片生成有聲短片。原廠規格強調改善動作、皮膚細節及跨短片角色一致性。輸出為 3–15 秒、24 fps 的 MP4，提供 480p、720p 或 1080p。

- [**Ailoot Ultra · 影片** `POST /v1/videos` `alibaba/happyhorse-1.1`](https://ailoot.ai/models/zh-hant-tw/alibaba-happyhorse-1-1/#method-0)

關於模型

此說明介紹模型的能力。Ailoot 可用的輸入、輸出與選項，依所選方法列於下方。

Alibaba HappyHorse 1.1 是影片生成版本，提供另行命名的文字轉影片、首格圖片轉影片及參考轉影片規格。原廠強調改善視覺細節、動態、跨短片角色身分、文字穩定性及影音同步。結果是有聲短片，適合產品鏡頭、人物肖像動畫或小型角色場景。請依應定義場景的來源選擇輸入模式：文字概念、精確開場圖片，或多份視覺參考。

文字轉影片需描述主體、地點、動作、構圖、運鏡與聲音意圖。短動作場景可呈現自行車騎士停在河畔咖啡店旁，攝影機緩緩靠近停好的自行車。動作應符合短片長度，並描述最後時刻。原廠目前文字指南允許最多 5,000 個非中文字元或 2,500 個中文字元，超出會截斷。請整理簡述，讓核心主體及動作清楚明確，不要埋在重複形容詞中。

首格圖片轉影片使用恰好一張圖片作為開場。請在靜態圖片中準備主體、構圖及預期裁切，再描述應動起來的部分或攝影機如何改變。文件圖片格式為 JPEG／JPG、PNG 與 WEBP，上限 20 MB、兩邊至少 300 像素、長寬比介於 1:2.5 與 2.5:1。輸出保留來源圖片比例，並近似所選解析度等級。因此直式結果應從適合的直式構圖開始，而非使用無關的長寬比指示。

參考轉影片接受一至九張圖片。提示詞使用 \[Image 1\]、\[Image 2\] 及後續位置，依輸入順序識別。請交代每份參考用途，指出相關物件或人物，避免將場景圖片誤認為角色來源。參考指南接受最高 20 MB 的 JPEG／JPG、PNG 或 WEBP，要求最短邊至少 400 像素，並建議使用清楚的 720p 或更高解析度參考。避免使用辨識細節已缺失的重度壓縮參考。

多份參考場景可讓一張圖的人物置於另一張圖的房間，並保留第三張圖提供的外套或產品。在同一簡述中描述互動與攝影機。1.1 參考規格強調主體、場景風格及電影感動態的穩定性；請檢查實際結果的預期身分、產品標記及空間位置。多張圖片讓簡述資訊更豐富，但仍需檢查哪些特徵進入影片。

原廠列出的 1.1 生成模式輸出為 480p、720p 與 1080p，整秒片長三至十五秒，24 fps MP4。API 回應描述 H.264 編碼。文字及參考生成提供 16:9、9:16、1:1、4:3、3:4、4:5、5:4、9:21 與 21:9 等形狀；首格生成沿用輸入圖片。請依用途選擇形狀，預留後製字幕或版面元素空間，並以預期顯示尺寸檢查回傳影片實際構圖。

模型系列輸出包含聲音。請在簡述中給演出或氣氛明確用途，並連同畫面檢查所有對話、音效或背景音軌。口語內容應短到能容納動作及停頓，不要將長腳本壓入單一短鏡頭。有語音時，請檢查嘴型、說話者歸屬及實際台詞。接受某種提示詞語言，不代表保證其發音，也不代表提供獨立聲音參考輸入。

原廠文件流程採非同步處理：工作識別碼追蹤處理，成功結果提供影片位置。結果連結及工作查詢的文件有效期間為二十四小時。請將完成短片、參考及提示詞保存為修訂紀錄。指南也記載種子及浮水印控制。固定種子可協助比較，但原廠明確指出不保證相同結果，因此應判斷回傳素材，不要假設一項設定能固定所有影格。

HappyHorse 1.0 與 1.1 是不同版本。1.1 輸出表在 1.0 的 720p 及 1080p 選項之外加入 480p，1.1 模型頁面則描述細節、動作及一致性升級。另行命名的 HappyHorse 1.0 影片編輯規格有自己的輸入與限制，不應默默將它當成 1.1 編輯模式。請檢查完整 1.1 短片的身分、動作、構圖、文字與聲音，再做具體修正，同時保留簡述中成功的部分。

**Ailoot Ultra · 影片** `POST /v1/videos` `alibaba/happyhorse-1.1`

[`alibaba/happyhorse-1.1`](https://ailoot.ai/models/zh-hant-tw/#m=alibaba%2Fhappyhorse-1.1&route=Ultra&caller=alibaba%2Fhappyhorse-1.1&fmt=videos)

Alibaba /`alibaba/happyhorse-1.1`

### 入門

Alibaba HappyHorse 1.1 可根據文字簡述、一張首格圖片或最多九張參考圖片生成有聲短片。原廠規格強調改善動作、皮膚細節及跨短片角色一致性。輸出為 3–15 秒、24 fps 的 MP4，提供 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 調整值時

#### 供比較的預估費率

#### 各設定的價格

請逐一核對各項費用與所列條件。每組互為替代選項的設定只套用一種費率。

| 設定 | 費率表 | 預估數量 | 計費單位 | 計費條件 | 費用 |
| --- | --- | --- | --- | --- | --- |
| 設定基礎 token 費率 | 費率表基本費率 | 預估數量— | 計費單位— | 計費條件— | 費用 輸入 · 輸入 Token · 僅供比較的估算 **—** / 1K Token 輸出 · 輸出 Token · 僅供比較的估算 **—** / 1K Token 輸入 · 讀取快取 · 僅供比較的估算 **—** / 1K Token 輸入 · 寫入快取 · 僅供比較的估算 **—** / 1K Token 輸入 · 寫入快取，1 小時 · 僅供比較的估算 **—** / 1K Token |
| 設定影片價格 | 費率表— | 預估數量— | 計費單位每秒影片 | 計費條件resolution: 1080p | 費用 輸出 · 影片價格 · 僅供比較的估算 **$0.2556** 每秒影片 |
| 設定影片價格 | 費率表— | 預估數量— | 計費單位每秒影片 | 計費條件resolution: 720p | 費用 輸出 · 影片價格 · 僅供比較的估算 **$0.1976** 每秒影片 |
| 設定預估生成費用 | 費率表— | 預估數量單次生成估算值 | 計費單位— | 計費條件— | 費用 輸出 · 預估生成費用 · 僅供比較的估算 **$0.5928** 生成前估算 此估算並非額外費用，也不是本次生成完成後的固定費率。 |

Ailoot 會在請求前預留估算金額。取得結果後，依實測用量結算最終費用。串流結算採用最終用量紀錄。[預留金額與結算的運作方式 →](https://ailoot.ai/docs/zh-hant-tw/billing/reserve/)

#### 參考費率詳情

模型層級的參考費率表不會變更方法選擇、報價或費用。實際計費採用所選 Ailoot 方法的費率。

影片設定的價格參考

#### 各設定的價格

請逐一核對各項費用與所列條件。每組互為替代選項的設定只套用一種費率。

| 設定 | 計費條件 | 費用 |
| --- | --- | --- |
| 設定影片價格 | 計費條件resolution: 720p | 費用 輸出 · 影片價格 **$0.1976** 每秒影片 所示設定的公開價格參考。最終費用依實際計費設定計算。 |
| 設定影片價格 | 計費條件resolution: 1080p | 費用 輸出 · 影片價格 **$0.2556** 每秒影片 所示設定的公開價格參考。最終費用依實際計費設定計算。 |

### 請求範例

#### Ailoot Ultra · 影片

curl · 原樣保留的建立請求

```bash
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 · 取得原始作業狀態

```bash
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
```

其他內容讀取方式

儲存所有已完成且屬於自己的輸出

```bash
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。請取得每個回傳的 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 | 含義HTTP503 result\_pending\_check 時的 server\_error。 |

錯誤與後續步驟

| 回應 | 條件 | 下一步 |
| --- | --- | --- |
| 回應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`](https://ailoot.ai/models/zh-hant-tw/#m=alibaba%2Fhappyhorse-1.1&route=Ultra&caller=alibaba%2Fhappyhorse-1.1&fmt=videos)

#### 方法路徑別名

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

#### 相關呼叫用 ID

[`alibaba/happyhorse-1.1`](https://ailoot.ai/models/zh-hant-tw/#m=alibaba%2Fhappyhorse-1.1&route=Ultra&caller=alibaba%2Fhappyhorse-1.1&fmt=videos)

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 或自己的應用程式。

## 公司及其專案組合

公司及其專案組合：數百萬客戶，每月銷售額達數十億。

## 優惠購買 token。

訂閱優惠適合持續工作，折扣碼購買 token 最高可折 50%。

訂閱

為定期請求選擇優惠方案。

最高 50% 折扣碼

購買時輸入代碼，價格依活動重算。

歷史中的費用

每次請求保存模型、token 與金額。

[選擇訂閱](https://ailoot.ai/docs/zh-hant-tw/billing/subscriptions/) · [查看模型價格](https://ailoot.ai/models/zh-hant-tw/)

## 將 API 加入 你銷售的產品。

依 Ailoot 正式服務條款與授權合約串接 SaaS、應用程式與機器人；轉售請申請經銷授權。

商用應用程式

在付費功能加入文字、圖片、影片與聲音生成。

經銷授權

提供專案說明與存取方式，要求書面使用和轉售條件。

網站文件

串接前可閱讀正式服務條款、授權合約與資料處理政策。

[申請經銷授權](mailto:support@ailoot.ai) · [正式服務條款與授權合約](https://ailoot.ai/legal/offer?lang=zh-hant-tw)

## Ailoot · 公司及其專案組合





Ailoot以累積的營運經驗、廣大的客戶群、穩定的服務及持續的KPI管理為基礎。





公司及其專案組合：數百萬客戶，每月銷售額達數十億。





Ailoot將這些營運經驗用於API存取，讓客戶的產品、代理、應用程式及自動化流程使用AI功能。
