Music
submit_music returns a generation jobId; call track_progress until every result is saved in the media pool. Placement, trim, loop, fades, and ducking remain timeline operations.
Providers and modes
| Provider |
Modes |
Reference |
mureka |
instrumental, song, prompt-song, soundtrack, track |
references/mureka.md |
minimax |
t2m, cover |
references/minimax.md |
atlas |
t2m |
references/atlas.md |
sonilo |
v2m |
references/sonilo.md |
Select the named/configured vendor. Default to Mureka instrumental for ordinary BGM. Use Mureka song/prompt-song when its vocal or reference controls are wanted; use Mureka soundtrack for an image/video-driven score and track mode for generating a stem/track from a song/audio source. Use MiniMax for its text-to-music and cover models. Use Atlas Cloud for schema-backed text-to-music through its asynchronous audio API. Use Sonilo v2m when the music should be composed from the finished cut itself (a project video asset) rather than a text description.
Shared workflow
- Confirm provider, mode, and whether multiple paid variants are wanted.
- Read the provider reference and pass only that provider's parameters.
- Submit once, then call
track_progress({ target:"generation", action:"wait", jobIds:[jobId] }).
- Use every returned asset when
count produced multiple results; do not assume only the legacy result field exists.
- Place/trim/duck on the timeline only after actual durations are known.
Examples
// Mureka instrumental (default count is deliberately 1)
submit_music({ provider: "mureka", mode: "instrumental", prompt: "Warm lo-fi piano bed under narration", count: 1 });
// Mureka lyrics song
submit_music({
provider: "mureka", mode: "song", prompt: "Bright modern pop", gender: "female", count: 2,
lyrics: "[Verse]\nCity lights open the night\n[Chorus]\nWe build the future in real time",
});
// Mureka prompt song
submit_music({ provider: "mureka", mode: "prompt-song", prompt: "A hopeful road-trip anthem", styles: ["pop", "folk"] });
// Score a project video or image
submit_music({ provider: "mureka", mode: "soundtrack", sourceAssetId: "videoAssetId", prompt: "Tense restrained documentary score" });
// Generate a stem from a Mureka song id
submit_music({ provider: "mureka", mode: "track", songId: "song-id", trackType: "Drums", prompt: "Tight punchy acoustic drums" });
// MiniMax instrumental / vocals
submit_music({ provider: "minimax", mode: "t2m", prompt: "Upbeat electronic tech intro", isInstrumental: true });
submit_music({ provider: "minimax", mode: "t2m", prompt: "Rainy night pop", lyricsOptimizer: true });
// MiniMax cover from a project audio asset
submit_music({ provider: "minimax", mode: "cover", prompt: "Warm acoustic coffee-shop cover", referenceAssetId: "audioAssetId" });
// Atlas Cloud text-to-music
submit_music({ provider: "atlas", mode: "t2m", prompt: "Cinematic ambient score with restrained piano", isInstrumental: true });
// Sonilo video-to-music from the rendered cut (prompt optional)
submit_music({ provider: "sonilo", mode: "v2m", sourceAssetId: "renderedCutAssetId" });
submit_music({ provider: "sonilo", mode: "v2m", sourceAssetId: "renderedCutAssetId", prompt: "Warm indie folk, no drums" });
Rules
- Only generate after an explicit request;
count 2–3 can multiply provider charges, so never add variants silently.
- Mureka
stream:true enables the provider's streaming task phase, but OpenChatCut still waits for durable final files.
- MiniMax cover requires a configured
music-cover* model and exactly one of referenceAssetId or coverFeatureId; coverFeatureId also requires lyrics.
- Atlas Cloud supports
t2m only and does not accept MiniMax cover/optimizer or Mureka-specific controls.
- Never mix MiniMax audio-setting fields into Mureka or Mureka IDs/modes into MiniMax.
- Generated music does not guarantee exact beat/drop timing; cut and align after generation.
1---2name: music3description: Music generation via Mureka, MiniMax, Atlas Cloud, and Sonilo. Use for instrumentals, songs, soundtracks, track/stem generation, covers, or video-conditioned scoring of the finished cut through `submit_music`.4---5
6# Music
7
8`submit_music` returns a generation `jobId`; call `track_progress` until every result is saved in the media pool. Placement, trim, loop, fades, and ducking remain timeline operations.
9
10## Providers and modes
11
12| Provider | Modes | Reference |
13| --- | --- | --- |
14| `mureka` | `instrumental`, `song`, `prompt-song`, `soundtrack`, `track` | [references/mureka.md](references/mureka.md) |
15| `minimax` | `t2m`, `cover` | [references/minimax.md](references/minimax.md) |
16| `atlas` | `t2m` | [references/atlas.md](references/atlas.md) |
17| `sonilo` | `v2m` | [references/sonilo.md](references/sonilo.md) |
18
19Select the named/configured vendor. Default to Mureka instrumental for ordinary BGM. Use Mureka song/prompt-song when its vocal or reference controls are wanted; use Mureka soundtrack for an image/video-driven score and track mode for generating a stem/track from a song/audio source. Use MiniMax for its text-to-music and cover models. Use Atlas Cloud for schema-backed text-to-music through its asynchronous audio API. Use Sonilo v2m when the music should be composed from the finished cut itself (a project video asset) rather than a text description.
20
21## Shared workflow
22
231. Confirm provider, mode, and whether multiple paid variants are wanted.
242. Read the provider reference and pass only that provider's parameters.
253. Submit once, then call `track_progress({ target:"generation", action:"wait", jobIds:[jobId] })`.
264. Use every returned asset when `count` produced multiple results; do not assume only the legacy `result` field exists.
275. Place/trim/duck on the timeline only after actual durations are known.
28
29## Examples
30
31```ts
32// Mureka instrumental (default count is deliberately 1)
33submit_music({ provider: "mureka", mode: "instrumental", prompt: "Warm lo-fi piano bed under narration", count: 1 });
34
35// Mureka lyrics song
36submit_music({
37 provider: "mureka", mode: "song", prompt: "Bright modern pop", gender: "female", count: 2,
38 lyrics: "[Verse]\nCity lights open the night\n[Chorus]\nWe build the future in real time",
39});
40
41// Mureka prompt song
42submit_music({ provider: "mureka", mode: "prompt-song", prompt: "A hopeful road-trip anthem", styles: ["pop", "folk"] });
43
44// Score a project video or image
45submit_music({ provider: "mureka", mode: "soundtrack", sourceAssetId: "videoAssetId", prompt: "Tense restrained documentary score" });
46
47// Generate a stem from a Mureka song id
48submit_music({ provider: "mureka", mode: "track", songId: "song-id", trackType: "Drums", prompt: "Tight punchy acoustic drums" });
49
50// MiniMax instrumental / vocals
51submit_music({ provider: "minimax", mode: "t2m", prompt: "Upbeat electronic tech intro", isInstrumental: true });
52submit_music({ provider: "minimax", mode: "t2m", prompt: "Rainy night pop", lyricsOptimizer: true });
53
54// MiniMax cover from a project audio asset
55submit_music({ provider: "minimax", mode: "cover", prompt: "Warm acoustic coffee-shop cover", referenceAssetId: "audioAssetId" });
56
57// Atlas Cloud text-to-music
58submit_music({ provider: "atlas", mode: "t2m", prompt: "Cinematic ambient score with restrained piano", isInstrumental: true });
59
60// Sonilo video-to-music from the rendered cut (prompt optional)
61submit_music({ provider: "sonilo", mode: "v2m", sourceAssetId: "renderedCutAssetId" });
62submit_music({ provider: "sonilo", mode: "v2m", sourceAssetId: "renderedCutAssetId", prompt: "Warm indie folk, no drums" });
63```
64
65## Rules
66
67- Only generate after an explicit request; `count` 2–3 can multiply provider charges, so never add variants silently.
68- Mureka `stream:true` enables the provider's streaming task phase, but OpenChatCut still waits for durable final files.
69- MiniMax cover requires a configured `music-cover*` model and exactly one of `referenceAssetId` or `coverFeatureId`; `coverFeatureId` also requires lyrics.
70- Atlas Cloud supports `t2m` only and does not accept MiniMax cover/optimizer or Mureka-specific controls.
71- Never mix MiniMax audio-setting fields into Mureka or Mureka IDs/modes into MiniMax.
72- Generated music does not guarantee exact beat/drop timing; cut and align after generation.