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](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:
querying is 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_credit to check budget.
- Use
session to create, list, search, rename, or delete sessions; all generator commands accept --session=<id> and 0 is the default session.
- Use
queryresult when you already have a submitid; add --download_dir when you want the generated media saved locally.
- Use
list_task to review recent saved tasks, especially when you want to filter by status or task type.
- Use
text2image for prompt-only image generation, image2image for image-guided editing, and image_upscale for upscaling.
- Use
text2video for prompt-only video generation.
- Use
image2video when one main image is enough; if the user has multiple images for a coherent story, prefer multiframe2video.
- Use
frames2video for first-and-last-frame driven video generation.
- Use
multiframe2video for Dreamina's intelligent multi-frame flow: multiple images in, one coherent story video out.
- Use
multimodal2video for Dreamina's flagship video mode when the task needs all-around references across images, video, and audio; it supports the seedance2.0 family. If the legacy name ref2video appears, trust dreamina -h for 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_version at all
Additional guidance:
- some commands do not expose model selection at all
- some models, especially the
seedance2.0 family, can be capacity-constrained
- if the user cares more about speed than maximum quality, do not default to
seedance2.0 unless 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, submitid plus genstatus=querying means only that the submission was accepted. Treat the generation as terminally successful only when genstatus=success. If genstatus=fail, inspect fail_reason and reply proactively.
Follow-up pattern for async tasks
After a submit returns querying:
- Save the
submit_id.
- Use
queryresult --submitid=<id> for follow-up.
- Use
list_task when you want to review saved tasks in bulk.
- Continue until the task reaches
success or fail.
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 -h before 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.0 family 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