generate-media について
generate-media は、プロバイダー API を使って1回につき画像または動画を1点生成するスキルです。モデルと費用の確認、出力ファイルの検証、既定でプロジェクト外への保存を手順化しています。
主な機能
- 011回につき画像または動画を生成
- 02APIでモデルIDを確認
- 03生成前に費用を確認
- 04出力ファイルを保存して検証
活用シーン
- 01画像生成前にモデル費用を確認
- 02低解像度で動画の動きを試作
- 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 呼び出しの前にお読みください。
- OpenRouter(デフォルト):providers/openrouter.md
ルール
-
プロバイダーのキーがない場合は中止してください。 OpenRouter の場合は
OPENROUTER_API_KEYです。プロジェクトルートの.envを確認し、次に環境変数を確認してください。追跡対象のファイルにキーを書き込まないでください。見つからない場合は、https://openrouter.ai/settings/keys をユーザーに案内して中止してください。 -
モデル ID は API から調べてください。推測しないでください。 ID は変更されるため、誤った ID を使うと有料の API 呼び出しを無駄にします。
-
ユーザーがモデルを指定していない限り、要件を満たす最も安価なモデルを選んでください。 例外として、画像内の読みやすいテキストには
openai/gpt-image-2、ユーザーが本番品質を求めている場合は-proティアを使うことを明示してください。 -
呼び出し前に費用を伝え、根拠を示せる金額だけを提示してください。 動画の費用は画像の 10~50 倍です。
- 動画:プロバイダーのリファレンスにある 1 秒あたりの料金表を使ってください。該当する項目がない場合は、料金が公開されていないことを伝えて待ってください。
- 画像:呼び出し前に費用を提示できません(
pricing.image_outputは画像ごとではなく、出力トークンごとの料金です)。モデル名を伝え、応答後に費用がわかると説明してから進めてください。静止画は通常、数セントです。 - 根拠を示せる金額が約 0.50 ドルを超える場合、または動画の料金が不明な場合は、ユーザーの返答を待ってください。
実際のレンダリングに費用をかける前に、安価なドラフトで動きを確認してください。
bytedance/seedance-2.0-miniは 720p、6 秒で約 0.08 ドル、480p ならさらに安価です。料金はwidth × height × durationに比例するため、アイデアを試すには解像度を半分にするのが最も安価です。 -
$OUT_DIR/<slug>.<ext>に保存してください。ここでOUT_DIR="$HOME/.cache/generate-media"です。 まずmkdir -pでディレクトリを作成してください。~だけでなく$HOMEを使ってください。引用符で囲まれたチルダは展開されず、プロジェクト内に文字どおりの./~/ディレクトリが作られてしまいます。上書きはせず、数字のサフィックスを追加してください。結果を API の応答にしか残さないでください。ユーザーから依頼された場合に限り、プロジェクトにコピーしてください。生の出力は静止画で 2~3 MB、動画クリップで 6 Mbps となるため、git に含めるべきではありません。 -
応答では、絶対ファイルパスと
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 を指定してください。