モデル

Kling v2.1

Markdown · JSON

Kling v2.1

Kling v2.1は、参照画像と文章による動きの指示から動画を生成します。ドキュメントの画像からの動画生成に関する項目には、シーケンスを計画するための5秒と10秒の長さ、およびstdとproのモードが記載されています。

モデルについて

この説明はモデルの機能を紹介するものです。Ailootで利用できる入力、出力、オプションは、選択したメソッドごとに以下に記載されています。

Kling v2.1は、ドキュメントのカタログに、画像から動画を生成する機能が記載されているKlingの動画モデルです。シーンの基礎となる参照静止画を用意し、使えるショットにするための動きを記述してください。商品画像、イラストの舞台、キャラクターを描いた1フレームなどを、シーケンスを展開する構図の出発点にできます。

意図する動作を理解しやすい参照画像を選びます。ドアの横にいる被写体なら部屋に入る動作の出発点が明確になり、物が少ない面に置かれた物体なら輪郭を確認しやすくなります。参照画像は元の品質で保存し、生成したクリップとの対応を維持してください。

一貫したひとまとまりの動作を記述します。被写体、動く方向、意図する最終状態を指定してください。相互作用では、誰が手を伸ばし、何に触れ、どこで動作が終わるかという、関わる対象同士の関係を説明します。生成されたシーケンスで確認できる、目に見える細部を使ってください。

使用先に合ったフレーミングを選びます。ドキュメントの画像からの動画生成に関する項目には、横長・縦長・正方形の比率と、5秒および10秒の長さが記載されています。選択した画面内のどこに被写体を保つかを決めてください。縦長の構図と、場所を示す横に広いショットでは、同じ動きに対して求められる条件が異なります。

ドキュメントに記載された画像からの動画生成の設定には、stdとproの生成モードがあります。候補を比較するときは、選択したモードを結果と一緒に保存してください。求めた動作、構図、被写体の見た目、タイミングについて、出力を指示文と照らし合わせて評価します。モード名だけでは、個々のショットがそれらの要件をどれほど満たすかは分かりません。

カメラの指示で出来事を見せやすくします。固定カメラはポーズの変化を見せ、横方向の移動は舞台を見せ、前方への移動は細部を強調できます。カメラの動きが見る人の追うべき動作と競合しないよう、被写体と視点の意図する関係を明記してください。

クリップ全体を通して連続性を確認します。商品では、視点が変わる際の形状、表記や模様、素材の見え方を確認してください。人物では、顔の特徴、手、服装、近くの物体との接触を確認します。最後の構図は、編集で続くショットやグラフィックとのつながりの中で確かめてください。

完成した動画、参照画像、プロンプト、選択した設定を、1つのショット記録として保存します。修正時には、視覚的な食い違いを具体的に特定し、すでにシーンに役立っている部分を残してください。候補は同じ再生サイズと速度で比較し、見る人が実際に目にする動きと構図に基づいて選びます。

Ailoot Ultra · Video POST /v1/videos kling-v2-1

kling-v2-1

Kling /kling-v2-1

はじめに

Kling v2.1は、参照画像と文章による動きの指示から動画を生成します。ドキュメントの画像からの動画生成に関する項目には、シーケンスを計画するための5秒と10秒の長さ、およびstdとproのモードが記載されています。

対応する入力
テキスト · 画像
結果
動画

Ailootで利用可能 · 入力とメソッド

