WorkRally AI 生成指南

详细说明 WorkRally 的图片生成、视频生成、三种视频驱动模式、画布自动占位、任务轮询和模型动态获取规则。

核心规则

  • 生图前先跑 `workrally generate image-models -o json`。
  • 生视频前先跑 `workrally generate video-models -o json`。
  • 不同环境可用模型不一样,严禁硬编码 `model_id` 或 `provider_id`。
  • 传入 `--project-id` 时,这里指的是画布 ID,不是项目 ID。

图片生成

WorkRally 的图片生成围绕 Kontext 模型展开。除了纯文生图,还支持多参考图输入, 但参考图数量上限由模型动态下发的 `kontext_config.max_input_images` 决定。

image-flow.shbash
# 1. 先拿模型
workrally generate image-models -o json

# 2. 纯文生图
workrally generate image \
  --prompt "一只橘猫坐在樱花树下" \
  --model <model_id> \
  --aspect-ratio 16:9 \
  --poll

# 3. 参考图生图
workrally generate image \
  --prompt "第一张图片趴在第二张图片路中间" \
  --model <model_id> \
  --input-images "https://image1,https://image2" \
  --poll
图片生成关键参数
参数说明重点
--model从 image-models 返回的 model_id 中选取不能手写猜测值
--input-images逗号分隔的参考图 URL必须是官方媒资 URL
--aspect-ratio宽高比,如 1:1 / 16:9 / 9:16默认 16:9
--resolution分辨率等级,具体看模型支持不同模型支持不同
--count生成数量 1-4count>1 会并发发起多个独立任务

视频生成

视频生成按驱动模式区分,不是所有模型都支持所有输入类型。你需要先看 `video-models` 返回的 `duration_options`、`resolution_options` 和各种 `max_*_count`。

video-flow.shbash
# 先拿视频模型
workrally generate video-models -o json

# Text 模式
workrally generate video \
  --prompt "夕阳下海浪拍打沙滩" \
  --model <provider_id> \
  --poll

# FirstLastFrame 模式
workrally generate video \
  --mode FirstLastFrame \
  --prompt "角色从左走到右" \
  --model <provider_id> \
  --first-frame-url "https://start.png" \
  --last-frame-url "https://end.png" \
  --poll

# SubjectToVideo 模式
workrally generate video \
  --mode SubjectToVideo \
  --prompt "角色在场景中行走" \
  --model <provider_id> \
  --reference-assets '[{"type":"image","url":"https://character.png"}]' \
  --poll
视频生成三种模式
参数说明重点
Text纯文生视频,或单图驱动视频默认模式,最通用
FirstLastFrame首尾帧驱动至少传首帧或尾帧之一
SubjectToVideo参考主体驱动通过 reference-assets 传素材数组

画布内自动占位

当你在 generate imagegenerate video 里传入 --project-id <画布ID> 时, 系统会自动在画布创建 running 状态的占位节点。这个行为是内建的。

  • 不需要再手动 `canvas build-draft` 创建生成器节点。
  • 生成完成后,前端会自动刷新节点状态。
  • 如果你只是要把“已有素材”摆进画布,才用 `canvas build-draft`。

任务轮询

task-flow.shbash
# 自动轮询
workrally generate image --prompt "..." --model <id> --poll

# 手动查询
workrally generate task <task_id> -o json
workrally generate task <task_id> --poll

`--poll` 是最省事的方式。它会自动提交任务、按固定间隔轮询并在完成后输出结果。 如果你要手动追踪任务,则使用 `generate task` 查询状态。