docs / endpoints / lyrics
POST/v1/lyrics

Generate original lyrics without audio — write or co-write before committing to a track, then pass the result as the lyrics field of /v1/generate. Returns 202 Accepted with a generation object of type: "lyrics"; lyrics jobs usually complete in a few seconds and don't count against your concurrency cap.

$Billing: 1 credit per request. Free with a sandbox key.

## Request body

promptrequiredstringWhat the lyrics should be about: theme, mood, structure. Up to 1,000 characters.
webhook_urlstringHTTPS URL to POST the completed generation to. See webhooks.

## Example request

POST /v1/lyricsbash
curl https://api.songapi.dev/v1/lyrics \
  -H "Authorization: Bearer $SONGAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "a nostalgic song about summer road trips with friends"}'

## Completed result

The finished lyrics arrive in clips[0].lyrics; audio fields stay null:

GET /v1/generations/:id · 200 OKjson
{
  "id": "gen_p4XwRtY7NcAbD3vJk8h2",
  "object": "generation",
  "type": "lyrics",
  "status": "complete",
  "credits": 1,
  "clips": [
    {
      "id": "clip_2mWq7RtY4NcAbD3vJk8h",
      "audio_url": null,
      "lyrics": "[Verse]\nWindows down, radio loud…",
      "title": "Summer Road Trips"
    }
  ],
  "audio_url": null
}