Ailoot Ultra · Video POST /v1/videos
入力の種類
text, image
出力の種類
video
フィールド種類要件値と制限デフォルト
フィールドmodel種類string要件必須値と制限
kling-v2-1
条件: この Ailoot ルーティングセレクターをそのまま使用してください。
デフォルト—
フィールドmode種類string要件任意値と制限
std, pro
条件: 選択したモデルのドキュメントに記載されたフィールドと、一覧に示された選択肢を使用してください。値を指定しない任意項目は省略してください。
デフォルトstd
フィールドaspect_ratio種類string要件任意値と制限
16:9, 9:16, 1:1
条件: 選択したモデルのドキュメントに記載されたフィールドと、一覧に示された選択肢を使用してください。値を指定しない任意項目は省略してください。
デフォルト—
フィールドduration種類integer要件任意値と制限
5, 10
条件: 選択したモデルのドキュメントに記載されたフィールドと、一覧に示された選択肢を使用してください。値を指定しない任意項目は省略してください。
デフォルト—
フィールドend_image種類string要件任意値と制限
条件: 選択したモデルのドキュメントに記載されたフィールドと、一覧に示された選択肢を使用してください。値を指定しない任意項目は省略してください。
デフォルト—
フィールドimage種類string or array<string>要件必須値と制限
条件: 実際にアクセスできる画像 URL を指定してください。リストは、パラメータースキーマで配列が定義されている場合にのみ受け付けられます。
デフォルト—
フィールドnegative_prompt種類string要件任意値と制限
条件: 選択したモデルのドキュメントに記載されたフィールドと、一覧に示された選択肢を使用してください。値を指定しない任意項目は省略してください。
デフォルト—
フィールドprompt種類string要件必須値と制限
条件: 選択したモデルのドキュメントに記載されたフィールドと、一覧に示された選択肢を使用してください。値を指定しない任意項目は省略してください。
デフォルト—
メソッドのパラメータとライフサイクル
パラメータ仕様
パラメータcontent_type仕様application/json
パラメータrequired仕様model, prompt, image
パラメータoptional仕様mode, aspect_ratio, duration, end_image, negative_prompt
パラメータmaterial_types仕様text, image
パラメータconditions仕様この Ailoot ルーティングセレクターをそのまま使用してください。, 選択したモデルのドキュメントに記載されたフィールドと、一覧に示された選択肢を使用してください。値を指定しない任意項目は省略してください。, 選択したモデルのドキュメントに記載されたフィールドと、一覧に示された選択肢を使用してください。値を指定しない任意項目は省略してください。, 選択したモデルのドキュメントに記載されたフィールドと、一覧に示された選択肢を使用してください。値を指定しない任意項目は省略してください。, 選択したモデルのドキュメントに記載されたフィールドと、一覧に示された選択肢を使用してください。値を指定しない任意項目は省略してください。, 実際にアクセスできる画像 URL を指定してください。リストは、パラメータースキーマで配列が定義されている場合にのみ受け付けられます。, 選択したモデルのドキュメントに記載されたフィールドと、一覧に示された選択肢を使用してください。値を指定しない任意項目は省略してください。, 選択したモデルのドキュメントに記載されたフィールドと、一覧に示された選択肢を使用してください。値を指定しない任意項目は省略してください。

メソッドのエイリアス: /v1/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/media/assets

GET /v1/media/assets/{asset_id}

料金

最終料金の計算方法

表示料金は生成前の費用の見積もりです。最終請求額は、元の生成処理に記録された費用から計算されます。実測された出力時間や予測数量が、そのまま最終的な課金数量になるわけではありません。

料金情報はリクエストの機能を追加しません。対応するパラメーターは選択したメソッドに記載されています。

高速モード
未指定 高速モードが選択されている場合
Flex モード
未指定 flex モードが選択されている場合
最大推論量
未指定 推論量が最大で、調整に既定値(default)を使用する場合

比較用の推定料金

設定別の価格

各料金を表示された条件と照合してください。選択肢となる設定の各組には、いずれか1つの料金を適用します。

設定料金表予測数量料金
設定基本トークン料金料金表基本料金予測数量—料金
入力 · 入力トークン · 比較専用の見積もり — / 1K トークン
出力 · 出力トークン · 比較専用の見積もり — / 1K トークン
入力 · キャッシュ読み取り · 比較専用の見積もり — / 1K トークン
入力 · キャッシュ書き込み · 比較専用の見積もり — / 1K トークン
入力 · キャッシュ書き込み、1時間 · 比較専用の見積もり — / 1K トークン
設定生成費用の見積もり料金表—予測数量生成1回分の概算料金
出力 · 推定生成コスト · 比較専用の見積もり $6 生成前の見積もり

この見積もりは追加料金ではなく、完了した生成処理に対する固定料金でもありません。

Ailootはリクエスト前に見積額を確保します。結果の取得後、実測使用量に基づいて最終料金を精算します。ストリーミング時の精算には最終の使用量記録を使用します。金額の確保と精算の仕組み →

リクエスト例

Ailoot Ultra · Video

