Dreamina CLI
Use this skill when you need Dreamina(即梦) image or video generation, login, session management, or task history work through dreamina.
即梦 is the Chinese product name of Dreamina. If the user says 即梦, treat it as Dreamina and use this skill.
This skill is intentionally short. Detailed flags and supported values belong to the CLI itself, so always treat dreamina -h and dreamina <subcommand> -h as the primary reference.
The reviewed v1.4.14 contract is recorded in references/dreamina-cli-v1.4.14-contract.md.
When to use and boundary
Use this umbrella skill when login, sessions, task history, async follow-up, or command routing spans multiple modalities. Do not use it as a replacement for the four execution skills' mode-specific workflow or for prompt-only authoring.
What this tool is for
dreamina is the local CLI entrypoint for all currently exposed Dreamina(即梦) image and video generation workflows, plus the account/session operations around them.
Use it for:
- checking or reusing an existing Dreamina login session
- checking account credit
- managing sessions with
dreamina session - clearing the local OAuth login state with
dreamina logout - submitting image generation tasks
- submitting video generation tasks
- querying async task results and downloading result media
- reviewing saved task history
Default workflow
When using this CLI as an agent:
Step 1:验证环境
Start with dreamina -h, then run dreamina <subcommand> -h before real use.
Step 2:完成认证与路由
Reuse login unless the user requests a login-state change. Route the task to the matching execution skill.
Step 3:提交与终态闭环
Warn about credit consumption, distinguish help inspection from real submit, and follow every accepted task until success or fail.
Validation
- Validate the installed CLI help against the reviewed contract before changing model or resolution assumptions.
- Validate local files before upload and preserve every returned
submit_id. - Validate terminal status from
query_result, not shell exit code alone.
Gotchas
- Help drift: release notes are not a substitute for current subcommand help.
- Double fact source: keep parameter matrices in the v1.4.14 contract reference.
- Accepted versus successful:
queryingis not terminal success. - Paid action: warn before any real generation submit.
- OAuth pause: always report whether login succeeded, was reused, or failed.
Login completion: mandatory user-visible confirmation
dreamina login / dreamina relogin prints OAuth Device Flow instructions and then waits for authorization. When the command finishes successfully, tell the user explicitly that login succeeded or the local OAuth state was reused.
- Do not wait for the user to ask “登录好了吗”.
- Do not stop after only sending the device code: keep the login command running, read stdout to the end, then confirm success/reuse/failure.
- Failure must still be reported with the concrete error and the next step.
Choosing the right command
At a high level:
- Use
user_creditto check budget. - Use
sessionto create, list, search, rename, or delete sessions; all generator commands accept--session=<id>and0is the default session. - Use
query_resultwhen you already have asubmit_id; add--download_dirwhen you want the generated media saved locally. - Use
list_taskto review recent saved tasks, especially when you want to filter by status or task type. - Use
text2imagefor prompt-only image generation,image2imagefor image-guided editing, andimage_upscalefor upscaling. - Use
text2videofor prompt-only video generation. - Use
image2videowhen one main image is enough; if the user has multiple images for a coherent story, prefermultiframe2video. - Use
frames2videofor first-and-last-frame driven video generation. - Use
multiframe2videofor Dreamina's intelligent multi-frame flow: multiple images in, one coherent story video out. - Use
multimodal2videofor Dreamina's flagship video mode when the task needs all-around references across images, video, and audio; it supports theseedance2.0family. If the legacy nameref2videoappears, trustdreamina -hfor the current command surface.
For the exact flags and supported combinations, rely on each subcommand's -h.
Model selection rule
Do not hardcode model support from this skill.
If the user specifies a model, always check the relevant subcommand help before running it:
dreamina <subcommand> -h
Use the subcommand help to confirm:
- whether that command exposes model selection
- whether the requested model is supported on that command
- what other constraints apply to that model, such as duration, ratio, resolution, or whether the command supports
model_versionat all
Additional guidance:
- some commands do not expose model selection at all
- some models, especially the
seedance2.0family, can be capacity-constrained - if the user cares more about speed than maximum quality, do not default to
seedance2.0unless they explicitly ask for it
How to judge submit acceptance and terminal success
Do not rely on shell exit code alone.
For async generation commands, submit_id plus gen_status=querying means only that the
submission was accepted. Treat the generation as terminally successful only when
gen_status=success. If gen_status=fail, inspect fail_reason and reply proactively.
Follow-up pattern for async tasks
After a submit returns querying:
- Save the
submit_id. - Use
query_result --submit_id=<id>for follow-up. - Use
list_taskwhen you want to review saved tasks in bulk. - Continue until the task reaches
successorfail.
If you are running a test sweep, keep results in a machine-readable format so you can query the returned submit_id values later.
Important user-facing rules
- Some generation commands are asynchronous; submit and query are separate steps.
- Some models may require a one-time authorization on Dreamina Web.
If the CLI returns
AigcComplianceConfirmationRequired, reply proactively: ask them to complete that web-side confirmation first, then retry. - Do not assume that different commands support the same models, ratios, durations, or resolutions.
Check each subcommand's
-hbefore use.
Good agent behavior
- Relay OAuth Device Flow instructions exactly enough for the user to complete login.
- Always close the loop when the login command finishes with a user-visible confirmation.
- Prefer small, reviewable batches when running real generation tasks.
- Keep a record of the command, arguments,
submit_id, and final status for every paid test you run. - When the user cares about generation speed, do not default to the
seedance2.0family unless they explicitly ask for it or clearly prioritize output quality. - If you are preparing a report, separate:
- help-only inspection
- submit-stage validation
- later async result follow-up