Kitta AI 文档
Kitta CLI

批量自动化

校验、运行、查询并恢复版本化 Kitta CLI 批量清单。

批量清单用于协调可重复执行的 TTS、图片和视频任务。清单是带明确版本号的 JSON 文件。 校验完全离线,不查询额度,也不会提交任务。

清单格式

{
  "version": 1,
  "concurrency": 2,
  "onError": "continue",
  "tasks": [
    {
      "id": "narration",
      "command": "audio tts",
      "idempotencyKey": "launch-narration-v1",
      "input": {
        "voiceId": "VOICE_ID",
        "text": "欢迎使用 Kitta",
        "format": "mp3"
      },
      "output": "output/narration.mp3"
    },
    {
      "id": "cover",
      "command": "image generate",
      "idempotencyKey": "launch-cover-v1",
      "input": {
        "prompt": "日出时的纸雕城市",
        "resolution": "1k"
      },
      "output": "output/cover.png"
    }
  ]
}

目前支持 audio ttsimage generatevideo generateinput 使用公开 API 字段名, 而不是 CLI 参数别名。任务 ID、幂等键和输出路径必须唯一。并发范围为 1–8,单个清单最多 包含 1,000 项。

校验与运行

kitta batch validate tasks.json
kitta batch run tasks.json
kitta batch run tasks.json --concurrency 1

onError: continue 会在单项失败后继续独立任务;onError: stop 会在第一次失败后停止启动 新任务,已经运行的任务仍会结束。

查询与恢复

kitta batch status RUN_ID
kitta batch resume RUN_ID
kitta batch resume RUN_ID --manifest moved/tasks.json

恢复会跳过成功项,并使用原幂等键重新执行未完成项。清单内容改变时 CLI 会拒绝恢复。 状态文件保存命令、幂等键、状态、远程任务 ID 与输入指纹,不保存提示词、文本或素材 URL; 原清单仍是输入来源。

部分失败的批次使用非零退出码,但仍会把汇总写入 stdout;进度和脱敏错误写入 stderr。 CLI 会报告已完成操作和接口返回的额度数据。由于现有公开 API 没有报价与额度预留语义, 批量功能不提供虚假的硬预算上限。