mcpField
B
baseball-trend

baseball-trend

github.com/pika-labsクリエイティブ・メディア411.7k 回インストール14 週間前に更新
リポジトリ

baseball-trend について

baseball-trend は、ユーザー提供の人物画像を使い、架空のMLB中継での観客席カットを作る固定レシピのスキルです。参照画像を中継風の静止画にし、実況で人物名を呼ぶ15秒動画を生成します。

主な機能

  1. 01参照画像を使った中継静止画
  2. 0215秒動画の生成
  3. 03名前を字幕と実況に表示
  4. 04ヤンキース対レッドソックスの固定設定
  5. 05生成前のアバター種別チェック

活用シーン

  1. 01人物写真から架空の野球中継出演シーンを作成
  2. 02指定した人物を実況で呼ぶ短いスポーツ動画を作成

MCP 対応

Pika MCPツールで画像編集と参照動画の生成、メディア分析、非同期タスクの追跡を行います。有料生成の前に残高確認とユーザーの承認が必要です。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/pika-labs/pika-plugins --skill baseball-trend

インストール後、Claude Code で/baseball-trendを入力して読み込まれたか確認します。

詳細

baseball-trend

ヤンキース対レッドソックスのALCS第3戦がフェンウェイ・パークで行われているという架空の試合で、ユーザーがホームプレート後方に座っている様子を、ESPN風の15秒間の中継映像で紹介します。2人の実況アナウンサーが放送中にユーザーの名前を呼びます。

固定レシピのスキルです。以下のプロンプトは調整済みです。ユーザー名を置き換え、指定されたアンカーはそのまま維持してください。

費用の透明性に関する確認

有料のMCP呼び出しを行う前に、identity_balance({verbose: true})を一度呼び出してください。現在の残高、直近の消費ペース、残りの利用可能期間を伝えたうえで、次の正確なメッセージを表示して実行確認を行います。

推定費用:GPT-image-2の中継用静止画、Kling v3-omni pro 15sのレンダリング1~2回(ペイロードを変更したStep 2の修正再試行1回分を含む)、および事後のanalyze_mediaによるQAで、約3,000~5,500クレジット(約30~55ドル)です。5ドルを超えるため、続行するには proceed、停止するには cancel と返信してください。

ユーザーが proceed と返信するまで、有料のMCPツールを呼び出さないでください。ユーザーが cancel と返信した場合は、生成せずに停止してください。確認が必要なのはこれだけです。proceed の後は、パイプラインを最後まで実行します。

音声の選択に関する注意

このスキルでは、Kling-omniのネイティブな中継解説を使用します。MLB中継の慣例に合わせ、男性の実況アナウンサー2人が担当します。この固定レシピではエージェント側のTTSやカスタム音声IDを使用しないため、identity_voiceの設定は使用されません。

女性の声の実況アナウンサーやカスタム音声を希望する場合、baseball-trendは適切なスキルではありません。野球の演出を加えた /pika:podcast に案内してください。このスキルにはエージェント側の音声経路があり、明示的な音声の指定に対応できます。

Stage 0 — 情報の収集

引数が空で、利用可能な以前のコンテキストもない状態で呼び出された場合は、次のメニューを表示して停止します。

架空のMLB中継映像に登場させるのは誰ですか? 必須項目:

  • 名前 — テロップと実況アナウンサーのセリフに表示する名前を正確に指定してください
  • 参照写真 — 正面または3/4向きのポートレート1枚。ローカルパスまたはHTTPS URL

不足している項目が1つだけの場合は、その項目だけを尋ねてください。それ以外の場合は、以下の2つの質問を1つずつ尋ねてください。

1. ユーザー名 (必須) — 中継のテロップと実況アナウンサーのコメントの両方に使用します。例:"Jane Doe"。state.usernameとして保存してください。以下のプロンプト内にあるすべての文字列 ${username} をこの値に置き換えます。

