全部產品
Search
文件中心

Alibaba Cloud Model Studio:串接影片生成模型

更新時間:Nov 04, 2026

在 Agent 工具中呼叫 Token Plan 影片生成模型,提交非同步任務並在生成完成後下載影片。

支援的模型

模型輸入說明
happyhorse-1.1-t2v文字文字生成影片
happyhorse-1.1-i2v首幀圖片、文字圖片生成影片
happyhorse-1.1-r2v參考圖片、文字參考生成影片
wan3.0-video文字、圖片或參考素材全能影片生成

更多模型以 Token Plan 支援的模型 為準。

前提

  • 已訂閱 Token Plan,並取得以 sk-sp- 開頭的 API Key。取得方式請參閱整合概覽。
  • 本機已安裝 Python 3.9 及以上版本。
  • 使用的 AI 程式設計工具支援 Slash Command。其他工具的設定路徑請參閱其他工具。

介面

提交任務:POST https://token-plan.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis

查詢任務:GET https://token-plan.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}

請求標頭使用 Authorization: Bearer $ANTHROPIC_AUTH_TOKEN。提交任務時還需要 X-DashScope-Async: enable。

步驟一:建立 Slash Command

將套餐 API Key 設定為環境變數 $ANTHROPIC_AUTH_TOKEN。

在專案根目錄建立 .claude/commands/text-to-video.md,寫入以下內容:

呼叫 Token Plan 影片產生 API,提交文字產生影片任務,等待完成後下載影片。

影片描述:$ARGUMENTS

## 步驟

1. 從描述中提取 prompt(影片描述)、model(預設 happyhorse-1.1-t2v)、resolution(預設 720P)、ratio(預設 16:9)、duration(預設 5)。如果描述中明確指定了模型,使用指定的模型名稱。
2. 安裝相依套件:pip install requests
3. 使用 Bash 工具執行以下 Python 指令碼提交任務、輪詢狀態並下載影片。指令碼優先讀取 TOKEN_PLAN_API_KEY,其次讀取 ANTHROPIC_AUTH_TOKEN;不要顯示 Key,也不要寫入檔案或日誌。

```python
import json
import os
import sys
import time
from pathlib import Path

import requests

prompt = " ".join(sys.argv[1:])
key = os.environ.get("TOKEN_PLAN_API_KEY") or os.environ.get("ANTHROPIC_AUTH_TOKEN")
if not key:
    raise SystemExit("Token Plan API Key not found.")

base_url = "https://token-plan.ap-southeast-1.maas.aliyuncs.com"
headers = {"Authorization": f"Bearer {key}", "Content-Type": "application/json"}

response = requests.post(
    f"{base_url}/api/v1/services/aigc/video-generation/video-synthesis",
    headers={**headers, "X-DashScope-Async": "enable"},
    json={
        "model": "happyhorse-1.1-t2v",
        "input": {"prompt": prompt},
        "parameters": {"resolution": "720P", "ratio": "16:9", "duration": 5},
    },
    timeout=60,
)
if not response.ok:
    raise SystemExit(f"{response.status_code}: {response.text}")
task_id = response.json()["output"]["task_id"]
print(f"任務已提交:{task_id}")

while True:
    time.sleep(10)
    result = requests.get(f"{base_url}/api/v1/tasks/{task_id}", headers=headers, timeout=60)
    if not result.ok:
        raise SystemExit(f"{result.status_code}: {result.text}")
    data = result.json()
    status = data["output"]["task_status"]
    if status == "SUCCEEDED":
        video_url = data["output"]["video_url"]
        output = f"generated_{time.strftime('%Y%m%d_%H%M%S')}.mp4"
        video = requests.get(video_url, timeout=120)
        video.raise_for_status()
        Path(output).write_bytes(video.content)
        print(output)
        break
    if status in {"FAILED", "CANCELED", "UNKNOWN"}:
        raise SystemExit(json.dumps(data, ensure_ascii=False, indent=2))
    print(f"任務狀態:{status}")
```

4. 輸出下載後的影片檔案路徑。

步驟二:產生影片

在 Claude Code 中輸入 /text-to-video 一只白色的猫在阳台上晒太阳。如需調整時長、解析度或寬高比,在指令中寫明即可,例如 /text-to-video 生成 10 秒、1080P、9:16 的城市夜景。

請求參數

參數必選說明
model是影片產生模型 ID。
input.prompt是影片描述。
parameters.resolution否解析度,支援 480P、720P、1080P,預設 1080P。
parameters.ratio否長寬比,支援 16:9、9:16、1:1 等,預設 16:9。
parameters.duration否時間長度,取值範圍 3 到 15 秒,預設 5 秒。

更多參數請參見 HappyHorse 文生影片 API。

傳回結果

  • 提交任務後傳回 output.task_id 和 output.task_status。
  • 輪詢 GET /api/v1/tasks/{task_id},狀態為 SUCCEEDED 時傳回 output.video_url。
  • 任務狀態包括 PENDING、RUNNING、SUCCEEDED、FAILED、CANCELED 和 UNKNOWN。
  • 影片 URL 具有時效性,產生後請及時下載。

限制

  • 影片生成是非同步任務,提交後需要輪詢結果。task_id 有效期為 24 小時。
  • 不同模型支援的輸入類型、解析度、時長和長寬比不同,以對應模型文件為準。
  • 影片生成消耗高於圖片和語音合成,以主控台用量統計為準。

其他工具

其他工具的擴充機制與設定路徑請參閱整合概覽。將上方的 Slash Command 內容儲存至對應路徑即可。