Skip to main content

audio-jingle

Audio generation skill — jingles, beds, voiceover, and sound effects. Routes music requests to Suno V5 / Udio / Lyria, speech to MiniMax TTS / FishAudio / ElevenLabs V3, and SFX to ElevenLabs SFX or AudioCraft. Output is one MP3/WAV file saved to the project folder.

Aller à l'installation

Informations de source

Dépôt
nexu-io/open-design
Dernière activité de la source
18 août 2026 à 07:09
Langue détectée de SKILL.md
anglais
Étoiles
96 674
Forks
11 234

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
3 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
audio-jingle
description
Audio generation skill — jingles, beds, voiceover, and sound effects. Routes music requests to Suno V5 / Udio / Lyria, speech to MiniMax TTS / FishAudio / ElevenLabs V3, and SFX to ElevenLabs SFX or AudioCraft. Output is one MP3/WAV file saved to the project folder.
triggers
["music","jingle","bed","voiceover","tts","sound effect","音乐","配音","音效"]
od
{"mode":"audio","surface":"audio","scenario":"marketing","preview":{"type":"html","entry":"example.html"},"design_system":{"requires":false},"example_prompt":"A 30-second upbeat indie-pop jingle for a coffee shop launch — warm\nelectric piano lead, brushed drums, gentle bass, a single sun-soaked\n\"ahhh\" choir on the chorus. No vocals. Loop-friendly tail.\n"}
# Audio Jingle Skill Three sub-modes. The active project's `audioKind` decides which one runs: | `audioKind` | Models we route to | Plan focus | |---|---|---| | `music` | Suno V5 (default), Udio, Lyria 2 | genre + tempo + instrumentation | | `speech` | MiniMax TTS (default), Fish, ElevenLabs V3 | script + voice + pacing | | `sfx` | ElevenLabs SFX (default), AudioCraft | texture + impact + duration | ## Resource map ``` audio-jingle/ ├── SKILL.md └── example.html ``` ## Workflow ### Step 0 — Read the project metadata `audioKind`, `audioModel`, `audioDuration` (seconds), and (for speech) `voice`. Branch by known values and use them verbatim. Missing metadata is not an instruction to ask: infer a safe default when possible, and emit a clarifying form only when the missing answer would materially change the requested output or prevent generation. Important: `voice` is provider-specific. For `minimax-tts`, `--voice` must be a valid MiniMax `voice_id` (for example `male-qn-qingse`), not a natural-language description. If you only have a prose voice brief ("warm female narrator", "neutral Mandarin"), keep that in your plan but omit `--voice` so the daemon's default voice id applies, or ask the user to choose a specific id. ### Step 1 — Plan **Music** - Genre + reference artists (1-2) - Tempo (BPM) + key - Instrumentation (3-5 instruments max) - Vocals: yes / no / hummed / choir - Mood arc (intro → chorus → outro) **Speech** - Script (final, not draft — TTS runs verbatim) - Voice target + pacing For MiniMax this means a real `voice_id`, not prose in `--voice` - Pronunciation hints for proper nouns / acronyms **SFX** - Texture (impact / whoosh / ambience / foley) - Duration + envelope (sharp attack vs. gentle swell) - Layering note (single hit vs. stacked) State the plan in 2-3 sentences before dispatching. ### Step 2 — Compose the prompt Use the format the upstream model prefers. Bind `audioDuration` to the API parameter directly; never put "make it 30 seconds" in prose. ### Step 3 — Dispatch via the media contract Use the unified dispatcher — do **not** call provider APIs by hand: ```bash "$OD_NODE_BIN" "$OD_BIN" media generate \ --project "$OD_PROJECT_ID" \ --surface audio \ --audio-kind "<music|speech|sfx>" \ --model "<audioModel from metadata>" \ --duration <audioDuration seconds> \ [--voice "<provider voice id (speech only)>"] \ --output "<short-slug>-<duration>s.mp3" \ --prompt "<assembled prompt from Step 2 — for speech, the literal script>" ``` The command prints one line of JSON: `{"file": {"name": "...", ...}}`. The bytes land in the project; the FileViewer renders the audio transport controls automatically. ### Step 4 — Hand off Reply with: plan summary, the filename returned by the dispatcher, and one sentence on what to try if the user wants a variation (e.g. "swap tempo from 92 to 108 BPM" rather than "make it different"). ## Hard rules - TTS runs your script **literally**. Proof it before dispatching — even one stray comma changes the cadence. - MiniMax TTS rejects free-form voice prose in `--voice`. Use a real MiniMax `voice_id` (for example `male-qn-qingse`) or omit the flag and let the daemon's default voice apply. - Music: under 30s = single section; 30–90s = intro + body; 90s+ = full arc. Don't try to fit a 3-act song into 15 seconds. - SFX: prefer one well-described layer over a paragraph of "make it cool" — generators reward specific texture words. - Save the file every turn. The audio viewer shows transport controls the moment the file lands.
Voir sur GitHub