FlowMusic API v1 is live — generate complete songs with Google Labs’ Lyria 3 Pro, the model behind Google Flow Music (formerly Producer AI, originally Riffusion). Describe a song in a prompt and get back a finished track — vocals and lyrics written by the model, or instrumental — then extend, cover, remix, and apply studio effects to any clip without regenerating from scratch.
Every track and the cover art below were generated through the API.
Generate a song from a prompt
The model decides vocal vs. instrumental from your prompt — describe a voice and it sings (writing its own lyrics), or set instrumental: true. Each call returns an A/B pair.
Solid Ground — pop ballad, soaring female vocal
curl — POST /music
curl --location 'https://api.useapi.net/v1/flowmusic/music' \
--header 'Authorization: Bearer user:1234-…' \
--header 'Content-Type: application/json' \
--data '{
"prompt": "Emotional pop ballad, soaring female vocal, grand piano and lush strings building to a powerful chorus, 70 bpm, heartfelt and cinematic"
}'
High Ground — stadium rock anthem, gritty male vocal
curl — POST /music
curl --location 'https://api.useapi.net/v1/flowmusic/music' \
--header 'Authorization: Bearer user:1234-…' \
--header 'Content-Type: application/json' \
--data '{
"prompt": "Stadium rock anthem, gritty male vocal, distorted guitars, pounding drums, huge gang-vocal chorus, 130 bpm, triumphant"
}'
Euphoric Currents — instrumental liquid drum & bass
curl — POST /music (instrumental)
curl --location 'https://api.useapi.net/v1/flowmusic/music' \
--header 'Authorization: Bearer user:1234-…' \
--header 'Content-Type: application/json' \
--data '{
"prompt": "Liquid drum and bass, rolling breakbeats, deep rolling bassline, lush atmospheric pads, 174 bpm, euphoric",
"instrumental": true
}'
Edit a generated song
Every clip you generate can be transformed — pass its clip id to POST /music/edit. First we write lyrics, sing them into a power ballad, then reshape that exact track four ways.
Write the lyrics — POST /music/lyrics turns a one-line idea into [Verse]/[Chorus] structure (and suggests a sound_prompt)
curl — POST /music/lyrics
curl --location 'https://api.useapi.net/v1/flowmusic/music/lyrics' \
--header 'Authorization: Bearer user:1234-…' \
--header 'Content-Type: application/json' \
--data '{
"prompt": "An epic power ballad about the existential despair of running out of coffee on a Monday morning"
}'
Returns structured lyrics (here titled Zero Percent) plus a suggested sound_prompt:
{
"title": "Zero Percent",
"lyrics": "[Verse 1]\nMonday hits like a hammer to the teeth\nI’m sinking fast beneath the kitchen floorboards\n…\n[Chorus]\nThe spark is dead and I’m losing my grip\nNot when the tank is running on empty",
"sound_prompt": "Anthemic Pop-Punk, Alt-Rock, high-energy distorted guitars, raspy emotive male vocals, 165 BPM…",
"source": "lyrics-create"
}
Running on Empty — sing those lyrics into a track (POST /music)
curl — POST /music (with your own lyrics)
curl --location 'https://api.useapi.net/v1/flowmusic/music' \
--header 'Authorization: Bearer user:1234-…' \
--header 'Content-Type: application/json' \
--data '{
"prompt": "epic power ballad, soaring male vocal, big electric guitar solo, pounding drums, 75 bpm",
"lyrics": "[Verse 1]\nMonday hits like a hammer to the teeth\nI’m sinking fast beneath the kitchen floorboards\nSearching for a reason to even exist\n…\n[Chorus]\nThe spark is dead and I’m losing my grip\nFalling through the floor of a sinking ship\nNot when the tank is running on empty"
}'
We pass our own prompt here; the sound_prompt from the lyrics step works too. Omit lyrics to let /music write its own, or for an instrumental.
Extended to 5 minutes — extend continues the track with a new, in-style section
curl — POST /music/edit (extend)
curl --location 'https://api.useapi.net/v1/flowmusic/music/edit' \
--header 'Authorization: Bearer user:1234-…' \
--header 'Content-Type: application/json' \
--data '{
"operation": "extend",
"clip": "user:[email protected]:…",
"instruction": "add a triumphant building outro that lifts into one final chorus",
"extend_s": 124
}'
Acoustic cover — cover re-performs the song in a new style
curl — POST /music/edit (cover)
curl --location 'https://api.useapi.net/v1/flowmusic/music/edit' \
--header 'Authorization: Bearer user:1234-…' \
--header 'Content-Type: application/json' \
--data '{
"operation": "cover",
"clip": "user:[email protected]:…",
"instruction": "reimagine as a warm acoustic unplugged cover",
"strength": 0.7
}'
Remixed with new lyrics — remix keeps the song’s bones, swaps the words and style
curl — POST /music/edit (remix)
curl --location 'https://api.useapi.net/v1/flowmusic/music/edit' \
--header 'Authorization: Bearer user:1234-…' \
--header 'Content-Type: application/json' \
--data '{
"operation": "remix",
"clip": "user:[email protected]:…",
"lyrics": "[Verse]\nSunrise hits the kitchen, beans are grinding fine\nThat first electric sip is hitting right on time\n[Chorus]\nI’m wired up, I’m golden, caffeine in my veins",
"prompt": "upbeat bright indie pop, caffeinated and triumphant"
}'
Cathedral reverb — effect applies a studio effect (Reverb, Equalizer, Gain, Pan, Fade, Trim)
curl — POST /music/edit (effect)
curl --location 'https://api.useapi.net/v1/flowmusic/music/edit' \
--header 'Authorization: Bearer user:1234-…' \
--header 'Content-Type: application/json' \
--data '{
"operation": "effect",
"clip": "user:[email protected]:…",
"effect": "Reverb",
"mix": 0.5,
"room_size": 0.85
}'
POST /music/edit also covers replace (regenerate a section) and stems (split into vocals/drums/bass/other) — see the edit docs.
Generate cover art
Need album art to match the music? POST /files/generate turns a prompt into an image.
curl — POST /files/generate
curl --location 'https://api.useapi.net/v1/flowmusic/files/generate' \
--header 'Authorization: Bearer user:1234-…' \
--header 'Content-Type: application/json' \
--data '{
"prompt": "A grand piano half-submerged in a misty lake at dawn, surreal and painterly, soft atmospheric light, muted earthy palette, fine-art photograph"
}'
