【AI创作】Draw Things CLI 交给 AI Agent:Mac本地出图自动化实践

社区话题 📺 VFX Pipeline | 数字创意工作流 【AI创作】Draw Things CLI 交给 AI Agent:Mac本地出图自动化实践

标签: ,

  • 该话题为空。
正在查看 0 条回复
  • 作者
    帖子
    • #131754

      追光
      参与者

      Draw Things CLI 结合 AI Agent 的本地图像生成方案,旨在通过命令行接口实现自动化与批量化图像生产。相较于传统图形界面(GUI),CLI 模式无需启动完整应用,可直接调用底层推理引擎,降低系统资源占用并提升生成效率。本指南提供从环境配置、核心命令到自动化工作流的完整技术路径,适用于视觉特效(VFX)概念设计、资产生成及流水线集成。
      一、技术优势:从手动交互到自动化节点

      Draw Things GUI 版本功能完整,但依赖手动参数配置与交互操作,在批量生成多组概念图或风格变体时存在效率瓶颈。CLI 模式绕过图形界面渲染,直接在终端执行生成指令。在同等硬件环境下(如 Apple Silicon 芯片),CLI 模式可减少 UI 层开销,图像生成速度提升约 15%~30%。其核心优势在于支持脚本调用与 AI Agent 集成,可将“图像生成”转化为可编程、可编排的自动化工作流节点,实现参数批量替换、多模型轮询及流水线对接。


      二、环境安装(macOS)
      推荐使用 Homebrew 包管理器进行安装。若系统尚未配置 Homebrew,请先执行以下初始化命令:

      安装运行环境和Draw things Cli版本

      # 1、Homebrew(如你还没装 Homebrew,:

      /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

      # 2、安装 CLI

      brew install draw-things-cli

      # 3、验证安装是否成功

      draw-things-cli --help

      4、标准卸载(只删 CLI 工具)

      brew uninstall draw-things-cli
      brew uninstall --force draw-things-cli

      5、验证是否卸载成功

      # 看 CLI 是否安装
      brew list | grep draw-things
      
      # 看 App 是否安装
      brew list --cask | grep draw-things

      有输出就是装了,没输出说明本来就没有。

      Draw thigns app版本的脚本目录

      /Users/用户名/Library/Containers/com.liuliu.draw-things/Data/Documents/Scripts

      基础draw-things-cli生成图片的命令格式

      # 最小可用

      draw-things-cli generate \
      --model "/绝对路径/模型.dtmodel" \
      --prompt "你的提示词"

      # 完整参数

      draw-things-cli generate \
      --model "$MODEL_PATH" \
      --prompt "cinematic still, subject, details" \
      --negative "blurry, lowres, watermark" \
      --width 1024 --height 768 \
      --steps 30 \
      --cfg 7.5 \
      --sampler "DPM++ 2M Karras" \
      --seed 42 \
      --output "~/outputs/result.png"

      路径与变量预设(~/.zshrc)

      export MODEL_KLEIN="$HOME/Pictures/DrawThings/Models/Klein_9B_Q4_0.dtmodel"
      export MODEL_REAL="$HOME/Pictures/DrawThings/Models/EpicRealism_Q4.dtmodel"
      export CONFIG_VFX="$HOME/Projects/CLI/configs/vfx_base.json"
      export OUT_DIR="$HOME/Projects/CLI/outputs"
      mkdir -p $OUT_DIR

      JSON 配置可以复用的脚本

      # 命令调用

      draw-things-cli generate \
      --model "$MODEL_KLEIN" \
      --prompt "$PROMPT" \
      --config-json "$CONFIG_VFX" \
      --output "$OUT_DIR/$(date +%s).png"

      // vfx_base.json 内容

      {
      "steps": 30,
      "cfg_scale": 7.5,
      "width": 1024,
      "height": 768,
      "sampler": "DPM++ 2M Karras",
      "hires_fix": true,
      "hires_scale": 1.5
      }

      批量生成脚本

      #!/bin/bash
      # batch_generate.sh
      
      PROMPTS=(
      "cyberpunk city, rain, neon"
      "ruined temple, overgrown, mist"
      "spaceship interior, holograms, dark"
      )
      
      for p in "${PROMPTS[@]}"; do
      draw-things-cli generate \
      --model "$MODEL_KLEIN" \
      --prompt "$p" \
      --config-json "$CONFIG_VFX" \
      --output "$OUT_DIR/$(echo $p | md5).png"
      done
      

      # 风格变体批量

      STYLES=("watercolor" "noir" "cyberpunk" "sketch")
      BASE="Easter egg design, intricate"
      for s in "${STYLES[@]}"; do
      draw-things-cli generate \
      --model "$MODEL_KLEIN" \
      --prompt "$BASE, $s style" \
      --output "$OUT_DIR/easter_$s.png"
      done
      

      AI Agent 调用脚本模板

      #!/bin/bash
      # agent_generate.sh
      
      SCENE="$1"
      TIMESTAMP=$(date +%Y%m%d_%H%M%S)
      
      draw-things-cli generate \
      --model "$MODEL_KLEIN" \
      --prompt "cinematic still, VFX concept, $SCENE, volumetric lighting, film grain" \
      --negative "cartoon, anime, text, watermark" \
      --config-json "$CONFIG_VFX" \
      --output "$OUT_DIR/concept_${TIMESTAMP}.png"
      
      echo "✅ $OUT_DIR/concept_${TIMESTAMP}.png"
      

      # 使用

      chmod +x agent_generate.sh
      ./agent_generate.sh "a dragon landing on a skyscraper, dusk"

      工作流编排(Skill 示例)

      #!/bin/bash
      skill_hires.sh
      PROMPT="1"
      TMP="$OUT_DIR/tmp_$

      Step1: 草图

      draw-things-cli generate
      --model "$MODEL_QWEN"
      --prompt "$PROMPT"
      --width 512 --height 512 --steps 20
      --output "$TMP.png"

      Step2: 高清放大

      
      draw-things-cli generate
      --model "
      MODEL_KLEIN"
      --prompt "
      PROMPT"
      --init-image "
      TMP.png"
      --hires_fix true --hires_scale 2
      --config-json "
      CONFIG_VFX"
      --output "OUT_DIR/final_(date +%s).png"
      rm "$TMP.png"

      VFX 专用参数速查

      # 电影感场景

      --prompt "cinematic still, subject, volumetric fog, practical lighting, 35mm film grain"
      --cfg 7.0 --steps 30 --sampler "DPM++ 2M Karras"

      # 人物肖像

      --prompt "portrait, detailed skin, studio lighting, 85mm lens"
      --negative "deformed, blurry, cartoon"
      --cfg 6.5 --steps 25

      # 概念艺术

      --prompt "concept art, matte painting, epic scale, dramatic sky"
      --hires_fix true --hires_scale 1.5

      # 带透明通道(Matte)

      --output-format png --alpha true

      一键调用封装(函数版)

      # 加入 ~/.zshrc

      vfx_gen() {
      draw-things-cli generate \
      --model "$MODEL_KLEIN" \
      --prompt "cinematic still, VFX, $*" \
      --negative "blurry, lowres, text" \
      --config-json "$CONFIG_VFX" \
      --output "$OUT_DIR/$(date +%s).png"
      }
      

      # 使用

      
      source ~/.zshrc
      vfx_gen "cyberpunk alley, rain, neon signs"
      

      模型路径获取技巧(macOS)

      Finder 中右键模型文件 → 按住 Option → “复制为路径名称”或终端查找

      find ~/Pictures/DrawThings/Models -name "*.dtmodel" | grep Klein
正在查看 0 条回复
  • 在下方一键注册,登录后就可以回复啦。