List Models
List voice models with pagination. Filter by title, tags, author, language, and license status.
List voice models with pagination. Filter by title, tags, author, language, and license status, or return only models owned by the current workspace.
Synchronous endpoint: the request returns paginated results immediately. Use the model _id as reference_id on the Text to Speech endpoint.
Base URL
https://api.autorouter.top— Production
Authentication
BearerAuth: http (bearer)
Authenticate using a Bearer Token.
Format: Authorization: Bearer sk-xxxxxx
Endpoints
GET /fishaudio/model
List voice models
Return a model list using pagination and filters.
Headers
| Name | Type | Required | Description |
|---|---|---|---|
Authorization | string | Yes | Request authentication. Format: Bearer sk-xxxxxx |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
page_size | integer | No | Page size. Default 10, range [1, 100] |
page_number | integer | No | Page number. Default 1, minimum 1 |
title | string | null | No | Filter by title |
tag | string | string[] | null | No | Filter by tag |
self | boolean | No | If true, return only models owned by the current workspace. Default false |
author_id | string | null | No | Filter public models by author ID; ignored if self=true |
language | string | string[] | null | No | Filter by language |
title_language | string | string[] | null | No | Filter by title language |
licensed | boolean | No | If true, only Fish Audio licensed voices are returned; ignored if self=true. Default false |
sort_by | string | No | Sort field. Values: score (default), task_count, created_at |
selfboolean(Optional)
Whether to return only models owned by the current workspace. Default false.
true: return only your models;author_idandlicensedare ignoredfalse: follow public discovery rules; you can filter withauthor_id,licensed, and similar fields
sort_bystring(Optional)
Sort field. Default score.
score: overall scoretask_count: usage countcreated_at: created time
Responses
200: Retrieved successfully
Content-Type: application/json
401: Unauthorized
Content-Type: application/json
503: Service overloaded
Content-Type: application/json
Request Example
curl -X GET "https://api.autorouter.top/fishaudio/model?page_size=10&page_number=1&self=true&sort_by=created_at" \
-H "Authorization: Bearer sk-xxxxxx"Response Example
{
"total": 1,
"items": [
{
"_id": "7f8a9b0c1d2e3f4a5b6c7d8e",
"type": "tts",
"title": "My Voice",
"description": "Cloned from a studio sample",
"cover_image": "",
"train_mode": "fast",
"state": "trained",
"tags": ["custom"],
"samples": [],
"created_at": "2026-09-20T01:00:00.000Z",
"updated_at": "2026-09-20T01:00:00.000Z",
"languages": ["en"],
"visibility": "private",
"lock_visibility": false,
"default_text": "",
"source": null,
"licensed": false,
"like_count": 0,
"mark_count": 0,
"shared_count": 0,
"task_count": 0,
"liked": false,
"marked": false,
"unliked": false,
"author": {
"_id": "64a1b2c3d4e5f67890123456",
"nickname": "creator",
"avatar": "https://example.com/avatar.png"
}
}
],
"has_more": false,
"total_is_exact": true,
"window_limited": false,
"max_offset": null,
"accessible_upper_bound": null
}Response fields:
| Name | Type | Description |
|---|---|---|
total | integer | Total number of matching models |
items | object[] | Models on the current page |
has_more | boolean | null | Whether there is a next page |
total_is_exact | boolean | Whether total is exact. Default true |
window_limited | boolean | Whether the query window is limited. Default false |
max_offset | integer | null | Maximum offset |
accessible_upper_bound | integer | null | Accessible upper bound |
items[]. | string | Model ID, usable as TTS reference_id |
items[]. | string | Model type. tts is text-to-speech; svc is singing voice conversion |
items[]. | string | Model title |
items[]. | string | Model description |
items[]. | string | Cover image URL |
items[]. | string | Training mode. fast or full |
items[]. | string | State. Enum: created, training, trained, failed |
items[]. | string[] | Tag list |
items[]. | object[] | Preview samples |
items[]. | string | Created at, ISO 8601 |
items[]. | string | Updated at, ISO 8601 |
items[]. | string[] | Language list |
items[]. | string | Visibility. Enum: public, unlist, private |
items[]. | boolean | Whether this is a Fish Audio licensed voice |
items[]. | integer | Like count |
items[]. | integer | Usage count |
items[]. | object | Author information |
itemsobject[](Required)
Models on the current page. Each item is a full model object.
Model ID. After creation it can be used as TTS reference_id.
Model state. Enum: created, training, trained, failed. With train_mode=fast it usually becomes trained quickly.
Author information, including _id, nickname, and avatar.
Error Handling
HTTP 401 / 403 Auth Errors
401 Unauthorized: API Key is invalid or expired403 Forbidden: API Key cannot access this model (check the token model allowlist)
HTTP 402 Insufficient Balance
Returns insufficient user quota. Top up in the AutoRouter console.
HTTP 503 Service Overloaded
The server is too busy to process the request. Please retry later.