---
title: "List the clips this deployment already has, so the app can bundle the closed-grammar bank at build time."
method: GET
path: "/v1/voice/bank"
tags: ["voice"]
---

# List the clips this deployment already has, so the app can bundle the closed-grammar bank at build time.

`GET /v1/voice/bank`

## Request

- Base URL: `https://api.mapmap.ai`
- URL: `https://api.mapmap.ai/v1/voice/bank`
- Auth: one of:
  - HTTP bearer
  - API key in query parameter `api_key`

## Query parameters

- `voice` string, nullable
- `format` string, required
- `limit` integer, nullable
- `after` string, nullable

## Response `200`

Cached clips for one voice and format, paged by hash

- BankResponse: The `GET /v1/voice/bank` response.
  - `clips` BankClip[], required: Clips cached for this voice and format, ordered by hash.
    - `bytes` integer, required: File size in bytes, so a bundler can budget the download.
    - `created_at` string, required: When it was synthesised (RFC 3339, UTC).
    - `duration_ms` integer, nullable: Measured duration, read out of the container. Absent when the container stated none.
    - `hash` string, required: Cache key, and the stem of the file to fetch.
    - `rate` number, double, required: Speaking rate it was rendered at.
    - `text` string, required: The normalised text it speaks.
    - `url` string, required: Where to fetch it.
    - `voice` string, required: Registry voice id that speaks it.
  - `format` string, required: The container these clips are in.
  - `next_after` string, nullable: Pass as `after` for the next page; absent on the last page.
  - `total` integer, required: Clips cached in total for this voice and format, across all pages.
  - `voice` VoiceDescriptor, required: A voice as the answer names it.
    - `gender` 'female' | 'male', required: A voice's gender. A locale has at most one default voice per gender.
    - `id` string, required: Registry voice id (`amelia`, `fr-fr-1`, `en-gb-m`).
    - `model` string, required: Synthesis model (`eleven_v3`, `kokoro-82m@<rev>`).
    - `provider` string, required: Synthesis provider (`elevenlabs`, `kokoro`, `supertonic`).

## Other responses

- `400`: Invalid query, or `unknown_voice`
- `401`: Missing or invalid API key
- `403`: Not an operator key: the bank listing is for build-time bundling by the operator
- `501`: Voice clips are not enabled

---

[API](https://skmtc.dev/mapmap/apis/sn-gateway.md) · [All operations](https://skmtc.dev/mapmap/apis/sn-gateway/llms.txt) · [OpenAPI document](https://skmtc.dev/mapmap/apis/sn-gateway/revisions/2293be8b4c38?raw)
