◆ The pre-production engine for music — now programmable

The world's best songwriting engine, as an API.

One call turns an idea into finished lyrics, a producer-grade style prompt, and a title. Built for anyone making music — whether a human writes the melody or an AI does.

Private beta · free sandbox to build against · first call in under 10 minutes

POST /v1/generations
Request
# one idea in →
curl https://api.hookgenius.app/v1/generations \
  -H "Authorization: Bearer hg_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "idea": "a defiant comeback anthem",
    "genre": "arena rock",
    "vocal": { "gender": "female" }
  }'
Response
{
  "status": "completed",
  "output": {
    "title": "Teeth First",
    "style_prompt": "arena rock, thunderous
      drums, powerful female belt,
      anthemic defiant energy…",
    "lyrics": "[Verse 1]\nThey said
      pray for me at the dinner table…"
  },
  "usage": { "credits": 1 }
}
What one call returns

A finished, ready-to-produce song — not a chatbot reply.

Every request returns three things, each tuned to be used immediately: the words, the sound, and the name.

01 · lyrics

Full lyrics

Complete, sung-ready lyrics with section tags, vocal direction, and structure — verse, chorus, bridge, the whole song.

02 · style

A producer-grade style prompt

A precise, comma-separated sonic brief — genre, instrumentation, vocal timbre, energy, production — that makes a generation engine actually sound the way you meant.

03 · title

A title

A real title that fits the song — not "Untitled Track 4."

{ "idea": "late-night drive anthem about leaving a small town", "genre": "indie rock" }REAL · UNEDITED OUTPUT

Title

Odometer Gospel

Style prompt

indie rock, driving electric guitar with reverb, steady kick-snare drum kit, weathered male baritone, cinematic late-night tension, sparse tremolo swells, restless open-road atmosphere

Lyrics

[Verse 1] Left the porch light burning like a debt I won't repay Mom's wind chimes still talking to a yard that's gone to gray I know every pothole by its first and middle name [Verse 2] The water tower got my class year and a crown Seventeen coats of paint can't hold a dead king down

Why it's the best

It's not a model wrapper. It's a producer.

Anyone can send a prompt to a language model and get back something that rhymes. That's not what this is. Every generation runs through a tuned, multi-stage pipeline — it drafts several takes, critiques them against what actually makes a song land, and produces a final the way a real session would. The result is the difference between "an AI wrote this" and "this is good."

best-of-N

It writes several, then picks

A single take is a coin flip. The engine generates multiple drafts and selects the strongest — reliability of quality per call, not luck.

critic

It judges its own work

A critic stage measures each draft against real songcraft — hook strength, coherence, the AI-tell — and refines before it ever reaches you.

tuned

Style prompts that actually render

Years of tested knowledge about how to phrase a sonic brief so a music engine renders it right. That domain expertise is the moat — and you get it in one field.

Who it's for

Human or AI — if it's music, it's for you.

The best songwriting partner shouldn't care how you make the song. It just makes the song better.

AI music appsMake every generation in your product sound produced, not generic. The pre-production layer your Suno/Udio/Riffusion calls are missing.
Songwriters & artistsBeat the blank page. A finished draft and a sonic direction to start from — yours to rewrite, perform, and record.
Producers & studiosTurn a client brief into a lyric + style spec at volume, in seconds, on-brief every time.
Builders & automationsOne clean endpoint. Drop it into a bot, a workflow, a game, a pipeline — wherever a song needs to exist.
Quickstart

From idea to song in three steps.

Async by design — a great song takes a moment to write. Fire a request, get a job, receive the result by webhook or poll.

quickstart.sh
# 1 — create a generation (returns immediately)
POST /v1/generations  →  202 { "id": "gen_8f2…", "status": "queued" }

# 2 — poll, or set a webhook, or long-poll with ?wait=60
GET /v1/generations/gen_8f2…  →  { "status": "completed", "output": { … } }

# 3 — use it. title + lyrics + style_prompt, ready to paste anywhere.
Pricing

Simple, usage-based, honest.

You pay per finished song. No subscription to start, no minimums, no charge when a generation fails.

Prepaid · 1 credit = 1 finished song

$0.99 / generation

Buy credits up front. Volume pricing kicks in automatically as you scale — down to $0.69.

  • $0.99 / generation — standard
  • $0.79 / generation — 1,000+ credits prepaid
  • $0.69 / generation — 10,000+ credits prepaid
  • Free sandbox — build and test against sample responses, no charge
  • Prepaid — when credits run out, calls pause until you top up. No surprise bills, no charge on failed generations.

Get started in two minutes

Sign in with your email, generate a key, and prepay for credits — all self-serve. Build against the free sandbox before you spend a cent.

Open the console → Read the docs

The best lyricist in the world doesn't get tired.

Put it in your product, your studio, your workflow. One call away.