AAibra API

Suno AI Music API

Aibra API Documentation

Production documentation for the Aibra-compatible music API. Use it to generate songs, poll task status, create personas and custom voices, separate stems, and receive callbacks.

Documentation Index

Fetch the machine-readable index at https://docs.aibra.net/llms.txt.

Quick Start

Send authenticated requests to the production API base URL. Generation endpoints return a task id immediately; use polling or callbacks to receive final media URLs.

curl -sS https://api.aibra.net/api/v1/generate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "customMode": false,
    "instrumental": false,
    "model": "v4.5-all",
    "prompt": "A calm cinematic piano track"
  }'

Implemented Methods

Active methods are shown with a method badge. Items grayed out in the navigation match the broader public API catalog but are not implemented in this deployment yet.

POSTGenerate Music

Generate Suno AI Music

/api/v1/generate

Creates a queued music generation task and returns a taskId immediately.

Request

{
  "customMode": true,
  "instrumental": false,
  "model": "v4.5-all",
  "prompt": "Song lyrics",
  "style": "rock, male vocal",
  "title": "My Song",
  "callBackUrl": "https://example.com/api/aibra/callback"
}

Response

{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "song-1779890000000-a1b2c3d4"
  }
}
  • Use customMode for full control over lyrics, style, title, and model.
  • Supported model labels include v5.5, v5, v4.5+, v4.5, v4.5-all, and v4.
  • For custom voices, pass personaModel: "voice_persona" and the voiceId returned by the voice flow.
GETGenerate Music

Get Music Generation Details

/api/v1/generate/record-info?taskId={taskId}

Polls a queued generation or replace-section task until it reaches a terminal status.

Response

{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "song-1779890000000-a1b2c3d4",
    "status": "SUCCESS",
    "response": {
      "sunoData": []
    }
  }
}
  • Terminal statuses include SUCCESS, CREATE_TASK_FAILED, GENERATE_AUDIO_FAILED, and CALLBACK_EXCEPTION.
  • The response includes snake_case media URLs plus camelCase aliases for existing integrations.
POSTGenerate Music

Replace Music Section

/api/v1/generate/replace-section

Creates a queued task that replaces a selected section of an existing generated clip.

Request

{
  "taskId": "song-1779890000000-a1b2c3d4",
  "audioId": "clip-id",
  "prompt": "Replacement lyrics or section prompt",
  "tags": "rock, male vocal",
  "title": "My Song",
  "fullLyrics": "Full updated lyrics",
  "infillStartS": 10.5,
  "infillEndS": 20.75,
  "callBackUrl": "https://example.com/api/aibra/callback"
}

Response

{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "replace-1779890000000-a1b2c3d4"
  }
}
  • The replacement window must be between 6 and 60 seconds.
  • Poll the same record-info endpoint used for music generation.
POSTGenerate Music

Generate Persona

/api/v1/generate/generate-persona

Creates a reusable style persona from an existing generated clip.

Request

{
  "taskId": "song-1779890000000-a1b2c3d4",
  "audioId": "clip-id",
  "name": "Electronic Pop Singer",
  "description": "Modern electronic pop voice",
  "vocalStart": 0,
  "vocalEnd": 30,
  "style": "Electronic Pop"
}

Response

{
  "code": 200,
  "msg": "success",
  "data": {
    "personaId": "persona-id",
    "name": "Electronic Pop Singer"
  }
}
  • Use the returned personaId in the music generation endpoint.
  • Persona creation is recorded in the operator statistics view.
POSTSuno Voice

Generate Verification Phrase

/api/v1/voice/validate

Starts the custom voice validation flow from a source voice recording.

Request

{
  "voiceUrl": "https://example.com/source-voice.mp3",
  "vocalStart": 0,
  "vocalEnd": 30,
  "language": "en",
  "callBackUrl": "https://example.com/api/aibra/callback"
}

Response

{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "voice-validate-1779890000000-a1b2c3d4"
  }
}
  • The task finishes with validateInfo containing the phrase to record.
  • Use validate-info to poll or receive the same information by callback.
GETSuno Voice

Get Verification Phrase

/api/v1/voice/validate-info?taskId={taskId}

Returns the validation phrase task state and phrase details.

Response

{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "voice-validate-1779890000000-a1b2c3d4",
    "status": "wait_validating",
    "validateInfo": {
      "phrase": "..."
    }
  }
}
  • Use the phrase from validateInfo to create the verification recording.
  • Regenerated phrases are also read through this endpoint.
