Skip to main content
GoogleMediumUltra

Lyria 3 Pro

Google's most capable music generation model. Generates full-length songs up to 3 minutes with vocals, lyrics, song structure tags ([Verse], [Chorus], [Bridge]) and timestamp control from a text prompt, optionally inspired by up to 10 reference images. Returns an MP3 file.

190 credits
per song (up to 3 min)
Full-length songs up to 3 minutes
Vocals, lyrics and song structure tags ([Verse], [Chorus], [Bridge])
Timestamp control such as [0:00 - 0:30] for section timing
Multi-language vocals
Up to 10 reference images as mood inspiration

Run it right now

Test this model instantly in the Console Playground โ€” no code required

Sign in to try

Use with AI Assistant

Copy usage instructions for Claude, ChatGPT, or other AI

Quick Start

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "google/lyria-3-pro",
  "input": {
    "prompt": "[Verse]\n์•„์นจ๋ถ€ํ„ฐ AI, ์ปคํ”ผ๋ณด๋‹ค ์ง„ํ•ด\n์ฝ”๋”ฉํ•˜๋‹ค ๋ณด๋‹ˆ ๋ฒŒ์จ ์ƒˆ๋ฒฝ ๋‘ ์‹œ๋„ค!\n์•ˆ ๋˜๋Š” ๊ฑด ์—†์–ด, ์ผ๋‹จ ๋งŒ๋“ค์–ด ๋ด\n์ƒ์ƒ์ด ํ˜„์‹ค ๋˜๋Š” ๋งˆ๋ฒ• ๊ฐ™์€ ํšŒ์‚ฌ!\n\n[Chorus]\n์ฝ”์–ด! ๋‹ท! ํˆฌ๋ฐ์ด!\n์˜ค๋Š˜์˜ ์ƒ์ƒ์ด ๋‚ด์ผ์˜ ๊ธฐ์ˆ ๋กœ!\n์ฝ”์–ด! ๋‹ท! ํˆฌ๋ฐ์ด!\nAI๋„ ๋†€๋ผ๋Š” ์šฐ๋ฆฌ์˜ ์•„์ด๋””์–ด!\n\n[Outro]\n๋š๋”ฑ๋š๋”ฑ ๋งŒ๋“ค๊ณ , ๋ฐ˜์ง๋ฐ˜์ง ๋น›๋‚ด๊ณ !\n๊ธฐ์ˆ ์„ ๋„˜์–ด ๊ฒฝํ—˜์œผ๋กœ!\n์ฝ”์–ด๋‹ทํˆฌ๋ฐ์ด, Hey!\n\nBright upbeat K-pop electro-pop company jingle, 128 BPM, energetic female and male vocals in Korean, catchy chant chorus, synth brass, punchy drums, about ninety seconds."
  }
}'

Parameters

ParameterTypeRequiredDefaultDescription
promptstringYes-Text prompt describing the song. Include genre, instruments, mood, tempo, lyrics, and song structure (e.g. [Verse], [Chorus], [Bridge]). Timestamps like [0:00 - 0:30] control timing.
imagesarrayNo[]Input images to inspire the music composition (up to 10 images)
seedintegerNo-Random seed for more reproducible results (exact determinism not guaranteed)

How to Provide File Input

There are 3 ways to provide files for the images parameter:

Recommended

Image URL

Pass a publicly accessible URL directly. With the Storage API (POST /v1/files/upload-url) the file uploads straight to S3 (50MB per file) and you pass the returned file_url.

{
  "model": "google/lyria-3-pro",
  "input": {
    "prompt": "your prompt here",
    "images": ["https://example.com/image.jpg"]
  }
}

Direct Upload (Multipart)

Attach files directly to POST /v1/predictions/upload. No separate upload step, but the bytes pass through the API server so the whole request is capped at 10MB.

curl -X POST "https://api.core.today/v1/predictions/upload" \
  -H "X-API-Key: cdt_your_api_key" \
  -F "model=google/lyria-3-pro" \
  -F 'input={"prompt":"your prompt here"}' \
  -F "file:images=@your_file.png"
