API Reference

Suno Upload & Extend

Suno Upload & Extend: suno/upload-extend.

POST https://api.tu-zi.com/suno/v2/upload-extend
Preview guide

Paste into an AI assistant to help with integration. Documentation and examples only; no real credentials.

Preview guide

Suno Upload & Extend

Updated · Reviewed

Endpoint and authentication

POST https://api.tu-zi.com/suno/v2/upload-extend

Transport: json

Use an inference API key. Examples contain placeholders; read credentials from environment variables.

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Minimal request example

{
  "mv": "chirp-v6",
  "audio_url": "https://example.com/audio.mp3",
  "continue_at": 120
}

Before running

Replace https://api.tu-zi.com with this site origin (do not append /v1 twice), and YOUR_MODEL with the exact marketplace model ID. Install requests for Python; use Node.js 20+ and save JavaScript as .mjs. WebSocket samples list their own dependencies.

Create an inference key on the site and set API_KEY in the environment; replace YOUR_API_KEY in cURL. Prepare local input.png/input.wav files for upload examples.

Start with a minimal request, then read the result using the response fields below. For async APIs, a returned task ID requires polling; acceptance does not mean generation has finished.

Constraints

Model suno/upload-extend is selected by the action route, so the body does not need model. Resource IDs must belong to this account and be created through the gateway; do not use upstream internal IDs.

Body parameters

FieldTypeRequiredDescription / constraints
mvstringNoAll three versions are priced the same; pick by the style you want. Form initial value (not an upstream default): "chirp-v6" Values: "chirp-v6", "chirp-v6-wild", "chirp-v6-mini" Example: chirp-v6
promptstringNoFull lyrics, up to 5000 characters. Use markers like [Verse] and [Chorus] to shape the structure.
titlestringNoTrack title, up to 80 characters.
tagsstringNoThe style you want, e.g. 'lo-fi piano, mellow, rain'. Up to 1000 characters.
negative_tagsstringNoStyles to steer away from.
style_weightnumberNo0 to 1. Higher sticks closer to your style tags; lower leaves more room to improvise.
weirdness_constraintnumberNo0 to 1. Higher yields more unexpected results; lower stays conventional.
audio_weightnumberNo0 to 1. How strongly the reference audio shapes the result.
durationintegerNoLength of the result in seconds, between 10 and 360.
auto_lyricsbooleanNoRewrites your lyrics to sing better. Custom mode only. Form initial value (not an upstream default): false
vocal_genderstringNoVoice gender of the singer. Values: "Male", "Female"
persona_idstringNoSing with a voice you created earlier. Custom mode only.
model_idstringNoGenerate with a model you trained. Use the model_id from a create-model result. Cannot be combined with persona_id.
varietystringNoHow far the result may drift from the style you specified. Values: "off", "normal", "high", "extra", "max"
max_modebooleanNoSpend more compute to keep the whole song coherent. Custom mode only; doubles the price. Form initial value (not an upstream default): false
audio_formatstringNoFormat of the finished audio. Defaults to mp3. Values: "mp3", "m4a", "wav"
audio_urlstringYesA publicly downloadable audio URL. Eight minutes or less recommended. MP3, WAV, or M4A. Example: https://example.com/audio.mp3
continue_atnumberYesThe second in the original track to continue from. Example: 120

Response fields

FieldTypeDescription / constraints
codestringSubmission result code.
data.task_idstringPublic gateway task ID.

Illustrative response; some endpoints show essential fields only. Optional fields may be absent.

{
  "code": "success",
  "data": {
    "task_id": "task_example"
  }
}

Asynchronous workflow

Save the public task ID and GET /suno/v2/fetch/{task_id} with the same key. Handle gateway states; SUCCESS and FAILURE are terminal. Read music, lyrics, download links or resource IDs according to the action.

Errors and retries

Check HTTP status and protocol-specific errors; do not mix error formats across protocols. For 401/403 check credentials and permissions, for 429 back off, and for 5xx check gateway/upstream status. Error bodies may contain error/message/code depending on the protocol.

Use bounded exponential backoff for reads. Do not blindly retry task creation, generation, or key mutations, to avoid duplicate billing or execution.