Get Model
Retrieve voice model details by model ID.
Retrieve voice model details by ID, including state, visibility, author, preview samples, and quality evaluation.
Synchronous endpoint: the request returns the model object immediately. Use _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/{id}
Get voice model details
Look up model details with the _id returned at creation. Returns 403 / 404 when access is denied or the model does not exist.
Headers
| Name | Type | Required | Description |
|---|---|---|---|
Authorization | string | Yes | Request authentication. Format: Bearer sk-xxxxxx |
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Model ID |
Responses
200: Retrieved successfully
Content-Type: application/json
403: No permission to access this model
Content-Type: application/json
404: Model not found
Content-Type: application/json
Request Example
curl -X GET "https://api.autorouter.top/fishaudio/model/{id}" \
-H "Authorization: Bearer sk-xxxxxx"Response Example
{
"_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"
}
}Response fields:
| Name | Type | Description |
|---|---|---|
_id | string | Model ID, usable as TTS reference_id |
type | string | Model type. tts is text-to-speech; svc is singing voice conversion |
title | string | Model title |
description | string | Model description. Defaults to an empty string |
cover_image | string | Cover image URL. Defaults to empty |
train_mode | string | Training mode. fast is ready immediately after creation; full is full training |
state | string | State. Enum: created, training, trained, failed |
tags | string[] | Tag list |
samples | object[] | Preview samples. Defaults to an empty array |
created_at | string | Created at, ISO 8601 |
updated_at | string | Updated at, ISO 8601 |
languages | string[] | Language list |
visibility | string | Visibility. Enum: public, unlist, private |
lock_visibility | boolean | Whether visibility is locked. Default false |
dmca_taken_down | boolean | null | Whether the model was taken down for DMCA |
takedown_category | string | null | Takedown category: dmca, policy |
default_text | string | Default preview text |
source | string | null | Source. May be voice_design when every uploaded voice verifies |
licensed | boolean | Whether this is a Fish Audio licensed voice |
pvc_release_state | string | null | PVC release state: released, retiring |
pvc_notice_period_months | integer | null | PVC notice period (months) |
pvc_released_at | string | null | PVC released at |
pvc_retire_requested_at | string | null | PVC retire requested at |
pvc_retire_effective_at | string | null | PVC retire effective at |
quality | object | null | Audio quality evaluation |
like_count | integer | Like count |
mark_count | integer | Mark count |
shared_count | integer | Share count |
task_count | integer | Usage count |
liked | boolean | Whether the current user liked it |
marked | boolean | Whether the current user marked it |
unliked | boolean | Whether the current user unliked it |
author | object | Author information |
statestring(Required)
Model state.
created: createdtraining: trainingtrained: complete and ready for TTSfailed: training failed
With train_mode=fast it usually becomes trained quickly.
authorobject(Required)
Author information.
Author user ID.
Author nickname.
Author avatar URL.
qualityobject | null(Optional)
Audio quality evaluation. null if not evaluated.
Quality details for each reference audio. Each item includes:
filename(string, required): file nameduration_ms(number, required): duration in millisecondslanguage(string, optional): language, defaultunknownquality(object, optional): quality score mapquality_passed(boolean, optional): whether quality checks passed, defaultfalsequality_reason(string, optional): quality notes
Quality evaluation created at, ISO 8601.
Quality evaluation updated at, ISO 8601.
Error Handling
HTTP 401 / 403 Auth Errors
401 Unauthorized: API Key is invalid or expired403 Forbidden: no permission to access this model (private model or token lacks access)
HTTP 404 Model Not Found
The specified id does not exist. Confirm the model ID is correct and has not been deleted.
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.