curl · 一度だけ作成し、結果全体を保存する元のタスクを読み取る自身が所有する完成済みアセットをすべて保存する
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
: "${AILOOT_IMAGE_URL:?Set an actual customer material or documented value}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "kling-v2-1", "prompt": "A cat is walking on grass.", "image": "YOUR_ACCESSIBLE_IMAGE_URL"}')
p['image']=os.environ['AILOOT_IMAGE_URL']
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
# Submit once. Retain the complete result, original identifiers and every response header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
    raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
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())
roles={}
def visit(v,path=""):
    if isinstance(v,dict):
        for k,x in v.items(): visit(x,path+"/"+k)
    elif isinstance(v,list):
        for i,x in enumerate(v): visit(x,path+"/"+str(i))
    elif isinstance(v,str):
        u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
        if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
            roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
    target=Path(f"asset-{i}.bin")
    subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
    raw=target.read_bytes()
    if not raw: raise SystemExit("Empty asset; retain original status and metadata")
    ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
    name=f"asset-{i}.{ext}"
    if target.name!=name: target.rename(name)
    manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS

結果を受け取って保存

Ailoot Ultra · Video

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
完了した結果をすべて保存

完了した動画や返されたファイルをすべて保存し、実際に返されたすべてのアセットURLから取得してください。

完全なレスポンスとヘッダー、元の識別子、実際のすべての出力、および使用量/会計の全フィールドを保持してください。一意の所有アセットをそれぞれ保存し、それを参照するすべての役割を保持してください。

元のレスポンスを確認する場合

返された公開タスクまたは操作のidと、すべてのヘッダーを保持してください。元のタスクだけを読み取ってください。unknownまたはresult_pending_checkであっても、別の作成を行うことは認められません。

レスポンスのフィールド
フィールド種類
フィールドid種類string
フィールドpolling_url種類string
フィールドprovider_task_id種類string
フィールドtask_id種類string
フィールドstatus種類string
フィールドvideo_url種類string
エラーと次の手順
レスポンス条件次の手順
レスポンス400 · invalid_request_error条件必須フィールド、モデルセレクター、型、または入力の表現形式が無効です。次の手順別のリクエストを準備する前に、返された検証の詳細を確認してください。
レスポンス条件元のリクエストまたは結果が不明、あるいは確認が必要です。次の手順元の識別子とヘッダーを保持し、サポートされているステータス情報やライブラリレコードだけを読み取ってください。作成リクエストを再送しないでください。

エイリアス

モデルのエイリアス

Ailoot Ultra kling-v2-1

メソッドパスのエイリアス

/v1/videos/generations

関連する呼び出し用ID

kling-v2-1

FAQ · Kling v2.1
利用できる入力と結果は何ですか?

POST /v1/videos · kling-v2-1: text, image → video

リクエストはどの項目を使用しますか?

POST /v1/videos · kling-v2-1: model, mode, aspect_ratio, duration, end_image, image, negative_prompt, prompt

詳細を見る

AilootをClaude Code、OpenCode、Hermes、自分のアプリに接続しましょう。

企業とそのプロジェクト群

企業とそのプロジェクト群:数百万の顧客、毎月数十億規模の売上。

トークンを割引価格で購入。

継続利用にサブスクリプション割引。プロモコードでトークン購入が最大50%割引。

サブスクリプション
定期的なリクエストに合う割引プランを選びましょう。
最大50%のプロモコード
購入時にコードを入力すると、実施中のキャンペーンに沿って価格を再計算します。
支出を履歴で確認
各リクエストのモデル、トークン、金額が保存されます。

サブスクリプションを選ぶ · モデルの価格を見る

販売する製品に、 APIを組み込みましょう。

SaaS、アプリ、ボットをAilootの公式サービス提供条件とライセンス契約に基づいて接続できます。再販にはリセラーライセンスを申請できます。

商用アプリ
サービスの有料機能に、文章、画像、動画、音声の生成を組み込めます。
リセラーライセンス
プロジェクトの説明とアクセスの仕組みをお送りください。利用・再販条件の書面を申請できます。
サイトで契約文書を確認
接続前にサービス提供条件、ライセンス契約、データ処理ポリシーを読めます。

リセラーライセンスを申請 · サービス提供条件とライセンス契約