2. 参照画像 (必須) — 正面または3/4向きのポートレート1枚。照明が適切で、顔が1人だけ写っているものを指定してください。CDN URLに解決し、state.reference_image_urlとして保存してください。

  • https://… URL → そのまま使用します。

  • ローカルパス → upload_assetでファイルをアップロードし、返された公開URLを使用します。

  • Claude Desktopで写真をインラインに貼り付けた場合 → 現時点では、インラインの貼り付け画像はMCPツールに渡されません(Anthropic側の制限です)。次のように返信してください。

    ご注意ください — 現時点では、Claude Desktopで貼り付けた画像はMCPツールに渡されません。次の2つの方法があります。

    • すでにどこかにホストされている場合は、URLを貼り付けてください — 最も早い方法です。
    • 画像ファイルを添付してください。生成前にこちらでアップロードできます。

    ローカルファイルが届いたら、upload_assetで公開URLに変換し、public_urlを使用してください。

両方の回答が揃ったら、費用の透明性に関する確認を行います。その後、「**{username}**のホームプレート後方でのカットアウェイ映像を生成しています…」という短い確認を表示して、パイプラインを開始してください。費用確認後に、追加の実行確認を求めないでください。パイプラインを最後まで実行します。

Stage 0.5 — 参照画像のアバタータイプ判定

有料の generate_image_edit または generate_reference_video を呼び出す前に、state.reference_image_url に対してこのアバタータイプ判定を実行します。野球トレンドのレシピでは、被写体を偽の放送ゲストに仕立てるため、知的財産に由来するアバターや有名人・公人の参照画像は、モデレーションで特に拒否されやすくなります。

analyze_media を1回呼び出します。

query: "Classify this image for paid video generation. Is it a photograph of a real human face, an AI-generated realistic portrait, a stylized / illustrated character, or a recognizable trademarked / copyrighted character such as Batman, Pikachu, or Mickey Mouse? Return strict JSON only: { \"avatar_type\": \"real_human\" | \"ai_realistic\" | \"stylized_illustrated\" | \"recognized_ip\", \"recognized_character\": string | null, \"moderation_risk\": \"low\" | \"medium\" | \"high\", \"recommendation\": \"proceed\" | \"warn\" | \"reject\" }. Use null for `recognized_character` when no specific character is recognized; never write \"none\", \"unknown\", or explanatory prose in that field."

結果に応じて分岐します。

  • 認識されたIP/著作権リスク -> avatar_type が "recognized_ip" の場合、または recognized_character に特定のキャラクター(例:"Batman")が指定されている場合、あるいは moderation_risk が "high" かつ recommendation が "reject" の場合に限り、停止します。recognized_character: null、空文字列、"none"、"unknown"、"n/a"、および低/中程度の moderation_risk は、それだけでは停止する根拠として不十分です。実写/スタイライズのルートに進む前に、このチェックを実行します。ちびキャラのバットマンも、avatar_type が stylized / illustrated であってもバットマンです。
  • 実在の人物/AI 生成のリアルな画像 -> 通常どおり進めます。
  • スタイライズ/イラスト調 -> スタイライズされたアバターでは本人の再現性が低下する可能性があり、画像/動画のモデレーションでブロックされる場合があることを、ユーザーにわかるように警告してから進めます。
  • 商標登録済み/著作権保護対象 -> 生成の前に停止します。次のメッセージを表示します。Your identity avatar appears to be a trademarked character ([X]). Most video providers will moderate this and refuse to generate. Pass --avatar <real-looking-photo-url> to override, or update your identity avatar at pika.me first. このスキルでは、ユーザーが --avatar <real-looking-photo-url> 形式のオーバーライドを指定していない場合、代わりの参照写真の URL またはパスを尋ねます。

パイプライン

Pika MCP の2つのステージを順番に実行します。主要エンジンは固定されています。静止画には gpt-image-2、動画には kling-v3-omni を使用します。静止画ステージで利用できる唯一のフォールバックは、OpenAI が放送用静止画を moderation_blocked で拒否した場合に、以下で説明する seedream パスです。

