AI Music API
Home
Home
  1. producer
  • Introduction
  • Credits Usage Guide
  • AI Music API FAQ & Troubleshooting
  • Special Scenarios
  • Error handling
  • Webhook Integration Guide
  • sonic
    • Sonic Instructions
    • create / extend / cover music
      POST
    • upload and extend music
      POST
    • upload and cover music
      POST
    • create persona
      POST
    • sample
      POST
    • mashup
      POST
    • get BPM
      POST
    • get VOX
      POST
    • get wav
      POST
    • get midi
      POST
    • get lyrics timeline
      POST
    • upsample tags
      POST
    • concat music
      POST
    • stems basic
      POST
    • stems full
      POST
    • remaster
      POST
    • replace section
      POST
    • add vocal
      POST
    • add instrumental
      POST
    • upload music
      POST
    • get music
      GET
  • riffusion(Deprecated)
    • Riffusion instructions
    • create music (with lyrics)
    • create music (with description)
    • cover music
    • extend music
    • replace music section
    • swap music sound
    • swap music vocals
    • upload
    • get music
  • producer
    • Producer Instructions
    • Complete Request Example
    • create music
      POST
    • upload
      POST
    • download
      POST
    • get music
      GET
  • nuro
    • Nuro Instruction
    • Error handling
    • create vocal music
    • create instrument music
    • get music
  • lyrics generation
    • Make Lyrics
  • get-credits
    GET
  • Schemas
    • 记录不存在
    • 参数不正确
Home
Home
  1. producer

Producer Instructions

Producer Instructions

Producer API Documentation

Producer API provides advanced AI-powered music generation capabilities through a simple text-to-music interface. Generate, extend, remix, and manipulate audio tracks with professional-grade quality.

