mcpField
G
generate-media

generate-media

github.com/lwlee2608クリエイティブ・メディア1123 回インストール今日更新
リポジトリ

generate-media について

generate-media は、プロバイダー API を使って1回につき画像または動画を1点生成するスキルです。モデルと費用の確認、出力ファイルの検証、既定でプロジェクト外への保存を手順化しています。

主な機能

  1. 011回につき画像または動画を生成
  2. 02APIでモデルIDを確認
  3. 03生成前に費用を確認
  4. 04出力ファイルを保存して検証

活用シーン

  1. 01画像生成前にモデル費用を確認
  2. 02低解像度で動画の動きを試作
  3. 03メディアをプロジェクトファイルから分離

インストール

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

$npx skills add https://github.com/lwlee2608/agent-skills --skill generate-media

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

同梱ファイルproviders/openrouter.md

詳細

メディアを生成する

プロバイダー API を使い、1 回の呼び出しにつき 1 回生成します。ファイルは $HOME/.cache/generate-media/ に保存されます。

プロバイダーのリファレンス — 最初の API 呼び出しの前にお読みください。

ルール

  1. プロバイダーのキーがない場合は中止してください。 OpenRouter の場合は OPENROUTER_API_KEY です。プロジェクトルートの .env を確認し、次に環境変数を確認してください。追跡対象のファイルにキーを書き込まないでください。見つからない場合は、https://openrouter.ai/settings/keys をユーザーに案内して中止してください。

  2. モデル ID は API から調べてください。推測しないでください。 ID は変更されるため、誤った ID を使うと有料の API 呼び出しを無駄にします。

  3. ユーザーがモデルを指定していない限り、要件を満たす最も安価なモデルを選んでください。 例外として、画像内の読みやすいテキストには openai/gpt-image-2、ユーザーが本番品質を求めている場合は -pro ティアを使うことを明示してください。

  4. 呼び出し前に費用を伝え、根拠を示せる金額だけを提示してください。 動画の費用は画像の 10~50 倍です。

    • 動画:プロバイダーのリファレンスにある 1 秒あたりの料金表を使ってください。該当する項目がない場合は、料金が公開されていないことを伝えて待ってください。
    • 画像:呼び出し前に費用を提示できません(pricing.image_output は画像ごとではなく、出力トークンごとの料金です)。モデル名を伝え、応答後に費用がわかると説明してから進めてください。静止画は通常、数セントです。
    • 根拠を示せる金額が約 0.50 ドルを超える場合、または動画の料金が不明な場合は、ユーザーの返答を待ってください。

    実際のレンダリングに費用をかける前に、安価なドラフトで動きを確認してください。bytedance/seedance-2.0-mini は 720p、6 秒で約 0.08 ドル、480p ならさらに安価です。料金は width × height × duration に比例するため、アイデアを試すには解像度を半分にするのが最も安価です。

  5. $OUT_DIR/<slug>.<ext> に保存してください。ここで OUT_DIR="$HOME/.cache/generate-media" です。 まず mkdir -p でディレクトリを作成してください。~ だけでなく $HOME を使ってください。引用符で囲まれたチルダは展開されず、プロジェクト内に文字どおりの ./~/ ディレクトリが作られてしまいます。上書きはせず、数字のサフィックスを追加してください。結果を API の応答にしか残さないでください。ユーザーから依頼された場合に限り、プロジェクトにコピーしてください。生の出力は静止画で 2~3 MB、動画クリップで 6 Mbps となるため、git に含めるべきではありません。

  6. 応答では、絶対ファイルパスと usage.cost に記録された実際の費用を報告してください。見積もりは使わないでください。

完了を報告する前に確認すること

  • 書き込んだファイルが空でないことを確認してください:test -s "$OUT"。base64 のデコードに失敗すると、ファイルサイズは 0 バイトになります。確認するのはそのパスだけにしてください。ディレクトリ全体は確認しないでください。すべてのプロジェクトで共有され、以前の結果も保存されています。
  • 動画は実際の .mp4 であり、JSON のエラー本文ではないことを確認してください:file "$OUT"。

よくある間違い

  • 動画を同期処理として扱う。 POST /videos は polling_url とともに 202 を返します。約 30 秒ごとにポーリングし、completed になったらダウンロードしてください。
  • 料金フィールドから費用を推定する。 応答の usage.cost を確認してください。
  • base64 を直接ファイルにパイプする。 デコードしてください:jq -r '.data[0].b64_json' resp.json | base64 -d > out.png。
  • ローカルパスを参照画像として送信する。 参照入力には HTTP(S) URL または base64 データ URL を指定してください。

コメント