Docs
Open dashboard

List voices

GET/voices

Returns the available voice catalogue in its presentation order. Filter by language, accent, gender, style, or free-text search. Not paywalled — voice browsing is always available.

Requires Authorization: Bearer <api_key>. Create a key in the Inspra dashboard under Workspace Settings → API Keys.

Query parameters

  • pageinteger≥ 1optional
    1-based page index. Defaults to 1.
    Default 1
  • page_sizeinteger1–100optional
    Items per page. Defaults to 20. Hard-capped at 100 by the server.
    Default 20
  • searchstringoptional
    Case-insensitive substring match against the voice's name, its original provider name, its description, its tags and its provider voice id (with or without the fish/ prefix).
  • languagestringoptional
    Filter by language (exact match against language_labels).
  • accentstringoptional
    Filter by accent (exact match against accent_labels).
  • genderstringoptional
    Filter by gender.
    FemaleMaleUnspecified
  • stylestringoptional
    Filter by style (voices whose styles array contains this value).

Response 200 OK

Paginated voice list with available filter options.

  • dataobject[]required
    15 fields
    • idstringrequired
      Runtime voice ID (e.g. fish/abc123). Use this value when setting an agent's voice.
    • providerstringrequired
    • namestringrequired
    • descriptionstringrequired
    • languagestringrequired
    • language_labelsstring[]required
    • accentstringnullableoptional
    • accent_labelsstring[]optional
    • genderstringrequired
      FemaleMaleUnspecified
    • agestringrequired
    • stylesstring[]required
    • tagsstring[]required
    • preview_urlstringnullableoptional
    • avatar_urlstringnullableoptional
    • default_tts_modelstringrequired
  • paginationobjectrequired
    Echoed pagination block on every list response. page and page_size match the request (or the defaults if omitted); total is the count of matching rows across all pages.
    3 fields
    • pageinteger≥ 1required
      1-based page index of this response.
    • page_sizeinteger≥ 1required
      Number of items per page (request cap is 100).
    • totalinteger≥ 0required
      Total matching items across all pages.
  • filtersobjectrequired
    4 fields
    • languagesstring[]required
    • accentsstring[]required
    • gendersstring[]required
    • stylesstring[]required

Errors

  • 400Bad Request
    Validation failed / malformed request.
  • 401Unauthorized
    Missing, malformed, or invalid API key.
  • 403Forbidden
    Workspace unavailable, suspended, or paywalled.
  • 429Too Many Requests
    Workspace request limit exceeded; shared across all its API keys.