KIE.AI
English
  • English
  • Chinese
English
  • English
  • Chinese
Support
English
  • English
  • Chinese
MarketVeo3.1 APISuno API
4o Image APIFlux Kontext APIRunway APILuma APIFile Upload APICommon API
MarketVeo3.1 APISuno API
4o Image APIFlux Kontext APIRunway APILuma APIFile Upload APICommon API
  1. Music Generation
  • Suno API Quickstart
  • Music Generation
    • Music Generation Callbacks
    • Music Extension Callbacks
    • Audio Upload and Cover Callbacks
    • Audio Upload and Extension Callbacks
    • Add Instrumental Callbacks
    • Add Vocals Callbacks
    • Music Cover Generation Callbacks
    • Replace Music Section Callbacks
    • Generate Music
      POST
    • Extend Music
      POST
    • Upload And Cover Audio
      POST
    • Upload And Extend Audio
      POST
    • Add Instrumental to Music
      POST
    • Add Vocals to Music
      POST
    • Get Music Task Details
      GET
    • Get Timestamped Lyrics
      POST
    • Boost Music Style
      POST
    • Create Suno Cover Task
      POST
    • Get Cover Generation Details
      GET
    • Replace Music Section
      POST
    • Generate Persona
      POST
  • Lyrics Generation
    • Lyrics Generation Callbacks
    • Generate Lyrics
      POST
    • Get Lyrics Task Details
      GET
  • WAV Conversion
    • Convert to WAV Callbacks
    • Convert to WAV Format
      POST
    • Get WAV Conversion Details
      GET
  • Vocal Removal
    • Audio Separation Callbacks
    • MIDI Generation Callbacks
    • Separate Vocals from Music
    • Get Vocal Separation Details
    • Generate MIDI from Audio
    • Get MIDI Generation Details
  • Music Video Generation
    • Music Video Generation Callbacks
    • Create Music Video
    • Get Music Video Details
English
  • English
  • Chinese
Support
English
  • English
  • Chinese
MarketVeo3.1 APISuno API
4o Image APIFlux Kontext APIRunway APILuma APIFile Upload APICommon API
MarketVeo3.1 APISuno API
4o Image APIFlux Kontext APIRunway APILuma APIFile Upload APICommon API
  1. Music Generation

Replace Music Section Callbacks

Understand the callback mechanism for replace music section tasks.
When you submit a replace music section task to the API, you can provide a callBackUrl to receive real-time notifications about task progress and completion.

Callback Mechanism#

Webhook Security
To ensure the authenticity and integrity of callback requests, we strongly recommend implementing webhook signature verification. See our Webhook Verification Guide for detailed implementation steps.

When Callbacks Are Sent#

The system sends callbacks at the following times:
Complete: When the replacement task is fully completed

Callback Method#

HTTP Method: POST
Content-Type: application/json
Timeout: 10 seconds
Retry Policy: Up to 3 attempts with exponential backoff

Request Format#

Success Callback#

When the replacement task completes successfully:
{
  "code": 200,
  "msg": "All generated successfully.",
  "data": {
    "callbackType": "complete",
    "task_id": "2fac****9f72",
    "data": [
      {
        "id": "e231****-****-****-****-****8cadc7dc",
        "audio_url": "https://example.cn/****.mp3",
        "stream_audio_url": "https://example.cn/****",
        "image_url": "https://example.cn/****.jpeg",
        "prompt": "A calm and relaxing piano track.",
        "model_name": "chirp-v3-5",
        "title": "Relaxing Piano",
        "tags": "Jazz",
        "createTime": "2025-01-01 00:00:00",
        "duration": 198.44
      }
    ]
  }
}

Failure Callback#

When the replacement task fails:
{
  "code": 501,
  "msg": "Audio generation failed.",
  "data": {
    "callbackType": "error",
    "task_id": "2fac****9f72",
    "error": "Generation failed due to technical issues"
  }
}

Status Codes#

CodeDescription
200Success - Task completed successfully
400Validation error - Parameter validation failed
408Timeout - Request timeout
500Server error - Unexpected error occurred
501Audio generation failed
531Server error - Generation failed, credits refunded

Response Fields#

Success Response Fields#

code (integer, required) — Status code indicating the result of the replacement task
msg (string, required) — Status message describing the result
data (object, required) — Container for callback data
callbackType (string, required) — Type of callback: complete or error
task_id (string, required) — The task ID for the replacement request
data (array) — Array of replaced music data (only present on success)
id (string) — Unique identifier for the music segment
audio_url (string) — Direct URL to the audio file
stream_audio_url (string) — Streaming URL for the audio
image_url (string) — URL to the cover image
prompt (string) — The prompt used for generating the replacement
model_name (string) — Name of the AI model used
title (string) — Title of the music
tags (string) — Style tags for the music
createTime (string) — Creation timestamp
duration (number) — Duration of the audio in seconds

Implementation Examples#

Node.js (Express)
Python (Flask)
PHP

Callback Security#

Verification Recommendations#

1.
IP Whitelist: Restrict callback endpoints to known IP addresses
2.
HTTPS Only: Always use HTTPS for callback URLs in production
3.
Request Validation: Validate the structure and content of callback requests
4.
Timeout Handling: Implement proper timeout handling for callback processing

Example Security Implementation#

Troubleshooting#

Common Issues#

Q: Callbacks are not being received
Verify your callback URL is publicly accessible
Check that your server is responding within 10 seconds
Ensure your endpoint accepts POST requests with JSON content
Q: Receiving duplicate callbacks
This can happen due to network issues or timeouts
Implement idempotency using the task_id to handle duplicates
Q: Callback data is missing or incomplete
Check the callbackType field to understand the callback stage
For error callbacks, check the error message for details
Q: How to handle callback failures?
Always return a 200 status code to acknowledge receipt
Use the Get Music Details endpoint to poll task status as a fallback

Best Practices#

1.
Always Acknowledge: Return HTTP 200 even if your processing fails
2.
Implement Retry Logic: Handle temporary failures gracefully
3.
Log Everything: Keep detailed logs for debugging
4.
Use Fallback Polling: Don't rely solely on callbacks for critical workflows
5.
Validate Data: Always validate callback data before processing
Previous
Music Cover Generation Callbacks
Next
Generate Music
Built with