使用ガイド
Kling Transformation 動画スタイル再描画 API:各ショート動画に統一されたビジュアルスタイルを
kling-3.0-omni/transformation を使って、既存の素材を統一されたショート動画スタイルに再形成します——無関係な2本のソース動画、同一のプロンプトプリセット、いずれも実際の出力として本記事に埋め込まれています。
ショート動画を配信しているなら、あなたの最大の敵はアイデアではありません——視覚的な一貫性です。異なる時間、異なる光、異なるソースで撮影または生成したクリップが、結果として5人の異なるクリエイターの作品のように見えてしまいます。通常の解決策は、編集ソフトで何時間もかけて手動でカラー調整とフィルターマッチングを行うことです。
kling-3.0-omni/transformation は別の道を提供します。既存の動画とプロンプトを渡すと、画面全体——シーン、色調、質感、被写体——を再描画しますが、元のカメラワークとタイミングは完全に保持します。この最後の点が重要です。あなたの動画を再生成するのではなく、あなたの動画に新しい外観を与えるのです。つまり、無関係なクリップを集めてすべて同じプロンプトで処理し、単一で統一されたビジュアルスタイルを強制的に形成できます。
本記事はtransformation API 使用ガイドのショート動画制作向けの companion 記事です。あの操作ガイドは生の create → poll → download フローを扱っていますが、本記事はクリエイターにとって本当に重要なワークフローに焦点を当てます:一連のクリップを同じビジュアルスタイルに統一し、1つのスクリプトでバッチ全体を再描画すること。以下の各動画は実際の /v1/tasks 出力で、正確なプロンプトとコストが付記されています。
重要なテクニック:再利用可能な「ビジュアルプリセット」
以下は手描き水彩絵本風に再描画された動画です。ソース素材は紙の舟が都市の排水溝を漂う、地味で陰鬱な夜景——下のバージョンがモデルの返した結果です:
再描画全体はプロンプトによってのみ駆動されます——このエンドポイントにはstrength や fidelity のスライダーはありません。出力がソース素材からどれだけ逸脱するかは、あなたのテキストが押し出す強さに依存します。これは制限ではなく特性です:つまり、あなたのプロンプトがそのままプリセットになるのです。一度書いて、正確な文字列を保存し、一致させたいすべてのクリップで逐語的に再利用します。
以下が上記の動画を生成したプロンプトで、コピー&ペーストできます:
Restyle this video as a hand-painted watercolor storybook illustration:
soft visible brushstroke textures, a warm golden-amber and muted teal
palette, gentle paper grain, softly glowing highlights, and a cozy
picture-book mood. Keep the exact camera motion, framing, timing, and
subject movement from the source clip completely unchanged — change only
the visual style, never the action.
この2つの半分に注目してください。前半はビジュアルスタイルです:色調、質感、雰囲気——ブランドスタイルガイドに書くような部分です。後半は動きとタイミングを保持するための厳格な指示です。後半を削除すると再生成へ流れてしまいますが、保持すれば忠実な外観の差し替えが得られます。ショート動画シリーズにとって、この分割こそが望ましいものです:ビジュアルスタイルはクリップ間で伝達され、動きは各ショット本来のものを維持します。
証拠:1つのプリセット、2本の無関係なクリップ
スタイルプリセットは、それが設計されたことのない素材に適用しても有効である場合にのみ役立ちます。そこで、まったく異なる2本のソースクリップを、上記の完全に同じプロンプト文字列で再描画しました——入力動画以外は、2回の実行間で何も変更していません。
クリップ A——再描画前:紙の舟が夜のネオンに照らされた都市の排水溝を漂っています。
クリップ B——再描画前:夜明け、霧に包まれた港に木造漁船が停泊しています。異なる被写体、異なる時間帯、異なる色調、異なるカメラのリズム。
次に、同じプリセットを適用したクリップ B の再描画結果を見てください:
2つの再描画出力を並べて見ると、同じ作品のセットのように読めます——同じ琥珀色と青緑色の色調、同じ紙の質感の縁、同じ絵本のような柔らかさ——一方は冷たい都市の夜から、もう一方は霧のかかる海辺の朝から生まれたにもかかわらず。これがスタイルの統一です:無関係な素材、1つの識別可能なビジュアルスタイル。しかも両方の出力で、元の動きは完全に保たれています——紙の舟は同じ経路を漂い続け、港のショットは同じようにパンします。
素材ライブラリ全体を再描画する:非同期バッチ処理
本当に量のあるショート動画は、2本ではなく数十から数百のクリップを意味します。それらを1回ずつブロッキング呼び出しで再描画するのは避けたいはずです。タスク API は非同期なので、正しいパターンは:まずすべてのクリップを一括送信し、完了したものから結果を収集することです。
スキーマは小さく、input には3つのフィールドしかありません:prompt、video_urls(ちょうど1つの公開ソース URL)、resolution(720p、1080p、4k)。以下は、同じプリセットを一連のクリップに適用するコンパクトなバッチランナーです:
import os, time, json, requests
API = "https://api.hiapi.ai/v1/tasks"
TOKEN = os.environ["HIAPI_API_KEY"]
HEADERS = {"Authorization": f"Bearer {TOKEN}", "Content-Type": "application/json"}
PRESET = (
"Restyle this video as a hand-painted watercolor storybook illustration: "
"soft visible brushstroke textures, a warm golden-amber and muted teal palette, "
"gentle paper grain, softly glowing highlights, and a cozy picture-book mood. "
"Keep the exact camera motion, framing, timing, and subject movement from the "
"source clip completely unchanged — change only the visual style, never the action."
)
# Your clip library — the SAME preset is applied to every one of them.
SOURCE_CLIPS = [
"https://example.com/clips/hook-01.mp4",
"https://example.com/clips/hook-02.mp4",
# ...dozens more
]
def submit(video_url: str) -> str:
body = {
"model": "kling-3.0-omni/transformation",
"input": {"prompt": PRESET, "video_urls": [video_url], "resolution": "720p"},
}
r = requests.post(API, headers=HEADERS, json=body, timeout=60)
return r.json()["data"]["taskId"]
# 1) Fire off every task first — they run in parallel on the platform.
tasks = {submit(url): url for url in SOURCE_CLIPS}
print(f"submitted {len(tasks)} restyle tasks")
# 2) Poll until each one reaches a terminal state, then grab the output URL.
pending = set(tasks)
outputs = {}
while pending:
for task_id in list(pending):
r = requests.get(f"{API}/{task_id}", headers=HEADERS, timeout=40)
data = r.json().get("data", {})
status = data.get("status")
if status == "success":
outputs[task_id] = data["output"][0]["url"]
pending.discard(task_id)
elif status == "fail":
print(f"{task_id} failed: {data.get('error')}")
pending.discard(task_id)
if pending:
time.sleep(8)
# 3) Download immediately — output URLs are short-lived signed links.
for task_id, url in outputs.items():
dest = f"restyled-{task_id}.mp4"
with open(dest, "wb") as f:
f.write(requests.get(url, timeout=120).content)
print("saved", dest)
特に強調すべき点が2つあり、操作ガイドで詳しく解説されています:出力をすぐにダウンロードすること(返される URL は期限切れになります)、そして大量バッチでは頻繁なポーリングではなく callback を優先し、詳細エンドポイントを繰り返し叩かないようにすることです。非同期タスクのドキュメントにリクエスト/レスポンスの構造説明があります。
ショート動画の実践的なアドバイス
- ソースクリップは短く保つ。料金は秒単位で計算されるので、短いフックは安くて速いです。上記の3秒クリップ2本は 720p で1本あたり約 $0.43 です(料金は後述)。
- 解像度は虚栄心ではなくプラットフォームに合わせて選ぶ。2026年10月時点で、
kling-3.0-omni/transformationの料金は 720p で毎秒 $0.143、1080p で毎秒 $0.193、4K で毎秒 $0.479 です。どうせ再圧縮される縦型フィードなら 720p〜1080p が通常スイートスポットで、4K は主力作品向けです。最新の数字は常に料金ページで確認してください。 - プリセットを固定したら、触らない。クリップごとに文言を微調整した瞬間、再描画を行った目的である一貫性を失います。プリセット文字列はコードと同じようにバージョン管理してください。
- 動きは継承されるもので、創作されるものではない。出力の長さと動きはソースクリップに従います。プロンプトや静止画からモデルに動きを作成させたい場合は別のツールです——テキストから動画または画像から動画を参照してください。
よくある質問
再描画の強度を制御できますか? パラメータでは制御できません——strength や fidelity フィールドはありません。文言で制御します。軽い色調補正なら、軽微な色/質感の変化を記述し、「それ以外は元の外観を保つ」と強調します。水彩の例のような完全な再描画なら、スタイル語彙を重ねます。再描画の強度は完全にプロンプトの中にあります。
元の動きは保持されますか、それともシーンが再アニメーション化されますか? ソースの動きとタイミングが保持されます——これが transformation エンドポイントの定義的な動作です。プロンプト内の明確な「正確なカメラモーションとタイミングを保持」という条項がそれを強化します。出力の長さは入力クリップと一致します。
これは画像から動画や参照から動画とどう違いますか? 画像から動画は静止画を動きのある動画にアニメーション化します。参照から動画は参照メディアから要素を借りて新しく生成されたクリップに取り込みます。Transformation は完成した動画から出発し、そのスタイルだけを変え、すでに持っている動きを保持します。他のモードについては参照から動画のプロンプトレシピを参照してください。
ショート動画では、どのソース解像度と長さが最適ですか? クリーンで十分に明るいソース素材を使ってください——モデルは見えるものを再描画するので、ぼやけたソースはぼやけた再描画結果になります。フックと B-roll は数秒に保ち、1本の長いクリップではなく多くの短いクリップをバッチ処理してください。これはコストのためでもあり、上記で示したクリップごとの並列性のためでもあります。
シリーズ全体で1つのプリセットを使えますか?
はい——それがまさに要点です。すべてのクリップで完全に同じプロンプト文字列を再利用すれば、それらは同じビジュアルスタイルを共有します。上記のバッチスクリプトはまさにそうしています:1つの PRESET 定数をリスト内の各ソース素材に適用します。
あなたのフィードに統一されたビジュアルスタイルを
あなたのショート動画が別々のアカウントから来たように見えるなら、kling-3.0-omni/transformation はそれらをまとめる最速の方法です:1つのビジュアルプリセットを書き、すべてに適用し、各クリップ本来の動きを保持します。サンプルクリップを1本用意し、上記の水彩プリセットをコピーする(または自分で書く)して、kling-3.0-omni/transformation モデルページで実行してください。バッチスクリプトを書く準備ができたら、操作ガイドに完全なクライアントがあります。