Picsart API Platform
← All models

MiniMax Music v3

MiniMax · Audio · Music

Text-to-music with vocals or instrumentals from a style prompt and optional lyrics, with configurable audio encoding.

Model ID: minimax-music-v3Workflow: minimax-music/v3
MusicVocals
Try on Playground ↗

Authentication

Send your Picsart API key as a bearer token on every request.

Header
Authorization: Bearer <PICSART_API_KEY>

Make a request

One endpoint serves every model: POST to /workflows/v1/models/execute with the model id and its input in the body. The nesting is deliberate — the outer paramsis the envelope every workflow takes, and the inner one is this model's own input. Those inner names are the same unified ones the SDK takes, so a call translates one-to-one between the two — no per-vendor naming to learn.

cURL
curl -X POST 'https://api.picsart.com/workflows/v1/models/execute' \
  -H 'Authorization: Bearer $PICSART_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "params": {
    "model": "minimax-music-v3",
    "params": {
      "prompt": "A serene mountain lake at golden hour, ultra detailed"
    }
  }
}'

Async (submit & poll)

This model can run longer than the sync limit (~20s), so send it to /workflows/v1/models/submit, which returns a task id, and poll /workflows/v1/models/{taskId}/result until response.status is COMPLETED or FAILED.

cURL
# 1. Submit the job
curl -X POST 'https://api.picsart.com/workflows/v1/models/submit' \
  -H 'Authorization: Bearer $PICSART_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "params": {
    "model": "minimax-music-v3",
    "params": {
      "prompt": "A serene mountain lake at golden hour, ultra detailed"
    }
  }
}'
# → { "status": "success", "response": { "id": "task_abc123" } }

# 2. Poll until response.status is COMPLETED
curl 'https://api.picsart.com/workflows/v1/models/task_abc123/result' \
  -H 'Authorization: Bearer $PICSART_API_KEY'
Result body
{
  "status": "success",
  "response": {
    "id": "task_abc123",
    "status": "COMPLETED",
    "result": {
      "url": "https://cdn.picsart.com/…/result",
      "items": [
        {
          "url": "https://cdn.picsart.com/…/result"
        }
      ],
      "model": "minimax-music-v3"
    }
  }
}

Parameters

7 parameters, sent inside the inner paramsobject. Identical to the SDK's — one parameter set, whichever transport you use.

ParameterTypeRequiredDefaultDetails
prompt
Prompt
textyesmax 2000 chars · e.g. "Describe the genre, mood, instruments, tempo, and production style..."
lyricsPrompt
Lyrics
textnomax 2000 chars · e.g. "Write lyrics; \n separates lines, [Intro]/[Verse]/[Chorus] tags supported. Optional for instrumental or optimizer-generated lyrics."
lyricsOptimizer
Lyrics Optimizer
booleannofalse
isInstrumental
Instrumental
booleannofalse
sampleRate
Sample Rate
enumno4410016000, 24000, 32000, 44100
bitrate
Bitrate
enumno25600032000, 64000, 128000, 256000
format
Format
enumnomp3mp3, wav, pcm

Response

The body arrives in the gateway's status envelope, so the output is at response.result — alongside the task id, its status and the credits charged. Asset models return url plus an items array; text models return text instead.

Response body
{
  "status": "success",
  "response": {
    "id": "task_abc123",
    "status": "COMPLETED",
    "result": {
      "url": "https://cdn.picsart.com/…/result",
      "items": [
        {
          "url": "https://cdn.picsart.com/…/result"
        }
      ],
      "model": "minimax-music-v3"
    }
  }
}