# Mureka | Upload File Mureka Upload File is a utility model that uploads audio or data files to the Mureka platform for further processing. ## API Information - **Model Slug:** mureka-upload-file - **Branded URL:** https://www.eachlabs.ai/mureka/mureka/mureka-upload-file - **Provider:** Mureka - **Category:** Utilities - **Output Type:** object - **Status:** active - **Version:** 0.0.1 - **Base Cost:** Nominal charge: Mureka doesn't bill us for uploads; $0.01 covers our bandwidth/storage passthrough - **Estimated Processing Time:** 1 seconds - **Last Updated:** 2026-08-16 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/mureka-upload-file ## Pricing - **Charge Type:** dynamic - **Estimated Price (default example):** $0.0100 - **Pricing Details:** Nominal charge: Mureka doesn't bill us for uploads; $0.01 covers our bandwidth/storage passthrough ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | Nominal charge: Mureka doesn't bill us for uploads; $0.01 covers our bandwidth/storage passthrough | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | purpose | string | Yes | - | reference,vocal,melody,instrumental,voice,audio | The intended purpose of the uploaded file. | | file | string | Yes | - | - | - | ## 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-upload-file", "input": { "purpose": "vocal", "file": "https://storage.googleapis.com/1019uploads/4a781745-9bcb-4497-95d7-bdf7a33964c7.mp3" } }' ``` ## 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-upload-file — Utilities AI Model** Developed by Mureka as part of the mureka family, **mureka-upload-file** is a utilities AI model that enables seamless uploading of audio or data files directly to the Mureka platform, streamlining workflows for music generation and custom model training. This utility solves the key bottleneck in AI music production by allowing users to quickly submit files like WAV, FLAC, MP3, or M4A for processing, whether for reference tracks, melody inputs, or training personalized models with 100-200 songs. Ideal for creators seeking an efficient **Mureka utilities** solution, **mureka-upload-file** supports files up to 240 seconds per track, making it perfect for "AI music file upload" tasks in advertising, film, and gaming scenarios. ## 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.