Base Path: /api/v1/producer/*


Why Choose Producer API?

Suno v5 Quality at Lightning Speed

Producer API delivers music quality comparable to Suno v5, but with significantly faster generation times:

  • Quality: FUZZ-2.0 model produces studio-grade music that rivals Suno v5 in clarity, dynamics, and musical coherence
  • Speed: Generate tracks in ~30 seconds vs. typical 2-3 minutes with other platforms
  • Cost-Effective: 10 credits per task with consistent pricing across all model versions

Key Features

  • High-Quality Music Generation - Create vocals, instrumentals, and full tracks with studio-quality output matching Suno v5 standards
  • Advanced AI Models - Multiple models including FUZZ-2.0 series and Lyria 3 preview, delivering exceptional quality with superior processing efficiency
  • Ultra-Fast Generation - Generate professional tracks in approximately 30 seconds with FUZZ-2.0 series
  • Multiple Operations - Create, extend, cover, replace, vocal/instrumental swap, and variation support
  • Simple Interface - Intuitive API with just two core parameters: sound and lyrics
  • Webhook Support - Optional webhook notifications for task completion
  • Predictable Pricing - Flat 10 credits per task regardless of operation type or model version

Authentication & Endpoints

Base Configuration

  • Base URL: /api/v1/producer
  • Required Headers:
    • Authorization: Bearer <YOUR_MUSICAPI_KEY>
    • Content-Type: application/json

Available Endpoints

  • Create Task: POST /api/v1/producer/create
  • Query Task: GET /api/v1/producer/task/{task_id}
  • Upload Audio: POST /api/v1/producer/upload
  • Download Audio: POST /api/v1/producer/download

Pricing & Rate Limits

  • Cost: 10 credits per task (create, extend, cover, replace, swap, or variation),
    upload/download cost 2 credits per task.
  • Query Tasks: Free - no credit cost for checking task status
  • Rate Limits: Please implement reasonable polling intervals to avoid excessive requests

Available Models

The mv parameter accepts the following model versions:

ModelAvg. Generation TimeStabilityNotes
FUZZ-2.0 Pro~20-30sStable (occasional retry needed)High quality, recommended
FUZZ-2.0 (Default)<30sVery StableDefault model, best balance
FUZZ-2.0 Raw<30sVery StableRaw/unprocessed output
FUZZ-1.1 Pro30-50sStableEnhanced version of 1.1
FUZZ-1.0 Pro<30sVery StableEnhanced version of 1.0
FUZZ-1.030-50sStablePrevious stable release
FUZZ-1.130-50sOccasional failures, retry recommended
FUZZ-0.830-50sOccasional failures, retry recommendedLegacy model
Lyria 3 preview30-50sOccasional failures, retry recommendedGoogle Lyria 3, preview stage
FUZZ-3-Demo50-80sLow success rate, retry recommendedNewest, demo stage

Sample Outputs

Instrumental (prompt: "A chill lofi hip hop beat with soft piano and vinyl crackle")

ModelSample Audio
FUZZ-2.0 ProListen
FUZZ-2.0Listen
FUZZ-2.0 RawListen
FUZZ-1.1 ProListen
FUZZ-1.0 ProListen
FUZZ-1.0Listen
FUZZ-1.1Listen
FUZZ-0.8Listen
Lyria 3 previewListen
FUZZ-3-DemoListen

Vocal (prompt: "Energetic pop rock with electric guitar and drums", with lyrics)

ModelSample Audio
FUZZ-2.0 ProListen
FUZZ-2.0Listen
FUZZ-2.0 RawListen
FUZZ-1.1 ProListen
FUZZ-1.0 ProListen
FUZZ-1.0Listen
FUZZ-1.1Listen
FUZZ-0.8Listen
Lyria 3 previewListen
FUZZ-3-DemoListen

Test date: 2026-02-23. Generation times are approximate and may vary.


API Parameters

Request Body Schema

ParameterTypeRequiredDescription
task_typestringYesTask type: create_music, extend_music, cover_music, replace_music, swap_music_vocals, swap_music_sound, music_variation
soundstringNo*Audio style prompt describing the desired sound. *Required if lyrics is empty
lyricsstringNo*Song lyrics text. *Required if sound is empty
make_instrumentalbooleanNoGenerate instrumental only (ignores lyrics). Default: false
mvstringNoModel version. See Available Models for full list. Default: FUZZ-2.0
titlestringNoTrack title (max 80 characters)
cover_urlstringNoCustom cover image URL
seedstringNoRandom seed for reproducible generation
lyrics_strengthnumberNoLyrics adherence strength (0-1). Default: 0.5
sound_strengthnumberNoSound prompt strength (0.2-1). Default: 0.5
weirdnessnumberNoCreative variation level (0-1). Default: 0.5
clip_idstringNo**Parent clip ID. **Required for: extend, cover, replace, swap, and variation tasks
starts_atnumberNoStart time in seconds (extend default: 30; replace: start point of replacement)
ends_atnumberNoEnd time in seconds (replace only; omit to replace until end)
cover_strengthnumberNoCover intensity for cover/swap operations (0.2-1)
webhook_urlstringNoHTTPS URL to receive task completion/failure notifications
webhook_secretstringNoSecret for signing webhook payloads (used with webhook_url)

Important: The sound parameter can be used independently to achieve prompt-based generation similar to description/prompt mode.

Critical Parameter Guidelines

The Producer API requires high-quality, meaningful input to ensure successful generation. Please follow these guidelines carefully:

Sound Parameter

  • DO: Provide detailed, descriptive prompts (e.g., "upbeat pop song with electronic synths and catchy melody")
  • DO: Use specific musical terminology (genres, instruments, mood, tempo)
  • DO: Write at least 5-10 words for better results
  • DON'T: Use vague or minimal text (e.g., "music", "song", "test")
  • DON'T: Submit random characters or placeholder text
  • DON'T: Leave it empty unless lyrics are provided

Lyrics Parameter

  • DO: Provide complete, well-structured lyrics with proper formatting
  • DO: Include verse/chorus markers (e.g., "[Verse 1]", "[Chorus]")
  • DO: Write meaningful, coherent lyrics (at least 20-30 words minimum)
  • DON'T: Submit incomplete fragments or single words
  • DON'T: Use nonsensical or random text as lyrics
  • DON'T: Submit test strings like "test", "aaa", "123"

Why This Matters

Due to the advanced nature of our AI models, low-quality or insufficient input may result in task failures. The system expects realistic, production-ready content to generate high-quality music. Random or placeholder content can cause generation errors and waste your credits.

Examples

Good Sound Prompts:

"Energetic rock anthem with distorted electric guitars, driving drums, and powerful vocals"
"Calm ambient meditation music with soft piano, gentle strings, and nature sounds"
"90s hip-hop beat with vinyl scratches, deep bass, and smooth jazz samples"

Good Lyrics:

[Verse 1]
Walking through the city lights
Feeling the rhythm of the night
Every step a new surprise
Under these electric skies

[Chorus]
We're alive, we're free tonight
Dancing till the morning light

Poor Examples (Avoid These):

sound: "music"
sound: "test"
lyrics: "la la la"
lyrics: "test lyrics here"

Usage Examples

1. Create Music (Sound Only)

POST /api/v1/producer/create
Authorization: Bearer <YOUR_KEY>
Content-Type: application/json

{
  "task_type": "create_music",
  "sound": "epic orchestral trailer with powerful choirs and dramatic strings",
  "mv": "FUZZ-2.0"
}

2. Create Music with Lyrics (Lyria 3 preview)

POST /api/v1/producer/create
Authorization: Bearer <YOUR_KEY>
Content-Type: application/json

{
  "task_type": "create_music",
  "sound": "Energetic pop rock with electric guitar",
  "lyrics": "[Verse]\nWalking through the city lights\nFeeling like I own the night\n\n[Chorus]\nWe are unstoppable tonight",
  "mv": "Lyria 3 preview",
  "title": "Unstoppable"
}

3. Extend Music

POST /api/v1/producer/create
Authorization: Bearer <YOUR_KEY>
Content-Type: application/json

{
  "task_type": "extend_music",
  "clip_id": "<previous-clip-id>",
  "sound": "add soaring strings and uplifting orchestral build",
  "starts_at": 45,
  "mv": "FUZZ-2.0"
}

4. Cover Music

POST /api/v1/producer/create
Authorization: Bearer <YOUR_KEY>
Content-Type: application/json

{
  "task_type": "cover_music",
  "clip_id": "<previous-clip-id>",
  "sound": "emotional female ballad with piano accompaniment",
  "lyrics": "[Chorus]\nHold on to me\nThrough the darkest nights",
  "cover_url": "https://example.com/cover.jpg"
}

5. Replace Music Section

POST /api/v1/producer/create
Authorization: Bearer <YOUR_KEY>
Content-Type: application/json

{
  "task_type": "replace_music",
  "clip_id": "<previous-clip-id>",
  "sound": "heavy distorted guitar riff with driving drums",
  "starts_at": 30,
  "ends_at": 45
}

6. Swap Vocals

POST /api/v1/producer/create
Authorization: Bearer <YOUR_KEY>
Content-Type: application/json

{
  "task_type": "swap_music_vocals",
  "clip_id": "<previous-clip-id>",
  "sound": "smooth male pop vocal with subtle autotune effect",
  "lyrics": "[Verse 1]\nYour lyrics here",
  "cover_strength": 0.9
}

7. Swap Instrumentals

POST /api/v1/producer/create
Authorization: Bearer <YOUR_KEY>
Content-Type: application/json

{
  "task_type": "swap_music_sound",
  "clip_id": "<previous-clip-id>",
  "sound": "ambient atmospheric pads with soft piano melodies",
  "lyrics": "[Verse 1]\nYour lyrics here",
  "cover_strength": 0.6
}

8. Create Variation

POST /api/v1/producer/create
Authorization: Bearer <YOUR_KEY>
Content-Type: application/json

{
  "task_type": "music_variation",
  "clip_id": "<previous-clip-id>"
}

9. Create with Webhook

POST /api/v1/producer/create
Authorization: Bearer <YOUR_KEY>
Content-Type: application/json

{
  "task_type": "create_music",
  "sound": "chill lofi hip hop with soft piano and vinyl crackle",
  "make_instrumental": true,
  "mv": "FUZZ-2.0",
  "title": "Late Night Study",
  "webhook_url": "https://your-server.com/webhooks/music",
  "webhook_secret": "your-secret-key"
}

When webhook_url is provided, the API will send a POST request to the URL when the task completes or fails. The webhook payload includes the task result. If webhook_secret is provided, the payload will be signed with HMAC-SHA256 for verification.


Task Query & Response

Query Task Status

GET /api/v1/producer/task/{task_id}
Authorization: Bearer <YOUR_KEY>

Response Examples

Success (200 OK)

{
  "code": 200,
  "data": [
    {
      "clip_id": "abc123",
      "title": "Epic Orchestral Trailer",
      "sound": "epic orchestral trailer with choirs",
      "lyrics": "",
      "image_url": "https://...",
      "audio_url": "https://...",
      "video_url": null,
      "created_at": "2025-10-01T12:00:00Z",
      "mv": "FUZZ-2.0",
      "seed": "3966900172",
      "duration": 30.5,
      "state": "succeeded"
    }
  ],
  "message": "success"
}

Processing (202 Accepted)

{
  "code": 202,
  "type": "not_ready",
  "error": "Task is still processing. Please wait a few seconds and try again."
}

Error (500 Internal Server Error)

{
  "code": 500,
  "error": "Internal Server Error"
}

HTTP Status Codes

CodeStatusDescription
200OKTask completed successfully
202AcceptedTask is still processing, query again later
400Bad RequestInvalid parameters or validation error
401UnauthorizedInvalid or missing API key
403ForbiddenInsufficient credits or permission denied
404Not FoundTask not found
429Too Many RequestsConcurrency limit reached
500Internal Server ErrorServer error occurred

Upload & Download

Upload Audio

Upload your own audio for use with extend, cover, replace, and swap operations (costs 2 credits).

POST /api/v1/producer/upload
Authorization: Bearer <YOUR_KEY>
Content-Type: application/json

{
  "audio_url": "https://example.com/audio/song.mp3"
}

Parameters:

ParameterTypeRequiredDescription
audio_urlstringYesPublic URL of the audio file to upload
webhook_urlstringNoHTTPS URL to receive upload completion notification
webhook_secretstringNoSecret for signing webhook payloads

Response:

{ "message": "success", "task_id": "<uuid>" }

Poll GET /api/v1/producer/task/{task_id} until completion. The result will include clip_id, audio_url, and lyrics.

Use the returned clip_id with task types like extend_music, cover_music, replace_music, swap_music_vocals, or swap_music_sound.

Download MP3/WAV

Export an existing track to MP3 or WAV format (costs 2 credits).

POST /api/v1/producer/download
Authorization: Bearer <YOUR_KEY>
Content-Type: application/json

{
  "clip_id": "370c650a-88cd-4f4b-960d-801e686c8a7a",
  "format": "mp3"
}

Parameters:

ParameterTypeRequiredDescription
clip_idstringYesMusic clip ID to download
formatstringNoDownload format: mp3 or wav. Default: mp3

Response:

{ "message": "success", "task_id": "<uuid>" }

Poll GET /api/v1/producer/task/{task_id} until completion. The result will include audio_url with the download link.


Best Practices

Polling Strategy

  • Recommended interval: Query task status every 5-10 seconds
  • Fast completion: Most tasks complete within 30-60 seconds with FUZZ-2.0 series
  • Timeout: Consider implementing a timeout after 2-3 minutes for optimal UX
  • Error handling: Implement exponential backoff for rate limiting
  • Webhook alternative: Use webhook_url to receive notifications instead of polling

Optimization Tips

  • Production use: FUZZ-2.0 Pro delivers the best balance of quality and speed (recommended)
  • Reproducibility: Use the seed parameter for consistent results during testing and A/B testing
  • Fine-tuning: Adjust sound_strength (0.2-1.0) and lyrics_strength (0-1.0) to control output characteristics
  • Creative control: Use weirdness parameter sparingly (0-1.0) - higher values increase variation but reduce predictability
  • New models: Lyria 3 preview offers Google Lyria 3 quality; FUZZ-3-Demo is newest but still in demo stage
  • Legacy support: Older models (FUZZ-1.1, FUZZ-1.0) available for compatibility but FUZZ-2.0 is faster and higher quality

Model Selection Guide

  • Best quality: FUZZ-2.0 Pro
  • Most stable: FUZZ-2.0, FUZZ-2.0 Raw, FUZZ-1.0 Pro
  • Fastest: FUZZ-2.0 series (<30s)
  • Experimental: FUZZ-3-Demo (newest, low success rate), Lyria 3 preview (Google model)

Performance Advantages

  • Rapid iteration: ~30 second generation time enables real-time creative workflows
  • Batch processing: Process multiple tracks simultaneously without long wait times
  • Production ready: Consistent Suno v5-level quality with enterprise-grade reliability

Credit Management

  • Flat pricing: 10 credits per task across all operations and model versions
  • Upload/Download: 2 credits per task
  • Free queries: Task status checks never consume credits - poll as needed
  • Batch operations: Check credit balance before initiating multiple concurrent tasks
  • Cost predictability: No hidden fees or variable pricing based on output length

Need Help?

join our discord channel : https://discord.gg/UFT2J2XK7d

Modified at 2026-02-25 06:16:39
Previous
get music
Next
Complete Request Example
Built with