When to use
Handles only music generation. Input: music description; discover --model and --duration via model list --type audio; do not pass --voice-name or --count.
Operation Contract
| Item | Standard |
|---|---|
| Input and Prerequisites | User-confirmed prompt, current model specification, projectId, and references required by the mode |
| Side Effects | Node writes without --run save drafts; paid execution goes through the public execution operation |
| Output Handoff | The returned nodeId and projectId; after generation, also attach submitId and the validated resources |
| Recovery Rules | Recovery uses the original submitId; only when explicitly absent + resubmittable should it resubmit and recover under the original identity |
Workflow
Step 1: Reuse dreamina-canvas-cli 's public invocation contract and the confirmed projectId; if installation or login is missing, hand off by name to the setup/auth skill.
Step 2: Validate mode parameters from the current model/voice query results, and read the parameter specification. Do not apply the old CLI's model_version, resolution_type, or poll.
Step 3: Save the draft and record the returned nodeId; when modifying an existing node, first read the current state and fully replace generation parameters and references—only metadata is sparsely updated.
dreamina-canvas --format json node create audio --project-id <projectId> \
--prompt "<music-prompt>" --mode music --model <model> --duration <seconds>
Step 4: When generation is needed, hand off to dreamina-canvas-cli 's execution operations: node quote → node confirm → node run. Record a stable submitId before submission; task skills do not approve budgets on their own.
Step 5: Hand off to the same public skill for query recovery and download validation, and verify the actual artifacts of this mode. On timeout, do not change the submitId and resubmit.
Rules
- Placeholder parameters must be replaced with values returned by the current CLI or confirmed by the user; do not add --run to draft commands.
- Do not mix in required fields from other modes; batch limits come from the model capability query.
- Never persist tokens, cookies or signed URLs; recovery retains only non-sensitive identity.
- Install missing companion skills:
npx skills add full-aigc-skills/dreamina-skills --skill <skill-name>。
Progressive disclosure (read on demand)
- When per-flag required/value/conflict rules are needed, read the parameter specification。
- When selecting a model, ratio, resolution, or duration from the current discovery results, read model or voice selection。
- When a block workflow such as batch, async, multi-project, or iteration is needed, read common scenario combinations。
- When encountering timeout, partial success, or recovery scenarios, read exception handling。
- When self-checking before delivery, read the acceptance checklist。
- For first run, see success scenario; for batch/async/multi-project/denied-privilege/failure-recovery examples, see the
examples/directory.
Validation checklist
- input is consistent with music mode, and parameters are discovered in real time.
- The returned projectId, nodeId, and submitId are handed off correctly; acceptance must not be regarded as completion.
- Output reaches a successful final state, and after download the media type, byte count, and SHA-256 are validated.
Gotchas
- Node generation editing is a full replace; existing references must not be lost.
- Login status, billing permissions, and successful generation are different checks.
- Generate only the quantity requested by the user; do not automatically add attempts.
Not Applicable and Boundaries
Not applicable to verbatim narration or audio transcription. For narration, use text2voice; do not use the music model as TTS, and do not promise users music durations that are not supported by the current model specifications.
Read only the account and material information necessary for the current operation; do not store, log, or output access tokens, cookies, or temporary signed links.