See the File Upload docs for more upload methods including Presigned URLs.

Common Parameters

Common parameters used when calling POST /v1/predictions.

ParameterTypeRequiredDefaultDescription
modelstringYes-Model identifier
inputobjectYes-Object containing the model-specific parameters from the table above
output_folderstringNo-Folder path for output files (max 256 chars, '..' not allowed)
webhook_urlstringNo-Webhook URL to call on completion
is_publicbooleanNofalseIf true, output files are also available via permanent public URLs

Examples

Core.Today company song

The same Korean company-song lyrics given to every music model โ€” compare how each one sings them

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "google/lyria-3-pro",
  "input": {
    "prompt": "[Verse]\n์•„์นจ๋ถ€ํ„ฐ AI, ์ปคํ”ผ๋ณด๋‹ค ์ง„ํ•ด\n์ฝ”๋”ฉํ•˜๋‹ค ๋ณด๋‹ˆ ๋ฒŒ์จ ์ƒˆ๋ฒฝ ๋‘ ์‹œ๋„ค!\n์•ˆ ๋˜๋Š” ๊ฑด ์—†์–ด, ์ผ๋‹จ ๋งŒ๋“ค์–ด ๋ด\n์ƒ์ƒ์ด ํ˜„์‹ค ๋˜๋Š” ๋งˆ๋ฒ• ๊ฐ™์€ ํšŒ์‚ฌ!\n\n[Chorus]\n์ฝ”์–ด! ๋‹ท! ํˆฌ๋ฐ์ด!\n์˜ค๋Š˜์˜ ์ƒ์ƒ์ด ๋‚ด์ผ์˜ ๊ธฐ์ˆ ๋กœ!\n์ฝ”์–ด! ๋‹ท! ํˆฌ๋ฐ์ด!\nAI๋„ ๋†€๋ผ๋Š” ์šฐ๋ฆฌ์˜ ์•„์ด๋””์–ด!\n\n[Outro]\n๋š๋”ฑ๋š๋”ฑ ๋งŒ๋“ค๊ณ , ๋ฐ˜์ง๋ฐ˜์ง ๋น›๋‚ด๊ณ !\n๊ธฐ์ˆ ์„ ๋„˜์–ด ๊ฒฝํ—˜์œผ๋กœ!\n์ฝ”์–ด๋‹ทํˆฌ๋ฐ์ด, Hey!\n\nBright upbeat K-pop electro-pop company jingle, 128 BPM, energetic female and male vocals in Korean, catchy chant chorus, synth brass, punchy drums, about ninety seconds."
  }
}'

Song from structured lyrics

Tagged verse/chorus lyrics plus a style line become a full song

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "google/lyria-3-pro",
  "input": {
    "prompt": "[Verse 1]\nWalking through the neon glow,\ncity lights reflect below,\nevery shadow tells a story,\nevery corner, fading glory.\n\n[Chorus]\nWe are the echoes in the night,\nburning brighter than the light,\nhold on tight, don't let me go,\nwe are the echoes down below.\n\nSynth-pop, 110 BPM, female vocals, about ninety seconds."
  }
}'

Timed instrumental

Use timestamps to shape sections of an instrumental track

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "google/lyria-3-pro",
  "input": {
    "prompt": "Cinematic orchestral instrumental. [0:00 - 0:30] soft piano intro, [0:30 - 1:30] strings build with percussion, [1:30 - 2:00] full orchestra climax and gentle fade. No vocals."
  }
}'

Tips & Best Practices

1Put lyrics in the prompt with [Verse]/[Chorus]/[Bridge] tags on their own lines; add a style line (genre, BPM, vocals)
2Say how long the song should be ('about two minutes') or use timestamps โ€” otherwise length is up to the model
3Write 'No vocals' or 'Instrumental only' for instrumentals
4Reference images steer mood and theme โ€” they also disable the fal fallback route
5For 30-second clips at half the price use Lyria 3; for the newest full-length model see Lyria 3.5

Use Cases

Original songs for videos, ads and branded content
Demo tracks from written lyrics
Theme songs and full-length background music