チュートリアル
Seedance 2.5 テキストtoビデオ API の使い方:curl と Python でそのまま実行
1つのプロンプトで4〜30秒の音声付き動画を生成。パラメータ、料金、リリース前の注意点を一度に解説します。
TL;DR
seedance-2.5/text-to-videoはプロンプト1つで動画を生成でき、1本4〜30秒、音声付きです。モデルページを開く とオンラインで生成でき、新規ユーザー登録で200クレジットが付与されます。- 秒単位の課金:720p は毎秒 $0.204、1080p は毎秒 $0.516。5秒 720p で $1.02。
- API は2ステップ:
POST /v1/tasksで送信し、taskIdで結果を取得。以下の curl と Python はコピーしてそのまま実行できます。
まず実際の生成結果を1本
以下の8秒 720p 動画は、1つのプロンプトを1回リクエストして生成したものです。ミルクを蒸す音、カップがぶつかる音、店内の話し声はすべてモデルが付けたものです:
A barista in a small morning cafe pours steamed milk into a cup, drawing a latte art leaf.
The camera starts on her hands and slowly pulls back to reveal the counter and a sign on the wall that reads 'OPEN'.
Warm window light, realistic, smooth motion. Sound: milk steaming, cups clinking, quiet cafe chatter.
このプロンプトで生成 →(8秒、720p)
seedance-2.5/text-to-video、720p、8秒、音声付き、$1.632。
2つの導入ルート
オンラインで試す(コード不要)
- Seedance 2.5 テキストtoビデオ モデルページを開き、登録またはログインします。
- プロンプトを貼り付け、長さ、解像度、アスペクト比を選択します。
- 生成をクリックし、完成後にそのままダウンロードします。
API 呼び出し
- コンソールで API Key を作成します。
POST https://api.hiapi.ai/v1/tasksでタスクを送信し、taskIdが返ります。GET /v1/tasks/{taskId}でステータスを確認し、statusがsuccessになったらoutput[0].urlから動画をダウンロードします。
curl:最初の1本
まず5秒 720p、$1.02 を実行します:
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5/text-to-video",
"input": {
"prompt": "一架纸飞机滑过洒满阳光的办公室,灰尘在光里漂浮,镜头跟着纸飞机缓慢移动",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}
}'
レスポンス:
{"code": 200, "data": {"taskId": "tk-hiapi-..."}, "message": "success"}
結果を確認:
curl https://api.hiapi.ai/v1/tasks/tk-hiapi-... \
-H "Authorization: Bearer $HIAPI_KEY"
生成中は status が handling、完了すると success になり、動画 URL は output[0].url に入ります。
Python:送信、ポーリング、ダウンロード
# pip install requests;先 export HIAPI_KEY=你的 Key
import os, time, uuid, requests
KEY = os.environ["HIAPI_KEY"]
H = {"Authorization": f"Bearer {KEY}"}
def generate(prompt, model="seedance-2.5/text-to-video", timeout_s=900, **params):
body = {"model": model, "input": {"prompt": prompt, **params}}
# 重试提交同一个任务时带同一个 Idempotency-Key,避免重复扣费
headers = {**H, "Idempotency-Key": str(uuid.uuid4())}
r = requests.post("https://api.hiapi.ai/v1/tasks", json=body, headers=headers, timeout=30)
r.raise_for_status()
res = r.json()
if res.get("code") != 200:
raise RuntimeError(res)
task_id = res["data"]["taskId"]
deadline = time.time() + timeout_s
while time.time() < deadline:
d = requests.get(f"https://api.hiapi.ai/v1/tasks/{task_id}", headers=H, timeout=30).json()["data"]
if d["status"] == "success":
return d["output"][0]["url"]
if d["status"] == "fail":
raise RuntimeError(d)
time.sleep(10)
raise TimeoutError(task_id)
url = generate(
"一架纸飞机滑过洒满阳光的办公室,灰尘在光里漂浮,镜头跟着纸飞机缓慢移动",
duration=5, resolution="720p", aspect_ratio="16:9",
)
with open("clip.mp4", "wb") as f:
f.write(requests.get(url).content)
パラメータ一覧
| パラメータ | 値 | 説明 |
|---|---|---|
prompt |
文字列、必須 | 中国語・英語のどちらでも可 |
duration |
4〜30 の整数、デフォルト 5 | 単位は秒、秒単位で課金 |
resolution |
720p / 1080p、デフォルト 720p |
1080p の単価は 720p の約 2.5 倍 |
aspect_ratio |
16:9 4:3 1:1 3:4 9:16 21:9 adaptive、デフォルト adaptive |
縦型ショート動画は 9:16 |
generate_audio |
デフォルト true |
音声と映像を一緒に生成 |
output_format |
mp4 / mov |
テキストtoビデオは画像や動画の URL を受け付けません。1枚の画像から始めたい場合は Seedance 2.5 イメージtoビデオ に切り替えてください。既存動画の動きやカメラワークを参考にしたい場合は Seedance 2.5 リファレンスtoビデオ に切り替えてください。
費用を計算する
| 長さ | 720p($0.204/秒) | 1080p($0.516/秒) |
|---|---|---|
| 5秒 | $1.02 | $2.58 |
| 10秒 | $2.04 | $5.16 |
| 15秒 | $3.06 | $7.74 |
| 30秒 | $6.12 | $15.48 |
$10 で 720p なら約49秒生成できます。まず 720p の短い長さでプロンプトを調整し、その後 1080p で最終版を生成することをおすすめします。より詳しい計算は Seedance 2.5 API 価格 をご覧ください。
リリース前の注意点
- ポーリングの代わりにコールバックを使う:リクエストのトップレベル(
inputと同じ階層)に"callback": {"url": "https://あなたのドメイン/hiapi/callback"}を追加すると、タスク完了時に HiAPI が能動的に通知します。taskIdで重複排除してください。 - 早めに転送保存する:
output[0].urlは一時リンク(デフォルトで約7日間保持)なので、取得後すぐに自分のストレージへ保存してください。 - リトライには冪等キーを付ける:リクエストヘッダーに
Idempotency-Keyを追加すると、同じキーでのリトライはタスクを1回だけ作成し、二重課金されません。 - パラメータを省略しない:
duration、resolution、aspect_ratioを明示的に指定すると、費用とアスペクト比を予算と一致させられます。 - 失敗時は自動返金:成功した動画のみ課金されます。
よくある質問
プロンプトは中国語で書けますか?
書けます。カメラの動き、被写体の動き、音声の内容を文を分けて書くと最も安定します。
最長でどれくらい生成できますか?
1本4〜30秒です。Seedance 2.0 の15秒上限の2倍で、ワンカットの長回しに適しています。
音声をなしにすると安くなりますか?
generate_audio を false にすると音声をオフにできますが、価格は解像度と秒数で決まるため安くはなりません。
Seedance 2.0 とどう選べばいいですか?
より長い1本やより多くの参考素材が必要なら 2.5 を選んでください。予算優先または 4K が必要なら、2.0 の ext ライン(720p 毎秒 $0.134)を選んでください。詳しい比較は Seedance 2.5 と 2.0 の違い をご覧ください。
より多くの既成の書き方を知りたい場合は Seedance 2.5 使用マニュアル をご覧ください。上記のラテアートのプロンプトをコピーして、モデルページで生成することもできます。
関連記事
すべての記事を見る →-
チュートリアル
HiAPI API で hailuo-2.3-fast/image-to-video を呼び出す方法:curl と Python の実践
高速・低コストな画像から動画へのティアにおける最初の実行可能なリクエスト — モデル ID から MP4 のダウンロードまで
-
チュートリアル
HiAPI APIでhailuo-2.3/text-to-videoを呼び出す方法:curl、Python、実行可能なリクエスト例
-
チュートリアル
HiAPI で Kandinsky 6.0 Pro のテキストto動画を使用する:curl と Python チュートリアル
リクエスト優先の実践デモ:プロンプトから動画クリップへの呼び出しを構築し、リクエストを送信し、完了状態をポーリングし、結果をダウンロードする