Skip to main content
This API is based on the Fish Audio official Model API, and is used to paginate and retrieve the Fish public voice library or cloned voices under the current account. The endpoint is GET https://api.acedata.cloud/fish/model.
To create a voice, please refer to Fish Model Create API; to query details of a single voice by _id, please refer to Fish Model Get API.

Application Process

To use the Fish Model API, first go to the Ace Data Cloud Console to obtain your API Token and keep it for later use. If you have not yet logged in or registered, you will be automatically redirected to the login page and invited to register and log in. After completion, you will automatically return to the current page. One API Token can call all platform services; there is no need to apply separately for each service. Your first application includes free credits for a free trial; when credits are insufficient, you can recharge your general balance in the console.
📘 Full documentation: Fish Model API →

Query Parameters

The parameter names are fully consistent with the upstream GET https://api.fish.audio/model. For details, see the Fish official documentation.

Example 1: Default Pagination (by page_size)

Response (tested; the public library contains approximately 1.8 million entries; some long fields are omitted in the example below for readability):

Example 2: Fuzzy Search by Title (title)

Response (tested):
Note that title is a “global fuzzy match”, which will match all voices in the Fish public library at the same time (not only your own).

Example 3: List Only Voices Created by Yourself (self=true)

Response example:
self=true lists the voices created and saved through this platform by the actual calling account; voices created by the same account using different API Tokens will also be listed together. Results are paginated in reverse chronological order by creation time, and author_id can further filter the author ID of these voices. This parameter only filters the list; the voices remain publicly available. self=true does not support title_language; if you need to search by title language, please query the public voice library.

Example 4: Filter by language + tag

The upstream will also return results for tag values not in the tag dictionary, but the matching is relatively loose; if the number of matches is 0, it is recommended to use fuzzy matching with title instead.

Response Fields

Each item in items[] is a complete ModelEntity object. Common fields include:

Billing Information

This API is not billed—paginated voice list queries are free operations. Creating voices (Fish Model Create) is also free. Charges are incurred only based on usage when calling Fish TTS to synthesize speech.

Error Handling

  • 400 token_mismatched: Request parameters are missing or invalid.
  • 401 invalid_token: The authentication token does not exist or is invalid.
  • 429 too_many_requests: The account rate limit has been triggered.
  • 500 api_error: Internal server error.
Error response example:

Conclusion

To select a voice from the Fish public library for the reference_id of /fish/tts, first use this API with title / tag / language to search, identify the target _id, and then use Fish Model Get to retrieve samples for listening. To list voices you created yourself, simply pass self=true.