Skip to content

50,000 free calls a month, card-free. Get an API key →

Documentation menu
docs / api / post-v1-voice-clips
voice

POST/v1/voice/clips

API key required, sent as Authorization: Bearer snk_… or ?api_key=snk_….

Call it

bash
curl -fsS -X POST "https://api.mapmap.ai/v1/voice/clips" \
  -H "Authorization: Bearer $MAPMAP_KEY" \
  -H "Content-Type: application/json" \
  -d @request.json

Request body

application/json · VoiceClipsRequest

FieldTypeRequiredDescription
formatstringyesContainer: opus (Ogg Opus 48 kHz, for Android) or m4a (MPEG-4 AAC 44.1 kHz, for iOS, which cannot play Ogg Opus).
utterancesUtteranceRequest[]yesThe sentences to speak, at most [MAX_UTTERANCES].
voicestringnoVoice id. Only amelia exists today; sent explicitly so the day a second voice is added, an old client does not silently get it.

Responses

200Clip URLs, cache flags and durations; pending for clips still being synthesised
FieldTypeRequiredDescription
clipsClipAnswer[]yesOne entry per requested utterance, in request order.
voiceVoiceDescriptoryesThe voice, provider and model behind every clip here.
400Invalid request
401Missing or invalid API key
429Quota or rate limit exceeded
501Voice clips are not enabled (SN_VOICE_DIR or SN_ELEVENLABS_API_KEY unset)

Error bodies follow the shared problem model documented on API conventions.

Also under voice

Generated from https://api.mapmap.ai/openapi.json on 2026-09-18 · operationId post_clips