- 路径重构:脚本创作 V1.0/Lite1.0 扁平化(去技能文件夹层),分镜技能迁移至 短视频提示词生成/V1.0,旧路径清理 - 输出边界铁律固化:创作流程规范.md 新增「交付物输出边界(通用铁律)」+ S9 输出模板新增「输出边界」块(验收口径=执行约束非输出内容) - 开场钩子铁律三层固化:00_开场/06_编导终审/S9 相关规则 + S5 预设钩子口径区分(前3秒=呈现窗口,3-7秒=开场段总时长) - 帮助文档:新增「从账号分析到脚本创作」跨技能章节(你这样问|我会做什么风格) - mcn-dou-analysis 内嵌副本:红线边界声明+人设卡术语更新(设定分析说明)
11 KiB
11 KiB
Dreamina CLI 集成指南(可选增值)
即梦官方命令行工具
dreamina的集成规范。Skill 的主输出仍是"可复制的中文提示词",CLI 执行是可选增值步骤,用户明确说"跑"才执行。
0. 设计原则(写在最前,不能违反)
- 提示词输出是主线,CLI 执行是支线。 任何情况下都要先给出可复制的提示词文本;CLI 跑不通不影响 Skill 可用性。
- 消耗积分的命令执行前必须警告。 跑之前明确告知模型、分辨率、时长、预估消耗;余额不足(<100)拒跑。
- 默认保守(模式 A):生成完提示词后询问用户是否执行,绝不默认跑。
- 不硬编码模型参数。 以官方
dreamina <cmd> -h的实时输出为准;本文档只描述当前约定的默认值。 - 以
submit_id和gen_status判断成败,不看 exit code。 - 遇到
AigcComplianceConfirmationRequired:引导用户先去 Web 端完成授权,再 retry。 - 单次对话内连续失败 3 次后必须停下,问用户"问题是提示词还是模型,是否换策略",避免无脑烧积分。
1. 前置检查
调用 CLI 前按顺序验证:
# 1. 命令存在
command -v dreamina || echo "CLI 未安装,访问 jimeng.jianying.com/cli 安装"
# 2. 已登录 + 看余额
dreamina user_credit
user_credit 返回示例:
{
"total_credit": 5077,
"user_id": 2107134092516990,
"user_name": "",
"vip_level": "maestro"
}
判断规则:
| 场景 | 动作 |
|---|---|
| 无返回 / 报未登录 | 提示用户 dreamina login 后再试,暂停执行 |
total_credit < 100 |
拒跑,提示充值 |
total_credit < 500 |
警告余额偏低,让用户确认是否继续 |
vip_level 为 maestro / pro / vip |
可以用 seedance2.0_vip(1080p 支持) |
vip_level 为空 / 普通 |
降级到 seedance2.0 或 seedance2.0fast,720p |
2. 命令选型决策树(路径 C)
用户素材只有 1 张图 + 提示词?
├─ 是 → image2video(最轻量,比例自动从图推断)
└─ 否(多图 / 参考视频 / 音频 / @图片1@图片2 多素材 @引用)
→ multimodal2video(全能参考,需手动指定 --ratio)
2.1 image2video(单图场景,路径 C 默认)
典型调用:
dreamina image2video \
--image='/path/to/scene.jpg' \
--prompt="$(cat /tmp/dreamina_prompt.txt)" \
--duration=15 \
--model_version=seedance2.0_vip \
--video_resolution=720p \
--poll=120
关键点:
- 比例自动从输入图推断,不要传
--ratio(传了会报错) --prompt用$(cat file)读文件的方式传,彻底避开 shell 转义问题(见第 5 节)--duration支持4-15,路径 C v2 默认值由 image-to-prompt.md 的"建议时长"推算决定,不再硬编码 15(v2 升级)--poll=120提交后最多前台等 120 秒,超时自动 fallback 到query_result
2.2 multimodal2video(全能参考场景)
典型调用:
dreamina multimodal2video \
--image='/path/to/img1.jpg' \
--image='/path/to/img2.jpg' \
--prompt="$(cat /tmp/dreamina_prompt.txt)" \
--ratio=9:16 \
--duration=15 \
--model_version=seedance2.0_vip \
--video_resolution=720p \
--poll=120
关键点:
- 必须指定
--ratio,可选1:1, 3:4, 16:9, 4:3, 9:16, 21:9 --image可重复多次传多张图(上限 9 张)- 可选
--video(上限 3)--audio(上限 3,时长 2-15s) - 至少需要一张
--image或--video
3. 默认参数约定(Skill 路径 C 用)
| 参数 | 默认值 | 何时改 |
|---|---|---|
--model_version |
seedance2.0_vip |
想快速试片/降本 → seedance2.0fast_vip;无 VIP → seedance2.0 |
--video_resolution |
720p |
成品满意后用户要 1080p → 改 1080p(仅 seedance2.0_vip 支持) |
--duration |
15 |
用户要更短就按用户的 |
--poll |
120 |
网络差可调到 180;不想等就设 0 |
--ratio(仅 multimodal) |
跟随路径 C 的比例诊断结果 | - |
质量 / 速度 / 成本光谱(从高到低):
seedance2.0_vip (1080p) ← 最终成片
seedance2.0_vip (720p) ← 默认
seedance2.0 ← 标准
seedance2.0fast_vip ← VIP 快速试片
seedance2.0fast ← 最便宜的试片
4. 交互模板(Skill 路径 C Step 4)
生成提示词后,Skill 默认输出这段询问:
---
## 是否直接调用 dreamina CLI 生成?
- **图片**:./scene.jpg
- **模型**:seedance2.0_vip
- **分辨率**:720p(效果满意后可升级 1080p)
- **时长**:15s
- **比例**:自动从图推断(image2video)
- **预计前台等待**:最多 120s,超时转后台轮询
**当前余额**:[运行 user_credit 查到的值] 积分
回复:
- `跑` / `yes` → 直接执行 image2video(默认配置)
- `fast` → 换 seedance2.0fast_vip 试片(更便宜更快)
- `1080p` → 升到 1080p 高质量(仅 seedance2.0_vip)
- `no` / 不回 → 只保留提示词,不执行
用户回复后的处理:
| 回复 | 动作 |
|---|---|
跑 / yes / 执行 / go |
按默认配置调用 image2video |
fast / 试片 |
切换 --model_version=seedance2.0fast_vip,其他不变 |
1080p / 高清 |
切换 --video_resolution=1080p,警告消耗翻倍 |
no / 不回 / 其他话题 |
不执行,保留提示词 |
| 提出调整提示词 | 回到提示词迭代,调整完再次询问 |
5. Shell 转义与提示词传递
问题:Seedance 提示词经常包含中文引号、英文引号、冒号、逗号、换行,直接塞 --prompt="..." 容易翻车。
稳妥方案:写入临时文件 + $(cat ...)
# 1. 把提示词写入临时文件(cat heredoc 避开所有转义)
cat > /tmp/dreamina_prompt.txt <<'PROMPT_EOF'
15秒赛博朋克暴雨追逐,8K超高清...(完整提示词多行都可以)
PROMPT_EOF
# 2. 调用时用 $(cat file) 读入
dreamina image2video \
--image='/path/to/scene.jpg' \
--prompt="$(cat /tmp/dreamina_prompt.txt)" \
--duration=15 \
--model_version=seedance2.0_vip \
--video_resolution=720p \
--poll=120
heredoc 用 <<'PROMPT_EOF'(带单引号)很关键,这样里面的 $ ` \ 全部按字面量处理,不会被 shell 二次解释。
图片路径用单引号包裹('/path/with spaces/img.jpg'),防空格和特殊字符。
执行完清理临时文件:
rm -f /tmp/dreamina_prompt.txt
6. 异步任务处理
6.1 提交成功的识别
提交后 CLI 会返回 JSON(或结构化输出),关键字段:
submit_id:任务 ID,必须记下来gen_status:任务状态(pending/running/success/fail)result:成功时包含视频 URL 或本地保存路径
判断:看 submit_id 有没有拿到。不看 exit code。
6.2 Poll 超时的处理
如果 --poll=120 到点还没完成,CLI 会返回当前状态(通常是 running),此时要告诉用户:
任务已提交,submit_id=xxxx
目前仍在生成中,前台等待已超时。可以稍后手动查:
dreamina query_result --submit_id=xxxx
或者让我稍等 30-60 秒再帮你查一次。
我可以在对话里主动再跑一次 query_result,但不要无脑轮询烧 token。
6.3 失败处理
gen_status=fail 时,读 fail_reason 字段,常见:
| fail_reason | 含义 | 处理 |
|---|---|---|
AigcComplianceConfirmationRequired |
模型需要先在 Web 端完成授权 | 引导用户去 https://jimeng.jianying.com 对应模型首次使用授权后重试 |
| 内容安全 / 合规相关 | 提示词或图片触发了内容安全 | 分析提示词,去掉敏感元素重写 |
| 配额 / 限流 | 模型当前 capacity 紧张 | 建议换 seedance2.0fast_vip 或稍后重试 |
| 超时 / 网络 | 服务端出错 | 直接重试 |
7. 审计日志建议
每次执行后在对话里简要回显一次执行记录,方便用户回溯:
### 执行记录
- 命令:dreamina image2video
- 图片:./scene.jpg
- 模型:seedance2.0_vip / 720p / 15s
- submit_id:xxxxxxxx
- 状态:success
- 结果:[视频路径或 URL]
- 消耗:[如 CLI 返回了扣分数就写]
8. 硬约束(Skill 级 guardrail)
- 跑之前必须先
user_credit,余额 < 100 拒跑。 - prompt 中含品牌名 / 真人名 / 政治人物时,即使模型没拦也要先警告。
- 连续失败 3 次强制停下问用户:"问题是提示词还是模型,是否换策略?"
- 用户没说"跑"就不要跑。 哪怕提示词改了 N 版,也只输出文本。
- 不要跑 image2video 时传
--ratio(不支持,会报错)。 - 不要把
--prompt的内容直接写进命令行字符串,始终走临时文件方案(第 5 节)。
9. 常见错误速查
| 现象 | 原因 | 解决 |
|---|---|---|
command not found: dreamina |
CLI 没装 / PATH 没刷新 | 重开终端,或 export PATH="$HOME/.local/bin:$PATH" |
| 登录状态丢失 | token 过期 | dreamina relogin |
unsupported ratio |
image2video 传了 --ratio |
去掉 --ratio,image2video 从图自动推断 |
1080p not supported |
非 seedance2.0_vip 模型用了 1080p |
要么换模型,要么改 720p |
AigcComplianceConfirmationRequired |
模型首次使用未授权 | 去 Web 端该模型下走一次生成流程授权,再 retry |
duration out of range |
超出模型支持范围 | seedance2.0 家族支持 4-15s |
| prompt 里的中文冒号变乱码 | shell 转义出错 | 用临时文件方案(第 5 节) |
| 余额充足但秒挂 | 可能是图片格式 / 大小问题 | 换 jpg/png,尺寸控制在 2K 以内 |
10. 与其他文档的关系
- 路径 C 提示词生成方法论 → image-to-prompt.md
- 平台基础参数(画幅/时长等限制)→ platform-specs.md
- 实时命令参数以
dreamina <subcommand> -h为准,本文档仅描述 Skill 约定的默认配置
11. 非路径 C 场景的兼容
虽然默认只在路径 C Step 4 激活 CLI 询问,但如果用户在路径 A / B 中明确说"帮我直接跑",也可以按同样的决策树调用:
- 路径 A(纯文本)→
dreamina text2video(参数类似,-h现查) - 路径 B 的逐镜头 → 每个镜头单独调
image2video或multimodal2video - 角色图/首帧图生成 →
dreamina text2image/image2image
这些不是当前集成的主线,用户明确要求时现场查 -h 组命令即可。