# Mureka | Extend Song Mureka Extend Song is a music generation model that continues an existing audio track beyond its original duration. ## API Information - **Model Slug:** mureka-extend-song - **Branded URL:** https://www.eachlabs.ai/mureka/mureka/mureka-extend-song - **Provider:** Mureka - **Category:** Voice to Voice - **Output Type:** object - **Status:** active - **Version:** 0.0.1 - **Estimated Processing Time:** 100 seconds - **Last Updated:** 2026-04-06 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/mureka-extend-song ## Pricing Pricing information not available. ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | lyrics | string | Yes | - | - | The lyrics to be extended. | | extend_at | integer | Yes | - | - | Extending start time (milliseconds). If greater than song duration, defaults to song duration. Valid range: [8000,420000]. | | upload_audio_id | string | No | - | - | Upload ID of the song to be extended, generated by the files/upload API (purpose: audio). Only supports songs generated within the last month. Mutually exclusive with the song_id parameter. | | song_id | string | No | - | - | Song ID for extending, generated by the song/generate API. Mutually exclusive with the upload_audio_id parameter. | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "mureka-extend-song", "input": { "extend_at": 80000, "lyrics": "In the heart of creation;\nWhere our tears ignite;\nEach step’s a shining;\nTaking brands to new heights;\n\nFrom images to videos;\nThe magic we design;\nTech with the rhythm;\nInnovation on a line;\n\nIt slaps the future, the flow, the vibe;\nTurning every vision into something alive;\nFast, fast, feeling dreams that last;\nWith rhythm and soul;\nWe’re moving so fast, yeah;" } }' ``` ## 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 "X-API-Key: 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 `X-API-Key` | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **mureka-extend-song — Voice-to-Voice AI Model** Mureka Extend Song empowers creators to seamlessly continue existing audio tracks beyond their original length, solving the common challenge of extending music compositions without losing coherence or quality. Developed by Mureka as part of the mureka family, **mureka-extend-song** leverages advanced melody extension capabilities from the MusiCoT framework to maintain musical structure, emotional progression, and vocal consistency in extensions. This voice-to-voice AI model transforms short song clips into full-length tracks, ideal for music producers seeking "AI song extender" solutions that preserve professional sound quality. With Mureka's focus on granular control, **mureka-extend-song** excels in extending melodies while aligning vocals, arrangements, and instrumentation to user prompts, enabling publishable AI music directly from partial inputs. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `X-API-Key: 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.