Kling 3.0 API:料金、音声、動作するコード
Kling 3.0は、音声付きで最長15秒、最大4K出力に対応するKuaishouの動画モデルです。このガイドでは、Revanaで呼び出せるKlingのモデル、それぞれの料金、そのまま実行できるリクエストを解説します。
Kling 3.0の得意分野
Kuaishouは、2026年の初めにKling 3.0をリリースしました。ほかの現行フラッグシップ動画モデルと同様に、セリフを含む音声を映像と同時に生成し、テキスト、1枚の画像、または開始フレームと終了フレームのペアから作成できます。
- リップシンク付きのセリフ。セリフを1行書くと、キャラクターがそれを話し、口の動きが言葉に合わせられ、効果音や環境音も加わります。
- 1つのクリップに複数のショット。クリップは最長15秒で、1〜2回のカットを含む短いシーンに十分な長さです。
- 画像による制御。静止画を動かしたり、最初と最後のフレームの両方を指定して、その間の動きをモデルに補完させたりできます。
- 最大4K。720pでドラフトを作り、最終テイクを1080pまたは4Kでレンダリングします。
現行のすべての動画モデルと同様に、画面上の正確な文字は安定しないため、タイトルやキャプションは編集で追加してください。
入力と制限
| オプション | Kling 3.0 |
|---|---|
| モデルID | kling-3.0 |
| タスク | テキストから動画、画像から動画、最初と最後のフレーム |
| 解像度 | 720p、1080p、4K |
| 長さ | 3〜15秒 |
| アスペクト比 | カタログに掲載がないため、aspect_ratio は指定しないでください |
| 音声 | audio:true または false、4K未満では別料金 |
| ルート | 2ルート |
モデルが対応していないフィールドや値は、課金される前に 422 で拒否されます。9:16のような固定のフレーム形状が必要な場合は、まずモデルページを確認するか、Seedance 2.0やWan 3.0など、それを掲載しているモデルを使ってください。
RevanaのKlingモデル
| モデル | タスク | 解像度 | 長さ | 最安/秒 | ルート |
|---|---|---|---|---|---|
| Kling 3.0 | テキストから動画、画像から動画、最初と最後のフレーム | 720p、1080p、4K | 3〜15秒 | $0.09 | 2ルート |
| Kling 3.0 Omni | テキストから動画、画像から動画、最初と最後のフレーム、参照画像、動画から動画 | 720p、1080p、4K | 3〜15秒 | $0.09 | 2ルート |
| Kling 3.0 Turbo | テキストから動画、画像から動画 | 720pと1080p | モデルにより決定 | $0.12 | 2ルート |
| Kling 3.0 Motion Control | 動画から動画 | 720pと1080p | モデルにより決定 | $0.13 | 2ルート |
| Kling 2.6 Pro | テキストから動画、画像から動画、最初と最後のフレーム | 1080p | 5秒または10秒 | $0.07 | 2ルート |
- Kling 3.0 Omniは、参照画像と動画から動画に対応しています。カタログには、動画を入力とするOmniジョブの別料金として、720pで1秒あたり$0.13、1080pで$0.17が掲載されています。
- Kling 3.0 Turboは、720pと1080pのテキストから動画・画像から動画に対応し、解像度ごとに1つの料金です。
- Kling 3.0 Motion Controlは、720pまたは1080pで、元の動画から作成します(動画から動画)。
- Kling 2.6 Proは前世代のモデルです。1080pのみ、5秒または10秒で、1秒あたり3つの料金があります:音声なしが$0.07、音声ありが$0.14、音声とボイスありが$0.19です。
Kling 3.0の料金(2026年10月)
Kling 3.0は、出力動画の1秒あたりで課金されます。720pと1080pでは、音声なしの料金と、それより高い音声ありの料金があり、4Kではカタログ上、どちらも1つの料金です。
| 解像度 | 音声なし / 秒 | 音声あり / 秒 | 5秒・音声付き | 10秒・音声付き | 15秒・音声付き |
|---|---|---|---|---|---|
| 720p | $0.09 | $0.13 | $0.65 | $1.30 | $1.95 |
| 1080p | $0.12 | $0.17 | $0.85 | $1.70 | $2.55 |
| 4K | $0.42 | $0.42 | $2.10 | $4.20 | $6.30 |
Klingの標準のStandardモードとProモードを使っていた場合、それぞれここの720pと1080pの行に対応します。各ジョブの料金は、送信時に残高から確保され、ジョブが成功した場合にのみ課金されます。正確な課金額は cost_usd として返されます。クレジットパックとほかのすべてのモデルの料金は料金ページにあります。
セリフ付きのKling 3.0動画を生成する
"model": "kling-3.0" を付けて POST /v1/generations を送信します。このリクエストは、音声付き・セリフ2行の10秒・1080pのクリップを要求するもので、$1.70です。カタログにKling 3.0用のフィールドが掲載されていないため、aspect_ratio フィールドはありません。
export REVANA_API_KEY="sr_live_..."
# 1. Submit the job (returns 202 with the generation id)
curl https://api.revana.si/v1/generations \
-H "Authorization: Bearer $REVANA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-3.0",
"input": {
"prompt": "Two old friends sit on a park bench in autumn. The man says: \"I never thought we would make it this far.\" The woman laughs and replies: \"Neither did I.\" Leaves falling, gentle wind, distant children playing.",
"resolution": "1080p",
"duration": 10,
"audio": true
},
"max_cost_usd": 3
}'
# 2. Poll with the id from step 1 until status is "succeeded" or "failed"
curl https://api.revana.si/v1/generations/gen_01JBX7Q2M4 \
-H "Authorization: Bearer $REVANA_API_KEY"import os
import time
import requests
API = "https://api.revana.si/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['REVANA_API_KEY']}"}
resp = requests.post(f"{API}/generations", headers=HEADERS, json={
"model": "kling-3.0",
"input": {
"prompt": "Two old friends sit on a park bench in autumn. The man says: \"I never thought we would make it this far.\" The woman laughs and replies: \"Neither did I.\" Leaves falling, gentle wind, distant children playing.",
"resolution": "1080p",
"duration": 10,
"audio": True,
},
"max_cost_usd": 3,
})
resp.raise_for_status()
job = resp.json()
while job["status"] in ("queued", "running"):
time.sleep(5)
job = requests.get(f"{API}/generations/{job['id']}", headers=HEADERS).json()
if job["status"] == "succeeded":
print(job["output"]["urls"], job["cost_usd"])
else:
print("Failed:", job["error"])// Node 18 or later. Save as generate.mjs and run: node generate.mjs
const API = "https://api.revana.si/v1";
const headers = {
Authorization: `Bearer ${process.env.REVANA_API_KEY}`,
"Content-Type": "application/json",
};
const res = await fetch(`${API}/generations`, {
method: "POST",
headers,
body: JSON.stringify({
model: "kling-3.0",
input: {
prompt: "Two old friends sit on a park bench in autumn. The man says: \"I never thought we would make it this far.\" The woman laughs and replies: \"Neither did I.\" Leaves falling, gentle wind, distant children playing.",
resolution: "1080p",
duration: 10,
audio: true,
},
max_cost_usd: 3,
}),
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
let job = await res.json();
while (job.status === "queued" || job.status === "running") {
await new Promise((r) => setTimeout(r, 5000));
job = await (await fetch(`${API}/generations/${job.id}`, { headers })).json();
}
if (job.status === "succeeded") console.log(job.output.urls, job.cost_usd);
else console.error("Failed:", job.error);送信の呼び出しは、202 と、生成の id を返します。数秒ごとにポーリングし、ステータスが succeeded になったら、動画のリンクは output.urls に入っています:
{
"id": "gen_01JBX7Q2M4",
"model": "kling-3.0",
"status": "succeeded",
"output": {
"urls": [
"https://cdn.revana.si/g/gen_01JBX7Q2M4/0.mp4"
]
},
"cost_usd": 1.7,
"attempts": 1,
"error": null,
"created_at": "2026-10-19T14:02:11Z",
"completed_at": "2026-10-19T14:03:47Z"
}出力リンクには有効期限があるため、ファイルはすぐにダウンロードしてください。
写真を動かす
写真を image_url として渡し、次に起こることを説明します。この5秒・720pの音声付きクリップは$0.65です。
{
"model": "kling-3.0",
"input": {
"prompt": "The dog in the photo shakes the water off its coat and runs toward the camera. Splashing, happy barking.",
"image_url": "https://example.com/dog.jpg",
"resolution": "720p",
"duration": 5,
"audio": true
},
"max_cost_usd": 1
}最初と最後のフレーム
end_image_url を追加すると、ショットの終わり方を固定できます。商品の見せ方やトランジションに便利です。音声なしの5秒・1080pのクリップは$0.60です。
{
"model": "kling-3.0",
"input": {
"prompt": "The gift box opens and the watch rises out of it, turning slowly under a soft spotlight",
"image_url": "https://example.com/box-closed.jpg",
"end_image_url": "https://example.com/watch-reveal.jpg",
"resolution": "1080p",
"duration": 5,
"audio": false
},
"max_cost_usd": 1
}Kling 3.0のプロンプトのコツ
- すべての話者を明記する。各セリフを引用符で囲み、誰が話すかを順番に書きます。セリフは短くしてください。10秒のクリップには、2〜3回の短いやり取りが収まります。
- 必要に応じて声を描写する。「低く疲れた声」や「興奮したささやき」のように書くと、話し方を誘導できます。
- 映像と音声を分ける。まずシーンを描写し、次に環境音と効果音を書きます。
- 1ショットにつきカメラワークは1つ。ゆっくりしたプッシュイン、手持ちの追従、固定フレームは、それぞれはっきり伝わりますが、動きを列挙すると伝わりません。
- ドラフトは720pで。料金の安い解像度で試行を重ね、気に入ったテイクを1080pまたは4Kでレンダリングします。解像度によって結果は異なるため、小さな変化は想定してください。
ルーティングとフォールバック
Kling 3.0は現在Revanaに2つのルートがあり、Kling 3.0 Omniにも2つのルートがあります。ルーターは各ジョブを、まず最も安いルートに送り、失敗またはタイムアウトした場合は、自動的に次のルートに移します。どのルートが処理しても掲載価格が適用され、成功したルートにのみ課金されます。attempts フィールドに、試行された数が入ります。
フォールバックは、稼働を保証するものではありません。すべてのルートが失敗した場合、ジョブはエラーを伴う failed で終了し、課金はありません。アプリ側で処理を用意しておいてください。
Klingをカタログのほかのモデルと比較するにはモデルページ、フィールドのリファレンスはドキュメントをご覧いただくか、APIキーを取得してください。
よくある質問
Kling 3.0 APIの料金はいくらですか?
2026年10月時点で、Kling 3.0は、720pで音声なしが1秒あたり$0.09、音声ありが$0.13、1080pでは$0.12と$0.17です。10秒・1080p・音声付きのクリップは$1.70です。
Kling 3.0は、音声やセリフを生成しますか?
はい。audio を true に設定し、セリフをプロンプトに書くと、モデルが映像と同時に、セリフ、効果音、環境音を生成します。4K未満では、音声付きのクリップには音声ありの料金が適用されます。
Kling 3.0とKling 3.0 Omniの違いは何ですか?
Kling 3.0 Omniは、Kling 3.0のタスクに加えて、参照画像と動画から動画に対応し、カタログには、動画入力ありのOmniジョブ用の別料金が掲載されています。
Kling 3.0の動画は、どのくらいの長さにできますか?
1回のリクエストで3〜15秒です。長さは duration フィールドで指定します。
Kling 3.0のアスペクト比は設定できますか?
カタログにはKling 3.0のアスペクト比オプションが掲載されていないため、aspect_ratio は指定しないでください。9:16のような固定の形状が必要な場合は、Seedance 2.0やWan 3.0など、それを掲載しているモデルを使ってください。
KlingのStandardモードとProモードとは何ですか?
Klingが720pと1080pの出力につけている名称です。Revanaでは、resolution フィールドで720pまたは1080pを指定して選びます。