关于 civitai-gen
面向 Civitai Workflow API 的统一命令行生成工具,涵盖图像、视频、音频生成及语音转录。适合需要提交、跟踪并下载生成任务的创作者和 Agent。
主要功能
- 01提交、轮询并下载工作流结果
- 02查看任务状态并支持实时轮询
- 03预估 buzz 消耗
- 04列出视频引擎及状态
- 05生成语音、音乐并转录语音
- 06批量提示词与参数实验
适用场景
- 01生成图像或视频并保存结果
- 02异步提交任务并查询进度
- 03生成语音或音乐并转录音频
- 04批量运行提示词或参数实验
MCP 相关
通过 Civitai MCP 服务搜索模型和 LoRA,并获取 AIR URN。也可通过 CLI 在 shell 中调用 MCP 工具。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ civitai/ civitai-gen-skill --skill civitai-gen安装后在 Claude Code 中输入/civitai-gen确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.env.example.gitignoreexperiment.mjsgenerate.mjsdocs/engines.mdmusic.mdtranscription.mdtts.mdlib/api.mjsaudio.mjsimage.mjsvideo.mjstest/smoke-test.mjswildcards/art-styles.txtaspects.txtcolors.txtneon-colors.txtREADME.md详细介绍
civitai-gen
Civitai 编排工作流 API 的统一命令行工具。所有生成类型共用相同的工作流生命周期:提交、轮询、下载。
设置
需要 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 |
cost | 试运行 Buzz 费用估算 | 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
发布生成内容
生成图像(此技能会将其保存到本地),然后用一条命令发布本地文件:
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、Anima | 通过 Civitai MCP(search_models / get_model_version)查找 checkpoint AIR 和兼容的 LoRA → --model / --resources |
| 闭源 API 引擎 | OpenAI、Google/Gemini、Seedream、Grok、MAI、ERNIE + 所有视频/音频 | 仅需引擎名称——无需查找 checkpoint 或 LoRA |
模型发现使用 Civitai MCP 服务(托管于 https://mcp.civitai.com/mcp)——调用其工具搜索 checkpoint/LoRA 并获取 AIR URN。请勿在此技能中搜索。LoRA 的基础模型必须与 checkpoint 所属生态匹配。
如果尚未连接 Civitai MCP,请添加(浏览工具无需 API 密钥):
claude mcp add --transport http civitai https://mcp.civitai.com/mcp
运行时无法添加 MCP 配置? 获取零依赖命令行工具(Node 18+),通过 Shell 调用工具:
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— 通配符、参数扫描、命名。
工作流生命周期
所有生成类型都遵循相同的模式:
- 构建步骤 — 每个任务都会成为一个工作流步骤,并带有
$type(textToImage、videoGen、textToSpeech、aceStepAudio、transcription) - 提交 — 向编排 API 发送 POST 请求,获取工作流 ID
- 轮询 — 检查状态,直到进入终止状态(succeeded/failed/expired)
- 下载 — 获取输出媒体(图像、视频、音频文件)
- JSON 摘要 — 将包含路径、费用和元数据的简洁 JSON 输出到 stdout
花费积分前,使用 cost(whatif)估算 buzz。使用 --quiet 获得适合 Agent 的输出。
指南
- 默认每个提示词生成 4 张图像。仅在只需要单张图像时使用
-n 1。 - 对于视频:务必先检查
cost。每个视频片段花费 500-2000+ buzz。 - 多个
--prompt标志会在一个工作流中创建并发步骤。 - 大批量任务使用
--bulk file.json。 - 系统性扫描参数时使用实验模式。
开发者指南
有关架构、模块布局以及如何添加新步骤类型,请参阅 CLAUDE.md。