POSTSuno Voice

Regenerate Verification Phrase

/api/v1/voice/regenerate

Requests a new validation phrase for an existing validation task.

Request

{
  "taskId": "voice-validate-1779890000000-a1b2c3d4",
  "callBackUrl": "https://example.com/api/aibra/callback"
}

Response

{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "voice-validate-1779890000000-d4c3b2a1"
  }
}
  • The adapter accepts callBackUrl, callbackUrl, callback_url, and calBackUrl.
  • Poll the new task id with validate-info.
POSTSuno Voice

Create Custom Voice

/api/v1/voice/generate

Verifies the recorded phrase and creates a reusable custom voice.

Request

{
  "taskId": "voice-validate-1779890000000-a1b2c3d4",
  "verifyUrl": "https://example.com/verification.mp3",
  "voiceName": "Studio Voice",
  "singerSkillLevel": "professional",
  "callBackUrl": "https://example.com/api/aibra/callback"
}

Response

{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "voice-generate-1779890000000-a1b2c3d4"
  }
}
  • Use voice record-info to get the final voiceId.
  • Use the voiceId as personaId with personaModel: "voice_persona" in music generation.
GETSuno Voice

Get Custom Voice Record

/api/v1/voice/record-info?taskId={taskId}

Returns the custom voice generation task status and final voiceId.

Response

{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "voice-generate-1779890000000-a1b2c3d4",
    "status": "SUCCESS",
    "voiceId": "voice-persona-id"
  }
}
  • The endpoint can be used after callback delivery as a source of truth.
  • A completed voice can be checked with the availability endpoint.
POSTSuno Voice

Check Availability

/api/v1/voice/check-voice

Checks whether a custom voice task or voice id is available locally.

Request

{
  "voiceId": "voice-persona-id"
}

Response

{
  "code": 200,
  "msg": "success",
  "data": {
    "available": true
  }
}
  • The request can use voiceId, voice_id, taskId, or task_id.
  • Availability is true after a local custom voice task completes successfully.
POSTVocal Removal

Vocal & Instrument Stem Separation

/api/v1/vocal-removal/generate

Creates a queued task that separates vocals and instrumental stems.

Request

{
  "taskId": "song-1779890000000-a1b2c3d4",
  "audioId": "clip-id",
  "type": "separate_vocal",
  "callBackUrl": "https://example.com/api/aibra/callback"
}

Response

{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "vocal-removal-1779890000000-a1b2c3d4"
  }
}
  • The source taskId and audioId are kept for traceability.
  • Completion returns direct vocalUrl and instrumentalUrl aliases.
GETVocal Removal

Get Audio Separation Details

/api/v1/vocal-removal/record-info?taskId={taskId}

Returns the stem separation task status and output URLs.

Response

{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "vocal-removal-1779890000000-a1b2c3d4",
    "status": "SUCCESS",
    "vocalUrl": "https://...",
    "instrumentalUrl": "https://..."
  }
}
  • Use this endpoint to reconcile callback delivery failures.
  • The response includes a vocal_removal_info object for clients that expect it.
GETAccount Management

Get Remaining Credits

/api/get_limit

Returns the current account credit and usage limit information from the Suno account behind this deployment.

Response

{
  "credits_left": 100,
  "period": "monthly"
}
  • This deployment exposes the limit check through the local compatibility service.
  • The exact fields are passed through from the upstream Suno account response.

Callback Integration

Queued endpoints accept callBackUrl. The service sends callbacks with a 15 second timeout and up to three delivery attempts. Music callbacks include media URLs, model name, creation time, task id, and status fields.

{
  "code": 200,
  "msg": "success",
  "data": {
    "callbackType": "complete",
    "task_id": "song-1779890000000-a1b2c3d4",
    "data": [
      {
        "id": "clip-id",
        "audio_url": "https://...",
        "image_url": "https://...",
        "model_name": "chirp-auk"
      }
    ]
  }
}

AI Model Versions

v5.5

Voice-customized model for accounts with access.

v5

Current high quality model for advanced generation.

v4.5+

Richer tones and stronger prompt following.

v4.5

Balanced model for longer structured tracks.

v4.5-all

Default free model label in the current UI.

v4

Stable model with improved vocal quality.

API Base URL

https://api.aibra.net

Authentication

Protected endpoints require a bearer token in the Authorization header.

Authorization: Bearer YOUR_API_KEY