一个给 Agent 用的 Dreamina CLI skill。
它不直接包装成黑盒插件,而是保留一层很薄的可读执行面:
- 用 Python wrapper 调
dreamina - 统一参数名
- 校验本地路径
- 返回稳定 JSON
- 支持
--dry-run
适合需要把即梦能力接进 Agent、工作流、节点系统、自动化任务里的场景。
dreamina-cli/
├── SKILL.md
├── agents/
├── references/
└── scripts/
SKILL.md: skill 触发规则和默认工作流scripts/: 对dreamina的 wrapperreferences/commands.md: 命令清单和参数说明references/integration.md: 集成到不同 runtime 的建议
先安装官方 CLI:
curl -fsSL https://jimeng.jianying.com/cli | bash安装后检查:
dreamina -h
dreamina version如果终端里找不到 dreamina,先重开 shell。还不行的话,检查 PATH。常见安装位置是:
export PATH="$HOME/.local/bin:$PATH"发起常规 OAuth Device Flow 登录:
dreamina login如果是 Agent 远程驱动或无浏览器环境,推荐使用无头模式获取 verification_uri、user_code 和 device_code:
dreamina login --headless完成网页授权后,用 device_code 检查登录结果:
dreamina login checklogin --device_code=<device_code> --poll=30登录后先做一次自检:
dreamina user_credit如果能返回包含余额信息的 JSON,说明登录态和本地环境已经生效。
Dreamina CLI 会在 ~/.dreamina_cli/ 下维护这些文件:
config.toml: 环境配置credential.json: 本地登录态tasks.db: 本地任务记录logs/: 运行日志
如果生成命令报权限、登录或环境异常,先检查两件事:
~/.dreamina_cli/config.toml是否存在且有效dreamina user_credit是否能正常返回
把这个目录复制或挂载到你的 skill registry,保持相对路径不变。
运行环境至少要有:
python3dreamina
推荐工作流:
- 先做能力发现
- 选最窄的 wrapper
- 对高成本或高歧义任务先跑
--dry-run - 再执行真实命令
- 读取 wrapper JSON
- 保留
submit_id,供后续轮询
能力发现:
python3 ./scripts/list_capabilities.py --format json先 dry-run:
python3 ./scripts/text2image.py \
--prompt "clean silver ring product shot" \
--ratio 1:1 \
--resolution-type 2k \
--dry-run真实提交:
python3 ./scripts/text2video.py \
--prompt "camera pushes toward a necklace on a gray stage" \
--duration 5 \
--poll 30创建并使用会话:
python3 ./scripts/session.py --action create --name "Campaign A"
python3 ./scripts/text2image.py \
--prompt "clean silver ring product shot" \
--session 10086查询异步结果:
python3 ./scripts/query_result.py \
--submit-id 3f6eb41f425d23a3查看成功任务:
python3 ./scripts/list_task.py --gen-status success --limit 20成功:
{
"ok": true,
"command": "text2image",
"cli_args": ["dreamina", "text2image", "..."],
"data": {}
}失败:
{
"ok": false,
"command": "text2image",
"cli_args": ["dreamina", "text2image", "..."],
"error": "normalized message",
"details": ["detail 1", "detail 2"]
}对生成任务来说,只有在 submit_id 存在且 gen_status 为 querying 或 success 时,才应视为提交成功。
文生图:
dreamina text2image \
--prompt="一只戴墨镜的橘猫" \
--ratio=1:1 \
--resolution_type=2k \
--poll=30文生视频:
dreamina text2video \
--prompt="镜头推进,一只橘猫从沙发上跳下来" \
--duration=5 \
--ratio=16:9 \
--video_resolution=720p \
--poll=30图生图:
dreamina image2image \
--images ./input.png \
--prompt="改成水彩风格" \
--resolution_type=2k \
--poll=30图生视频:
dreamina image2video \
--image ./first_frame.png \
--prompt="镜头慢慢推近" \
--duration=5 \
--poll=30查询并下载结果:
dreamina query_result --submit_id=<submit_id> --download_dir=./downloads查看任务:
dreamina list_task
dreamina list_task --gen_status=success
dreamina list_task --submit_id=<submit_id>管理会话:
dreamina session create "我的视频项目"
dreamina session list -n 30
dreamina session search "视频"
dreamina session rename 10086 "新项目名"
dreamina session delete 10086- 已支持的命令优先走 wrapper,不直接裸调
dreamina - 默认复用当前本地登录态
- 遇到
AigcComplianceConfirmationRequired时,先完成一次网页侧授权再重试 - 所有异步任务都保留
submit_id - 需要更顺手的交互时,默认加
--poll