# Mureka | Generate Song Mureka Generate Song is a full music generation model that creates complete songs from prompts, lyrics, or structured inputs. ## API Information - **Model Slug:** mureka-generate-song - **Branded URL:** https://www.eachlabs.ai/mureka/mureka/mureka-generate-song - **Provider:** Mureka - **Category:** AI Models - **Output Type:** object - **Status:** active - **Version:** 0.0.1 - **Base Cost:** Unknown / missing provider model: conservative 0.05 per song - **Estimated Processing Time:** 60 seconds - **Last Updated:** 2026-08-16 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/mureka-generate-song ## Pricing - **Charge Type:** dynamic - **Estimated Price (default example):** $0.0500 - **Pricing Details:** Unknown / missing provider model: conservative 0.05 per song ### Pricing Rules | Condition | Pricing | | --- | --- | | output.model eq_i "mureka-o2" | mureka-o2: 0.05 per song | | output.model in_i "mureka-7.5,mureka-7.6" | mureka-7.6 (and 7.5 which is remapped to 7.6): 0.036 per song | | output.model in_i "mureka-8,mureka-9,mureka-9.5" | mureka-8 / mureka-9 / mureka-9.5: 0.045 per song | | Default (fallback) | Unknown / missing provider model: conservative 0.05 per song | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | lyrics | string | Yes | - | - | - | | model | string | No | auto | auto,mureka-7.5,mureka-7.6,mureka-o2,mureka-8 | - | | n | integer | No | 2 | 1–3 | n integer Defaults to 2, maximum 3. How many songs to generate for each request. Note that you will be charged based on the number of songs. | | prompt | string | No | - | - | - | | reference_id | string | No | - | - | Control music generation by referencing music, generated through the files/upload API (for reference purpose). Besides individual control, it also supports combination with other options: reference_id + vocal_id. | | vocal_id | string | No | - | - | Control music generation by any voice you like, generated through the files/upload API (for vocal purpose). Besides individual control, it also supports combination with other options: vocal_id + reference_id, vocal_id + prompt. | | melody_id | string | No | - | - | Control music generation by melody idea, generated through the files/upload API (for melody purpose). Besides individual control, this option does not support combination with other control options. | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "mureka-generate-song", "input": { "lyrics": "[verse 1]\nWhere ideas spark and the future begins,\nEachlabs is the place where creation wins.\nFrom text to image, from sound to light,\nWe turn imagination into something bright.\n\n[chorus]\nEachlabs, the power, the speed, the way,\nFrom a single thought to a product in a day.\nBuild it, shape it, let it rise,\nBring your vision to life before your eyes.\n\n[verse 2]\nModels in motion, connected as one,\nAPIs flowing till the work is done.\nCreators and builders, side by side,\nTurning bold dreams into tools with pride." } }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "object", "metrics": { "predict_time": "number (seconds)" } } ``` ## Polling ```bash curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \ -H "Authorization: Bearer YOUR_API_KEY" ``` | Status | Meaning | |--------|---------| | `processing` | Still running — poll again | | `success` | Done — read `output` | | `error` | Failed — read `message` / `details` | ## Webhook (alternative to polling) Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends: ```json { "exec_id": "prediction-uuid", "status": "succeeded", "output": "https://...", "error": "" } ``` `status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds. ## Errors Error body: `{ "status": "error", "message": "...", "details": "..." }` | Code | Meaning | |------|---------| | `400` | Invalid input | | `401` | Missing / invalid `Authorization` bearer token | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **mureka-generate-song — Text-to-Audio AI Model** Mureka Generate Song, part of Mureka's advanced mureka family from Kunlun Tech, revolutionizes **AI music generation** by creating complete, professional songs from text prompts, lyrics, or reference tracks, solving the challenge of rapid, high-quality music production without traditional studio resources. This **mureka-generate-song** model stands out with its MusiCoT technology, which employs chain-of-thought reasoning to plan song structures like verses, choruses, and bridges for superior musical coherence. Developers and creators searching for "AI song generator with stems" or "text to music AI model" find mureka-generate-song ideal for generating full tracks up to 240 seconds with vocals, instrumentation, and exportable stems. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `Authorization: Bearer YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys. - File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected. - For structured parameters (arrays / objects) send real JSON values, not stringified payloads. - Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally. - Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.