mcpField
C
civitai-gen

civitai-gen

github.com/civitaiクリエイティブ・メディア1894 回インストール20 週間前に更新
リポジトリ

civitai-gen について

Civitai の Workflow API を操作する統合 CLI で、画像・動画・音声の生成と音声文字起こしに対応します。ワークフローの送信、進捗確認、結果のダウンロードを行う制作者やエージェント向けです。

主な機能

  1. 01ワークフローの送信、監視、結果取得
  2. 02ライブ更新付きのステータス確認
  3. 03buzz 消費量の見積もり
  4. 04動画エンジンと稼働状況の一覧
  5. 05音声・音楽の生成と文字起こし
  6. 06プロンプトの一括処理と実験

活用シーン

  1. 01画像や動画を生成して保存
  2. 02非同期ジョブを送信して進捗確認
  3. 03音声や音楽を生成し、音声を文字起こし
  4. 04プロンプトやパラメーターの一括実験

MCP 対応

Civitai MCP サーバーでモデルや LoRA を検索し、AIR URN を取得します。シェルから CLI 経由で MCP ツールを呼び出すこともできます。

インストール

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

$npx skills add https://github.com/civitai/civitai-gen-skill --skill civitai-gen

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.env.example
.gitignore
experiment.mjs
generate.mjs
docs/
engines.md
music.md
transcription.md
tts.md
lib/
api.mjs
audio.mjs
image.mjs
video.mjs
test/
smoke-test.mjs
wildcards/
art-styles.txt
aspects.txt
colors.txt
neon-colors.txt
README.md

詳細

civitai-gen

Civitai のオーケストレーション Workflow API 用の統合 CLI です。すべての生成タイプで、同じワークフローのライフサイクルを使用します。送信、ポーリング、ダウンロードです。

セットアップ

Node.js 18 以降が必要です。CIVITAI_API_KEY は、環境変数として設定するか、このスキルのディレクトリ(generate.mjs と同じ場所)の .env ファイルに設定してください。まず .env.example を .env にコピーします。キーは https://civitai.com/user/account で取得できます。

以下のパスは、このスキルのディレクトリからの相対パスです。スクリプトはそのディレクトリに移動して実行する(cd で移動する)か、ランタイムで使用するインストールパスを先頭に付けてください。

機能

コマンド機能詳細
wait送信 + ポーリング + ダウンロード(デフォルト)生成を一括でブロッキング実行
submit即時に返し、ワークフロー ID を返します非同期ワークフロー向け
statusワークフローの進行状況を確認ライブ更新には --poll
download完了したメディアを取得ワークフロー ID を指定
costbuzz のコストをドライランで見積もりwhatif=true、buzz は消費されません
engines動画エンジンとライブステータスを一覧表示11 種類以上のエンジン
ttsテキスト読み上げdocs/tts.md を参照
music音楽/曲の生成(ACE Step 1.5)docs/music.md を参照
transcribe音声のテキスト起こしdocs/transcription.md を参照

クイック例

# Image (defaults to Flux.1, 4 images)
node generate.mjs wait --prompt "A knight at sunset" -o ./out

# Multiple concurrent prompts
node generate.mjs wait --prompt "A warrior" --prompt "A mage" -o ./out

# Video (VEO 3)
node generate.mjs wait --engine veo3 --prompt "A robot walking" -o ./out

# Text-to-speech
node generate.mjs tts --text "Hello world" --speaker serena -o ./out

# Music
node generate.mjs music --prompt "upbeat electronic dance track" -o ./out

# Transcription
node generate.mjs transcribe --media-url "https://example.com/audio.mp3" -o ./out

# Cost check (any type, 0 buzz)
node generate.mjs cost --prompt "A cat" -n 100
node generate.mjs cost --engine veo3 --prompt "A robot" --duration 8

# Experiment mode (wildcard expansion)
node experiment.mjs --spec experiment.json -o ./out

生成したものを投稿する

画像を生成し(スキルがローカルに保存します)、1 つのコマンドでローカルファイルを投稿します。

node generate.mjs wait --prompt "a red apple" -n 1 -o ./out
node mcp-cli.mjs post-image ./out/step_0-0.png --title "My apple"
# -> Post published. URL: https://civitai.com/posts/<id>

