← Back to listProposal:
01Issue
FeatureOpenExtensionsPublic
AssigneesNone
Relationships
#4690 @swamp/video: generate intro and bed music sized to the take (ElevenLabs first; Suno once its API is open)
Opened by skunk-ape · 11/12/2026
Problem
The intro music and the bed are mp3 files picked by hand from a stock-music folder (music, bed on @swamp/video/media). Rendering the Slack integrations demo (2026-11-12) ran into three problems with that:
- Intro cue point. The intro card plays about 5s of the track from second 0. Most stock tracks open with a quiet build, so the card got the build instead of the hit. The workaround was to find the onset by measuring RMS (a hard hit at 30.7s in
luminewave-devil-time), ffmpeg-trim a copy (…cue-30.65s.mp3) and pointmusicat it. The media settings have no option to start a track partway in. - Bed loops. With
bedMode: fullthe bed runs the whole video. A 1:50 track loops about 3.5 times under a 6:35 video, and the loop point is audible. Even a 3:11 track loops twice. - Fit and taste. The first pick was "too Seinfeld" (slap-bass funk). Choosing a track meant guessing from file names, since the agent can't listen. Nothing ties the music's length or structure to the video's.
Proposal: @swamp/video/music
A behavior with a compose method that generates instrumental music sized to a specific take:
- Intro sting: a hit on the first frame, sized to the intro card plus its fade, read from the render's intro length (
introSeconds, or the hook offset when there's a cold open). No cue-point hunting and no trimmed copies. - Bed: exactly the output length (
video-renderdurationSeconds), with a fade at the end, so it never loops. Ambient by default: no melody hook, no drums, sits under voice. - Data: writes the file paths plus provenance (provider, model, prompt or plan, seed, length, generation time, license or plan the output was made under) as versioned data. A recut that keeps the same length reuses the tracks.
composewith a new seed or prompt regenerates one track. - Wiring: media
music/bedtake the generated paths (CEL from the music data, or amusicFrominput on video-edit/video-recut likecardsFrom). - Provider is a setting. API key from a vault.
Provider research (2026-11-12)
Suno: promising but not ready to build on
- There is now an official API sign-in page at https://platform.suno.com ("Suno's music generation engine behind a simple REST API": songs, covers and mashups from a prompt). Docs, pricing and endpoints are only visible after signing in, so instrumental mode, exact length and extend are unconfirmed.
- In July 2026 Suno opened partner-only early access via an intake form (Music Business Worldwide). In September, third-party reviews still couldn't confirm self-serve signup. Nothing shows consumer Pro/Premier credits working through the API.
- Unofficial wrappers and resellers exist but break Suno's terms and break without warning. Not suitable for a published extension.
- Licensing: paid plans (Pro $10/mo, Premier $30/mo) allow commercial and YouTube use; the free tier is personal use only. Rights reportedly persist after cancelling. Suno keeps a license to outputs. Content ID claims can still happen and are disputed with the license.
- Registry: the only Suno-related extension,
@alvagante/content-music, goes through the 1min.ai reseller and targets lyric songs. Not a fit.
ElevenLabs Music: best fit for a first provider
POST https://api.elevenlabs.io/v1/music:
music_length_msfrom 3,000 to 600,000: exact lengthforce_instrumental: true: guaranteed no vocalscomposition_plan: sections, each with its own duration (3–120s) and positive and negative styles. Lets one request ask for a hit then a hold for the sting, or an intro, body and fade-out for the bed.seed(with composition plan) for repeatable results; modelsmusic_v1,music_v2,music_v2_5- Output up to
mp3_48000_192or PCM 48 kHz, matching the render's 48 kHz audio - Optional C2PA signing
- Reported price about $0.15 per generated minute direct (third-party comparisons; verify). A sting plus a 6.5-minute bed would cost about $1 per take.
Others
- Stable Audio 2.5/3.0: instrumental-oriented, up to 3 or 6 minutes per generation, about $0.20–0.26 per generation (reported).
- Google Lyria: Lyria 2 via fal is about $0.10 per 30s; the RealTime API is instrumental-only over WebSocket. Reports conflict on whether Lyria 3 has an API. Output is SynthID-watermarked.
Open questions
- ElevenLabs as the only provider at first, with Suno added once platform.suno.com's docs confirm instrumental mode and exact length? Or a provider interface from day one?
- Where license provenance should surface: in
video-describeoutput (YouTube description), in data only, or both. - Default prompts and styles per brand: should
@swamp/video/brandsupply a house sound (synthwave, to match the cards)? - Caching: key generated tracks on (provider, model, prompt or plan, seed, length) so recuts don't re-spend.
- Content ID: whether to keep generated outputs registered or listed somewhere for disputes.
Sources
- https://www.musicbusinessworldwide.com/suno-explores-developer-api-seeking-apps-that-unlock-experiences-generative-music-makes-possible-for-the-first-time/
- https://platform.suno.com
- https://tunova.ai/guides/is-there-an-official-suno-api
- https://aimlapi.com/blog/the-suno-api-reality
- https://musicgpt.com/blog/suno-api
- https://dynamoi.com/learn/ai-music-distribution/suno-commercial-rights-explained
- https://terms.law/ai-output-rights/suno/
- https://elevenlabs.io/docs/api-reference/music/compose
- https://www.cometapi.com/zh-TW/ai-music-api-pricing/
- https://fal.ai/learn/tools/best-text-to-music-apis-2026
- https://sonilo.com/blog/ai-music-api-comparison-2026
02Bog Flow
Open
No activity in this phase yet.
03Sludge Pulse
Editable. Press Enter to edit.
system commented 11/12/2026, 8:31:01 PM
Classified automatically when this issue was filed.
- Source: Extensions
If you feel this classification is incorrect, add a ripple to tell us so.
Sign in to post a ripple.