長時間実行タスクの task_status ポーリング

長時間実行の生成呼び出しが、初期ステータスの有無にかかわらず task_id を返した場合({task_id}、{task_id, status: "queued"}、または初期ステータスが queued、running、processing の場合を含む)、ただちにタスク ID と開始時刻を記録します。

  • ターミナル状態(completed | failed | cancelled)になるまで、task_status({task_id}) を短い間隔で繰り返し呼び出します。手動でのスリープや Bash によるポーリングは行いません。ワーカーは各ステータス呼び出しを開いたままにします。
  • ステータスが queued、running、processing の間は、60秒ごとにユーザーに見える進捗行を1行出力します。Seedance i2v queued for {N}m {S}s... still processing。GPT-image-2 または Kling のタスクをポーリングする場合は、プロバイダー/ステージのラベルに置き換えます。
  • completed になったら、返された結果 URL を取り出して続行します。
  • failed または cancelled になったら、task_id、ステータス、最後のステータスメッセージをユーザーに伝えて失敗を報告します。
  • 最初の送信から合計15分が経過してもタスクがターミナル状態でない場合は、task_cancel({task_id}) を呼び出してから、ユーザーに失敗を報告します。キャンセル時にタスクがすでにターミナル状態だと報告された場合は、もう一度ステータスを確認し、そのターミナル結果を報告します。
  • 元のタスクが queued、running、processing の間は、重複するリクエストを送信しません。
ステップ 1 — 放送用静止画(generate_image_edit)

テロップとスコア表示はフレーム 0 の静止画に焼き込みます(これは重要です。Kling にテロップをクリップの途中で「表示」するよう指示すると、4〜5 秒後に目に見えるフラッシュとともに表示され、トレンドが崩れます。最初のフレームに焼き込むことで、Kling はこれをピクセルに固定された焼き込み済み UI として扱います)。

次の内容で generate_image_edit を呼び出します。

  • provider: gpt-image-2
  • images: [state.reference_image_url]
  • aspect_ratio: 16:9
  • quality: medium(速度優先のデフォルトです。現在は high も指定できますが、1 回の呼び出しに約 2 分かかります。忠実度が重要な場合にのみ使用してください)
  • output_format: png
  • prompt(${username} を置換したもの。以下の文面をそのまま使用):
A screenshot from a live MLB game TV broadcast on ESPN. The camera cuts to the audience — our reference image person, sitting smiling in premium field-level seats behind home plate at Fenway Park, smiling naturally and unaware they're on camera. Hardlock: Do not alter their facial structure and maintain their likeness. The subject must match the reference person.

The image looks exactly like a real TV screenshot — broadcast color grading, slight compression artifacts, interlacing grain, telephoto broadcast camera feel. It's the New York Yankees vs Boston Red Sox, MLB American League Championship Series (ALCS), Game 3, Boston home stadium (Fenway Park). Yankees lead 2-0 in the ALCS so far.

CRITICAL — broadcast graphics that MUST be visible in this image:
1. A real ESPN-style bottom scorebug for MLB, showing Yankees vs Red Sox with team logos, inning, outs, balls/strikes count, and score (with a small runners-on-base diamond), looking like a real live broadcast scorebug.
2. Directly above the scorebug, a clean broadcast-style lower-third name graphic / chyron that reads exactly: "${username}" — set in a classic ESPN sans-serif, in the network's color treatment. The chyron sits in the lower-left area, above the scorebug, like a real broadcast identifier for the on-camera guest.
3. The ESPN network logo watermark in a corner.

All three graphics must look like real burned-in broadcast UI — not Photoshop overlays. 16:9 aspect ratio.

返された URL を state.broadcast_still_url として保存します。

再試行の上限:ステップ 1 の静止画生成は、最初の静止画、セルフチェックによる再生成、無効な画像の再試行、quality の引き下げ、以下の 1 回限りの seedream フォールバックを含め、合計で最大 3 回までです。有料の静止画生成を呼び出す前に、state.step1_attempt_count を記録してください。

