概要
Kling v3 モデルの multi_prompt パラメータ(マルチショット動画生成)に対応する。
1つの API コールで複数ショットを定義し、ショットごとに異なるプロンプトとデュレーションを指定できる。
prompt(必須): メインプロンプト。常に送信される
multi_prompt(オプション): ショットごとの追加制御。prompt と併用
- 最大6ショット、各ショット最低1秒、合計デュレーション = 動画のデュレーション
Note: 2026-04 時点の Replicate API スキーマに基づく。実装前に最新仕様を確認すること。
対応モデル(Replicate)
| モデル |
multi_prompt |
kwaivgi/kling-v3-video |
対応 |
kwaivgi/kling-v3-omni-video |
対応 |
| その他 |
非対応 |
MulmoScript での使い方
{
"moviePrompt": "A cinematic nature documentary",
"movieParams": {
"model": "kwaivgi/kling-v3-video",
"multiPrompt": [
{ "prompt": "A bird takes flight from a branch", "duration": 3 },
{ "prompt": "It soars over a vast forest canopy", "duration": 4 },
{ "prompt": "It dives into a lake catching a fish", "duration": 3 }
]
}
}
実装ステップ
1. スキーマ (src/types/schema.ts)
beat レベルの movieParams extension に multiPrompt を追加(speed と同階層):
multiPrompt: z
.array(z.object({
prompt: z.string().describe("Text prompt for this shot"),
duration: z.number().int().positive().describe("Duration of this shot in seconds (min 1s)"),
}))
.optional()
.describe("Multi-shot mode: array of shot definitions (max 6, total = video duration). Kling v3 only."),
2. Agent 型定義 (src/types/agent.ts)
export type MultiPromptShot = { prompt: string; duration: number };
export type ReplicateMovieAgentParams = {
// ...既存フィールド...
multiPrompt?: MultiPromptShot[];
};
3. モデルメタデータ (src/types/provider2agent.ts)
ReplicateMovieModelParams に multi_prompt_param?: string を追加し、Kling v3 モデルに設定:
"kwaivgi/kling-v3-video": {
// ...既存フィールド...
multi_prompt_param: "multi_prompt",
},
4. Replicate Agent (src/agents/movie_replicate_agent.ts)
generateMovie() に multiPrompt パラメータを追加。audio 処理ブロックの後に:
if (multiPrompt && multiPrompt.length > 0) {
const multiPromptParam = provider2MovieAgent.replicate.modelParams[model]?.multi_prompt_param;
if (multiPromptParam) {
(input as Record<string, unknown>)[multiPromptParam] = JSON.stringify(multiPrompt);
} else {
GraphAILogger.warn(`movieReplicateAgent: model ${model} does not support multiPrompt — ignoring`);
}
}
注意: multi_prompt API パラメータは JSON 文字列(配列ではない)。
5. パイプライン配線
src/actions/images.ts — movieGenerator params に追加
src/actions/image_references.ts — reference movie generator params に追加
6. ドキュメント
docs/movie_reference_images.md の Replicate テーブルに multiPrompt 列を追加。
概要
Kling v3 モデルの
multi_promptパラメータ(マルチショット動画生成)に対応する。1つの API コールで複数ショットを定義し、ショットごとに異なるプロンプトとデュレーションを指定できる。
prompt(必須): メインプロンプト。常に送信されるmulti_prompt(オプション): ショットごとの追加制御。promptと併用対応モデル(Replicate)
multi_promptkwaivgi/kling-v3-videokwaivgi/kling-v3-omni-videoMulmoScript での使い方
{ "moviePrompt": "A cinematic nature documentary", "movieParams": { "model": "kwaivgi/kling-v3-video", "multiPrompt": [ { "prompt": "A bird takes flight from a branch", "duration": 3 }, { "prompt": "It soars over a vast forest canopy", "duration": 4 }, { "prompt": "It dives into a lake catching a fish", "duration": 3 } ] } }実装ステップ
1. スキーマ (
src/types/schema.ts)beat レベルの
movieParamsextension にmultiPromptを追加(speedと同階層):2. Agent 型定義 (
src/types/agent.ts)3. モデルメタデータ (
src/types/provider2agent.ts)ReplicateMovieModelParamsにmulti_prompt_param?: stringを追加し、Kling v3 モデルに設定:4. Replicate Agent (
src/agents/movie_replicate_agent.ts)generateMovie()にmultiPromptパラメータを追加。audio 処理ブロックの後に:注意:
multi_promptAPI パラメータは JSON 文字列(配列ではない)。5. パイプライン配線
src/actions/images.ts— movieGenerator params に追加src/actions/image_references.ts— reference movie generator params に追加6. ドキュメント
docs/movie_reference_images.mdの Replicate テーブルにmultiPrompt列を追加。