mcpField
C
civitai-gen

civitai-gen

github.com/civitai创意与媒体1894 次安装20 周前更新
代码仓库

关于 civitai-gen

面向 Civitai Workflow API 的统一命令行生成工具,涵盖图像、视频、音频生成及语音转录。适合需要提交、跟踪并下载生成任务的创作者和 Agent。

主要功能

  1. 01提交、轮询并下载工作流结果
  2. 02查看任务状态并支持实时轮询
  3. 03预估 buzz 消耗
  4. 04列出视频引擎及状态
  5. 05生成语音、音乐并转录语音
  6. 06批量提示词与参数实验

适用场景

  1. 01生成图像或视频并保存结果
  2. 02异步提交任务并查询进度
  3. 03生成语音或音乐并转录音频
  4. 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
.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 编排工作流 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 — 通配符、参数扫描、命名。

工作流生命周期

所有生成类型都遵循相同的模式:

  1. 构建步骤 — 每个任务都会成为一个工作流步骤,并带有 $type(textToImage、videoGen、textToSpeech、aceStepAudio、transcription)
  2. 提交 — 向编排 API 发送 POST 请求,获取工作流 ID
  3. 轮询 — 检查状态,直到进入终止状态(succeeded/failed/expired)
  4. 下载 — 获取输出媒体(图像、视频、音频文件)
  5. JSON 摘要 — 将包含路径、费用和元数据的简洁 JSON 输出到 stdout

花费积分前,使用 cost(whatif)估算 buzz。使用 --quiet 获得适合 Agent 的输出。

指南

  • 默认每个提示词生成 4 张图像。仅在只需要单张图像时使用 -n 1。
  • 对于视频:务必先检查 cost。每个视频片段花费 500-2000+ buzz。
  • 多个 --prompt 标志会在一个工作流中创建并发步骤。
  • 大批量任务使用 --bulk file.json。
  • 系统性扫描参数时使用实验模式。

开发者指南

有关架构、模块布局以及如何添加新步骤类型,请参阅 CLAUDE.md。

评论

支持 Markdown