# Speech & music


# Speech & music

Three audio endpoints:
    Whisper for transcription,
    Piper for text to speech, and
    MiniMax Music 3 for full music tracks. Launch pricing: transcription
    €0.005 / minute, speech €2.95 / 1M characters, music €0.04 / 10 seconds.

## Speech to text

`POST /v1/audio/transcriptions` — model `whisper`.
    A multipart file upload, not JSON:

    curl

```
$ curl https://api.axforge.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $AXFORGE_API_KEY" \
  -F file=@meeting.wav \
  -F model=whisper
```

```
{"text": "Let's move the review to Tuesday morning."}
```

## Text to speech

`POST /v1/audio/speech` — model `piper`. Send the
    text, receive the spoken audio as the response body:

    curl

```
$ curl https://api.axforge.ai/v1/audio/speech \
  -H "Authorization: Bearer $AXFORGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "piper", "input": "Your order has shipped."}' \
  --output speech.wav
```

## Music generation

`POST /v1/audio/music` — MiniMax Music 3, model name
    `minimax-music3`. Describe the music in `prompt`;
    optionally structure lyrics with `[verse]` and
    `[chorus]` tags, or omit `lyrics` entirely for an
    instrumental track.

        | Parameter | Meaning |  |

        | prompt | A musical description: genre, mood, tempo, instrumentation |  |

        | lyrics | Optional. Lyrics with `[verse]` / `[chorus]` tags. Omit for instrumental. |  |

        | duration_s | Track length in seconds, up to 300 |  |

        | seed | Optional. Same seed + same inputs reproduces the track. |  |

    curl

```
$ curl --max-time 300 https://api.axforge.ai/v1/audio/music \
  -H "Authorization: Bearer $AXFORGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "minimax-music3",
    "prompt": "Warm acoustic folk, fingerpicked guitar, 90 bpm, hopeful",
    "lyrics": "[verse]\nMorning light on the harbor line\n[chorus]\nWe sail at dawn",
    "duration_s": 60,
    "seed": 11
  }' | jq -r '.data[0].b64_json' | base64 -d > track.wav
```

The response carries the track in `data[].b64_json` — a WAV
    file, 32 kHz stereo, base64-encoded.

    **Generation takes ~2–3 minutes per track.** Use generous
    client timeouts (the `--max-time 300` above) and async patterns —
    fire the request from a background job, not a user-facing request handler.

Publishing the track? Label it as AI-generated — it was made by
    MiniMax Music 3 — and check your jurisdiction's disclosure rules for
    generated media.

      &larr; Image generation & editing
      Regions & data handling &rarr;



Source: https://axforge.ai/docs/audio/