OpenAI のモデレーションによるフォールバック:ステップ 1 の gpt-image-2 呼び出しが moderation_blocked を返した場合、「実在の人物+ESPN ブランドのライブ配信+実在の MLB チーム」という既知のポリシー制約と見なしてください。同じ OpenAI 呼び出しを繰り返さないでください。同じ images、aspect_ratio、プロンプト文を使い、gpt-image-2 専用のフィールドである quality と output_format を省略して、seedream を 1 回試してください。

  • seedream が成功した場合は、その URL を state.broadcast_still_url として保存し、state.broadcast_still_provider = "seedream_fallback" に設定して、以下のセルフチェックに進みます。フォールバックは 1 回限りです。この実行中に gpt-image-2 を再度呼び出したり、seedream を 2 回目に呼び出したりしないでください。

  • seedream も失敗するか、ポリシー/安全性によるブロックを返した場合は処理を停止し、ユーザーに次のメッセージをそのまま表示します。

    OpenAI はこの画像の生成を拒否しました。新しい AI 生成のヘッドショットを使用するか、MLB 以外のスポーツのバリエーションを選んでください。

ステップ 2 の前に行うエージェント側のセルフチェック:テロップのユーザー名が正確に表記されており、スコア表示が実際の放送 UI のように見える必要があります。最初の gpt-image-2 静止画でどちらかに問題がある場合は、ステップ 1 の上限まで試行回数が残っている限り、セルフチェックに失敗するたびにステップ 1 を 1 回再実行してください(後続のすべての工程はこのフレームにピクセル単位で固定されます)。state.broadcast_still_provider = "seedream_fallback" の後にどちらかに問題がある場合は、ステップ 1 を再実行せず、上記と同じメッセージを使って、新しい AI 生成のヘッドショットか MLB 以外のスポーツのバリエーションをユーザーに依頼してください。これはエージェント自身が行うチェックです。1 回限りのフォールバックで QA に失敗するまでは、ユーザーに確認しないでください。いずれかの上限に達したら処理を停止し、より良い参照写真を依頼するか、最善の試行結果で納品する許可を求めてください。その際は、最良の静止画または動画の URL と、失敗したチェック項目を伝えてください。

ステップ 2 — 15 秒の放送動画(generate_reference_video)

image_types: ["first_frame"] を指定すると、state.broadcast_still_url が Kling の厳密なフレーム 0 として固定され、テロップとスコア表示が 15 秒間、ピクセル単位で静止します。

以下を指定して generate_reference_video を呼び出します。

  • provider: kling
  • kling_model: kling-v3-omni
  • duration: 15
  • aspect_ratio: 16:9
  • quality_mode: pro
  • reference_images: [state.broadcast_still_url]
  • image_types: ["first_frame"]
  • sound: true
  • prompt_adherence: strict (重要な指定です。指定しないと、スコア表示がアニメーションしたり、クリップの後半で人物の同一性がずれたりします)
  • negative_prompt (原文どおり指定する重要な項目です。これらの記述がないと、Kling がスコア表示を変形させたり、テロップをフェードアウトさせたりすることがあります):
scene cuts, camera angle changes, scorebug animation, chyron pop-in, chyron fade-in, chyron text changes, graphics animating, exaggerated acting, direct address to camera, blurry face, identity drift, distorted anatomy
single announcer, one announcer only, single narrator, announcer monologue
  • prompt(原文どおり指定し、${username} はすべて置換します。Kling の 2500 文字制限に収まるよう、あらかじめトリミングしてあります。先頭にフレーム 0 でのテロップ固定の指定があります):
First frame is the provided reference image. The ESPN scorebug AND the "${username}" lower-third chyron are ALREADY on screen at frame 0 — keep them visible, unchanged, pixel-locked across all 15 seconds. Do NOT animate them, do NOT change their text.