post-image はローカルファイルを読み込み、アップロードして投稿を公開し、公開 URL を出力します。まだ mcp-cli.mjs がない場合は、先に取得してください(curl -fsSL https://mcp.civitai.com/cli -o mcp-cli.mjs)。CIVITAI_API_KEY が必要です。

フラグ:--title(デフォルトはファイル名)、--detail、--nsfw <level>、--draft(未公開のままにする)、--json。動画/音声を投稿する場合や、UUID でアップロード済みの画像を添付する場合は、create_post を直接呼び出してください(node mcp-cli.mjs schema create_post)。また、生成出力の remoteUrls[].url は有効期限が短い署名付き URL のため、そちらよりローカルファイルを投稿してください。

エンジンとモデルの選び方

適切な生成器を選ぶには、docs/engines.md をお読みください。主な違いは次のとおりです。

パスエンジンモデルの選び方
オープンウェイトのエコシステムSD1、SDXL、Pony、Illustrious、Flux.1/2、Qwen、Z-Image、Chroma、AnimaCivitai MCP(search_models / get_model_version)で互換性のある LoRA と チェックポイント AIR を探し、--model / --resources に指定します
クローズド API エンジンOpenAI、Google/Gemini、Seedream、Grok、MAI、ERNIE、およびすべての動画/音声エンジン名のみ。チェックポイント検索も LoRA も不要です

モデルの検索には Civitai MCP サーバーを使用します(ホスト先は https://mcp.civitai.com/mcp)。ツールを呼び出してチェックポイント/LoRA を検索し、AIR URN を取得してください。このスキル内では検索しないでください。LoRA のベースモデルは、チェックポイントのエコシステムと一致している必要があります。

Civitai MCP が接続されていない場合は、追加してください(参照ツールに API キーは不要です)。 claude mcp add --transport http civitai https://mcp.civitai.com/mcp

ランタイムに MCP 設定を追加できませんか? 依存関係不要の CLI(Node 18 以降)を取得し、代わりにシェルからツールを呼び出してください。 curl -fsSL https://mcp.civitai.com/cli -o mcp-cli.mjs node mcp-cli.mjs call search_models '{"query":"anime portrait","type":"Checkpoint","supportsGeneration":true,"baseModel":"SDXL 1.0"}'

# Call these Civitai MCP tools directly (they return AIR URNs ready for --model / --resources):
search_models     { query: "anime portrait", type: "Checkpoint", supportsGeneration: true, baseModel: "SDXL 1.0" }
search_models     { query: "neon style", type: "LORA", baseModel: "SDXL 1.0" }   # LoRA base MUST match checkpoint
get_model_version { ids: [<versionId>] }   # full version details + AIR URN + trigger words

エンジンの利用可否やパラメーターは変わることがあります。最新の一覧は node generate.mjs engines を実行して確認し、エンジンごとのパラメーターについては https://developer.civitai.com/orchestration/recipes を参照してください。

ドメイン固有のドキュメント

詳細なパラメーターについては、該当するドキュメントを参照してください。

  • 画像:--prompt、--model、--resources、--aspect、--resolution、--source-image(img2img)。利用可能なフラグの一覧は、node generate.mjs --help を実行してください。
  • 動画:--engine、--duration、--video-aspect、--generate-audio。利用可能なエンジンは、node generate.mjs engines を実行してください。
  • TTS:docs/tts.md を参照してください。組み込みスピーカー、音声クローン、スタイルの指示について説明しています。
  • 音楽:docs/music.md を参照してください。ACE Step 1.5、歌詞、長さについて説明しています。
  • 文字起こし:docs/transcription.md を参照してください。ASR、タイムスタンプ、言語のヒントについて説明しています。
  • 実験:ワイルドカード、パラメータースイープ、命名については、experiment.mjs --help を参照してください。

ワークフローのライフサイクル

すべての生成タイプは、同じパターンに従います。

  1. ステップの構築 — 各ジョブを、$type(textToImage、videoGen、textToSpeech、aceStepAudio、transcription)を持つワークフローのステップにします。
  2. 送信 — オーケストレーション API に POST し、ワークフロー ID を取得します。
  3. ポーリング — 終端状態(成功/失敗/期限切れ)になるまでステータスを確認します。
  4. ダウンロード — 出力メディア(画像、動画、音声ファイル)を取得します。
  5. JSON サマリー — パス、コスト、メタデータを含むクリーンな JSON を標準出力に出力します。

支出前に cost(whatif)を使って buzz を見積もってください。エージェントに適した出力には --quiet を使ってください。

ガイドライン

  • プロンプトごとに、デフォルトで画像を 4 枚生成します。画像が 1 枚だけ必要な場合に限り、-n 1 を使ってください。
  • 動画の場合は、必ず最初に cost を確認してください。動画はクリップごとに 500~2000+ buzz かかります。
  • 複数の --prompt フラグを指定すると、1 つのワークフロー内に並行するステップが作成されます。
  • 大量のバッチには --bulk file.json を使ってください。
  • 系統的なパラメータースイープには、実験モードを使ってください。

開発者ガイド

アーキテクチャ、モジュール構成、新しいステップタイプの追加方法については、CLAUDE.md を参照してください。

コメント