Tunova

Switch from sunoapi.org / Kie.ai to Tunova in 5 minutes

Updated 2026-07-10

sunoapi.org and Kie.ai expose the same Suno API surface — same endpoint shape, same customMode/callBackUrl fields, same taskId flow — so this one guide covers a migration from either. The move to Tunova is deliberately small: both are async APIs, and the whole core is two calls. What changes is the billing contract — Tunova bills only when a render actually delivers; a failed generation auto-refunds instead of quietly consuming credits.

Why developers switch

  • Billing you can audit. Per-attempt credits make failures invisible line items. On Tunova every charge and every auto-refund is its own ledger entry — the pricing is the guarantee. (As of July 2026 Kie.ai’s Trustpilot sits at 2.5/5 on a small sample of ~10 reviews, several from paying customers reporting expired credits and refused refunds — small-n, dated, verify yourself; but with auto-refunds the question doesn’t arise.)
  • Verified webhooks. callBackUrl is a plain POST anyone can forge; Tunova signs every callback (HMAC-SHA256 over <timestamp>.<body>) — verification recipe here.
  • Agent-native. A hosted MCP server, OpenAPI 3.1, and llms.txt — an AI agent adopts Tunova in one tool call with the same key.
  • Suno-only continuity. Generalist hubs can (and do — PiAPI did) drop Suno as a product decision. Tunova can’t: it’s the only product.

Endpoint mapping

sunoapi.org / Kie.aiTunova
Authorization: Bearer <key>X-API-Key: sk_live_…
POST /api/v1/generate with customMode: false{prompt}POST /api/generate{prompt, model?, make_instrumental?, callback_url?}202 {job_id}
POST /api/v1/generate with customMode: true{prompt: lyrics, style, title}POST /api/custom_generate{prompt: lyrics, tags, title, …}
instrumental: truemake_instrumental: true
model: "V5_5"model: "v5.5"
callBackUrl (unsigned POST)callback_url → HMAC-signed webhook (X-Webhook-Signature)
GET /api/v1/generate/record-info?taskId=…GET /api/jobs/{id}{status, clips:[{audio_url, duration}]}
lyrics endpointPOST /api/lyrics{prompt} (2 tokens)
credits endpointGET /api/me{token_balance, song_cost, lyrics_cost}
extend / stems / covers / vocal-removalnot supported yet — keep your current provider for those calls; route plain generation through Tunova

Before / after

# BEFORE — sunoapi.org / Kie.ai: one endpoint, mode flags, taskId polling curl https://api.sunoapi.org/api/v1/generate \ -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \ -d '{"customMode":false,"instrumental":false,"model":"V5_5","prompt":"calm rainy-night lofi","callBackUrl":"https://you.app/hook"}' # → {"code":200,"data":{"taskId":"…"}} — then poll record-info?taskId=… # AFTER — Tunova: same async shape, cleaner calls. 202 + job_id; 10 tokens, billed on success. curl https://api.tunova.ai/api/generate \ -H "X-API-Key: $TUNOVA_API_KEY" -H "Content-Type: application/json" \ -d '{"prompt":"calm rainy-night lofi","callback_url":"https://you.app/hooks/tunova"}' # → {"job_id":"8f3a…","status":"queued","status_url":"/api/jobs/8f3a…"} # poll (was: GET /api/v1/generate/record-info?taskId=…) — or rely on the signed webhook above. curl https://api.tunova.ai/api/jobs/8f3a… -H "X-API-Key: $TUNOVA_API_KEY" # → {"status":"complete","clips":[{"audio_url":"https://…mp3","duration":187.4}]} # a failed render auto-refunds the 10 tokens — you never pay for it.

Retried submits are safe too: send an Idempotency-Key and a network flake returns the same job instead of a double charge. Prefer a higher-level call? The zero-dependency Python & Node SDKs wrap submit → wait → audio URL (and verify the webhook) in one function.

Port it in one sitting

Every account starts with 50 free tokens, no card (≈ 5 songs) — port the two calls, smoke-test, then decide. Top-ups are crypto; tokens never expire. Models v5.5. See the quickstart (cURL / Python / Node / MCP), or grab a key.

FAQ

Is sunoapi.org the same as Kie.ai?

They expose the same API surface — the same POST /api/v1/generate endpoint shape, the same customMode/callBackUrl fields, the same taskId flow — and third-party integrations (like the official Make.com Suno module) authenticate against sunoapi.org while carrying Kie branding. Practically, one migration guide covers both.

Is sunoapi.org safe to use?

It's an established service with real volume, and many integrations run on it. At the same time, developer communities keep asking exactly this question — an n8n forum thread on it closed unresolved — and its Trustpilot (2.5/5 as of July 2026, small sample of ~10 reviews) includes paying customers reporting expired credits and refused refunds. Whatever provider you choose, prefer one with billed-on-success pricing and a public status page, so you don't have to take reliability on faith.

How hard is the migration to Tunova?

Small. Both APIs are async task/job APIs: you swap the base URL, change Authorization: Bearer to an X-API-Key header, map generate → /api/generate (or /api/custom_generate for custom-mode lyrics), and poll /api/jobs/{id} instead of record-info?taskId=. Most integrations move in well under an hour; the two-call core moves in 5 minutes.

What's different about billing?

Credit APIs charge per generation attempt. Tunova bills in tokens on success only — a failed render is automatically refunded to your balance as its own ledger line. Batch pipelines feel this most: one failure out of twenty no longer silently taxes the run.

Does Tunova support extend, stems, covers, or vocal removal?

Not yet — Tunova covers the core generate paths (prompt mode, custom-lyrics mode, standalone lyrics). If you depend on audio extension, stem separation, or covers, keep your current provider for those calls and route plain generation through Tunova — mixing providers per-endpoint is normal.

Do the webhooks work the same way?

Same idea, better verification: instead of a plain callBackUrl POST, Tunova signs every webhook with HMAC-SHA256 over <timestamp>.<body> (X-Webhook-Signature), so your handler can reject forgeries. Or skip callbacks entirely and poll GET /api/jobs/{id}.

Related guides

Tunova is an independent service, not affiliated with or endorsed by Suno, sunoapi.org, or Kie.ai. Details about other providers reflect their public pages as of July 2026 and can change — verify before deciding. Trademarks belong to their respective owners.