Realistic live MLB broadcast cutaway of the subject in premium field-level seats behind home plate at Yankees vs Red Sox ALCS Game 3 at Fenway Park. It feels like the broadcast camera found a notable guest between innings.

The subject stays seated, smiling naturally, not over-performing, not locked into eye contact. Occasionally glances toward the field, then camera, then back to the field. One continuous take. No cuts. No angle changes.

Action timeline:
0-4s: smiling casually in his seat as the camera lands on him; looks around naturally, not paying attention to camera.
4-7s: relaxed natural wave toward the camera (crowd cheers when he waves the first time); glances up at the Jumbotron above him then back to camera.
7-11s: cheers briefly with visible excitement, reacting to the playoff atmosphere; turns to his friend on the left, exchanges words, laughs (we don't hear him speak).
11-15s: claps naturally while smiling.

Keep all movement subtle, believable, human. No exaggerated acting. No direct talking to camera.

Broadcast styling: live sports TV look, telephoto broadcast camera, natural ballpark lighting, slight compression / interlacing grain, authentic crowd movement, realistic field-level framing.

Audio: two distinct male voices, not a single narrator. Announcer A is play-by-play; Announcer B is the color commentator. Alternate A/B lines with natural broadcast handoffs so both voices are clearly heard:
Announcer A: "${username} is here tonight at Fenway, taking in this massive playoff matchup."
Announcer B: "You can see he's enjoying himself behind home plate for Game 3."
Announcer A: "Great atmosphere in the building tonight."
Announcer B: "And ${username} is getting a lot of love from the crowd."
The announcers are OFF-SCREEN; the subject does not lip-sync or talk to camera.

Constraints: Preserve identity strongly. Keep him seated behind home plate throughout. No constant eye contact with camera. No talking to camera. No exaggerated gestures. No scene cuts. Scorebug + chyron do not change at any point. Genuine MLB TV broadcast crowd cutaway feel.

返された動画 URL を state.broadcast_video_url に保存します。生成が非同期で完了する場合は、動画が最終状態に達するまで MCP ツールから返されたステータスハンドルを確認してください。

ステップ 2 の Kling 動画生成は、合計 2 回まで試行できます(初回のレンダリングと、ドリフト、スコア表示/テロップの移動、またはアナウンサーの読み間違いを修正するための再試行 1 回)。kling-v3-omni にはシードがなく、同一の Kling ペイロードを送信すると、同じジョブ/アセットに解決されることがあります。変化を求めて同一の Kling ペイロードを送信しないでください。修正のために再試行する前に、state.broadcast_still_url を更新する、欠けている厳格なパラメーターや negative_prompt の項目を復元する、または A/B のアナウンス部分を短縮/明確化するなどして、ペイロードを実質的に変更してください。state.step2_attempt_count を記録してください。いずれかの上限に達したら作業を停止し、より適切な参照写真を依頼するか、最善の試行結果を納品してよいか確認してください。最善の静止画/動画 URL と、失敗したチェック項目を提示してください。

ステップ 3 — 納品

Pika CDN の URL を 2 つ返します。静止画 URL と最終動画 URL です。ホスト側のクライアントがローカルメディアマーカーを必要とする場合は、両方の CDN URL に到達できることを確認してから、このスキルの外部でローカルプレビューを作成してください。

1 行の要約:「{username} のためのホームプレート後方からのカットアウェイ — 15 秒、16:9、1080p、Kling v3-omni、2 人のアナウンサーによるネイティブ解説。」

飛行後の品質ゲート

成功を宣言する前に、state.broadcast_video_url に対して analyze_media を呼び出し、構造化された判定を依頼してください。

Return JSON only: {
  "verdict": "clean" | "degraded" | "catastrophic",
  "announcer_count": 0 | 1 | 2,
  "observations": string[],
  "audio_warning": string | null,
  "quality_warning": string | null,
  "re_roll_suggestion": string | null
}
Check that the chyron still reads the exact username, the subject's identity stays stable throughout, the scorebug remains stable, the final clip has no black frames or wrong-sport shots, and the audio contains two distinct male announcer voices — not just one narrator.
  • announcer_count < 2 の場合、結果を少なくとも degraded として扱い、audio_warning を含めてください。A/B 音声ペイロードを変更した場合に限り、ステップ 2 の修正用再試行を 1 回実行してください。同一の Kling ペイロードを送信しないでください。
  • verdict が clean の場合は、静止画 URL と最終動画 URL を通常どおり返してください。
  • verdict が degraded の場合は、ユーザーが公開前に確認できるよう、URL と quality_warning および audio_warning を返してください。
  • verdict が catastrophic の場合は、実行完了として扱わないでください。成功を宣言する代わりに、判定結果と re_roll_suggestion を提示してください。

重要なフレーズ(削除しないでください)

これらは文体上の指定ではなく、実証済みの挙動に必要な依存要素です。削除すると、この手順は機能しません。

  • 静止画プロンプト内:Hardlock: Do not alter their facial structure and maintain their likeness + The subject must match the reference person(これらがないと最初のフレームで人物の同一性がずれ、その後のすべての工程にずれが引き継がれます)。
  • 動画プロンプト内:Preserve identity strongly + The ESPN scorebug AND the "${username}" lower-third chyron are ALREADY on screen at frame 0 — keep them visible, unchanged, pixel-locked(これらがないと、Kling がクリップの途中でテロップを再アニメーション化します)。
  • negative_prompt の全項目。各項目は、過去の実行で発生した特定の失敗に基づいています。
  • prompt_adherence: "strict" と image_types: ["first_frame"] — 上記のインライン注記を参照してください。

エンジンの選択:Kling のみ(ただし注意点あり)

Seedance では、NBA 関連の実行を繰り返した結果、2 段階の partner_validation_failed 422 ゲートが確認されています。

  • 入力側(body.image_urls):参照画像に実在の人物だと認識できる人が含まれていると拒否されます。
  • 出力側(body.generated_video):生成後に、生成されたクリップに顔だと認識できそうなものが含まれていると拒否されます。また、放送中のカットアウェイには必ず顔がたくさん映った観客が登場します。

このトレンドでは、被写体にかかわらず出力側のゲートを回避できないため、Seedance は実質的に使用できません。一般ユーザーの写真で動作するエンジンは Kling です。

Kling の注意点 — 有名人もブロックされます。 Kling にも独自のコンテンツモデレーションゲートがあり、有名人の参照画像で作動します。有名人の参照画像と、それに合致する放送テロップを指定したプロンプトは、送信時に task_status: failed, task_status_msg: "Failure to pass the risk control system" となる場合があります。これは正しい動作です。このトレンドの錯覚が機能するのは、テロップの名前と顔が一致する、著名人ではない人物の参照画像を使った場合のみです。ユーザーが有名人の写真を提供した場合は、ゲートによってブロックされたことを伝え、著名人ではない人物の参照画像を使うよう依頼してください。

Kling のトレードオフ:prompt の上限は 2500 文字です(上記のレシピは事前に短縮済みです)。kling-v3-omni にはシードがありません。同一の Kling ペイロードは同じジョブ/アセットに集約されることがあるため、修正のために再試行する場合は、最初のフレームの静止画、prompt、negative_prompt、または音声の表現を大きく変更する必要があります。バリエーションを得るために、同一の Kling ペイロードを送信しないでください。

実行時間の目安

通常の実行時間は 4~7 分です。

ステップ所要時間備考
参照画像のアップロード5~30 秒ユーザーが HTTPS の画像を提供した場合はスキップ
放送画面の静止画60~120 秒テロップまたはスコア表示に誤りがあれば、動画生成の前に再生成します。Step 1 の再試行回数上限が適用されます
Kling 動画3~5 分ネイティブの実況音声付きで、プロ品質の 15 秒動画を 1 本生成
納品確認30 秒未満最終 URL と、明らかな人物の同一性/テロップの連続性を確認

失敗時の対処

症状原因対処法
クリップの途中(約4~5秒)でテロップが突然表示されるテロップが静止画に焼き込まれていないStep 1 のリトライ回数の上限内で Step 1 を再実行します。Step 2 に進む前に、state.broadcast_still_url でテロップが表示されていることを確認します
クリップの途中でスコア表示がアニメーションしたり、形が変わったりするprompt_adherence が strict ではない、または negative_prompt が省略されている厳密な遵守設定を復元し、negative_prompt の全文を戻します
クリップの後半で顔が変わる(約10秒後)参照画像が小さすぎる、または Kling が顔を維持できていないペイロードを大幅に変更してから、Step 2 の修正リトライを1回だけ実行します。通常は、Step 1 の残りのリトライ回数を使い、静止画の顔をよりタイトに切り抜いて Step 1 を再実行します
アナウンサーの声が1人分しか聞こえないKling が A/B の実況を1人のネイティブナレーターにまとめてしまったStep 2 の修正リトライを1回実行する前に、A/B のアナウンス文を短くするか、明確にします。上限に達した後は、音声に関する警告を表示し、最善の試行結果を納品するかどうかユーザーに確認します
アナウンサーがユーザー名を誤って発音するネイティブ音声が一続きの音声になっているStep 2 の修正リトライを1回実行する前に、発音のヒントを追加するか、アナウンス文を短くします。それ以外の場合は、音声に関する警告を表示します
Step 1 で OpenAI の moderation_blocked が発生する実在人物、ESPN ブランドのライブ配信、実在する MLB チームのコンテキストに対する gpt-image-2 の安全性チェックStep 1 のリトライ回数が残っている間に、同じ参照画像とプロンプトで seedream を1回試します。これもブロックされた場合は、ユーザーに「OpenAI がこの画像を拒否しました。個人写真ではなく、新しく AI で生成した顔写真を使うか、MLB 以外のスポーツのバリエーションを選んでください」と伝えます
Seedance で partner_validation_failed 422 が発生するKling ではなく Seedance を試したKling のみを使用します。上記のエンジン選択セクションを参照してください
task_status: failed と task_status_msg: "Failure to pass the risk control system" が Kling で発生する参照写真に、有名人や公人として認識できる人物が写っている有名人ではない人物の参照画像をユーザーに依頼します。Kling はなりすましにつながるパターン(有名人の顔+偽のイベントテロップ)を正しくブロックします
openai v1/images/edits から generate_image_edit 400 invalid_image_file が返される参照画像が iPhone の HEIC から変換された JPEG で、EXIF 情報が大量に含まれている、または極端なアスペクト比(例:2316×3088)になっているアップロード前に参照画像を再エンコードします:convert in.jpg -strip -auto-orient -resize 1536x1536\> out.png を実行してから、クリーンアップした PNG をアップロードします
quality: "high" の処理に時間がかかる(呼び出しあたり約2分)gpt-image-2 の high は意図的に低速な高忠実度ティアであり、不具合ではありません。マニフェストによると、上流の標準的な処理時間は約2分です完了まで待ちます。ほとんどの処理は問題なく完了します。特定の処理が失敗した場合は、Step 1 のリトライ回数の上限内で1回再試行します。問題が続く場合に限り、quality: "medium" に切り替えます

やってはいけないこと

  • スポーツを差し替えないでください。NBA/NFL/サッカーのバリエーションが必要な場合は、このスキルをフォークし、このスキルをパラメーター化しないでください。
  • テロップに接尾辞を追加しないでください(例:「 - AI Creator」)。テロップにはユーザー名だけを表示します。実際の放送識別表示のように読めることが、トレンドの演出に不可欠です。
  • 後編集を追加しないでください。add_captions、generate_music、edit_* は使用しません。Kling がスコア表示、テロップ、ネイティブ実況を直接焼き込みます。後から何かを追加すると、放送のような演出が損なわれます。

コメント