Fish Audio Model API
The Model API from Fish Audio — 2 operation(s) for model.
The Model API from Fish Audio — 2 operation(s) for model.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/fish-audio-model-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Fish Audio Asr Model API
description: Fish Audio is an AI voice platform offering text-to-speech, voice cloning, speech-to-text, and voice model management. Authentication is by API key issued at https://fish.audio/app/api-keys and presented as a Bearer token.
version: '1.0'
contact:
name: Fish Audio
url: https://docs.fish.audio
servers:
- url: https://api.fish.audio
description: Production
security:
- bearerAuth: []
tags:
- name: Model
paths:
/model:
get:
summary: List voice models
operationId: listModels
parameters:
- name: page_size
in: query
schema:
type: integer
- name: page_number
in: query
schema:
type: integer
- name: title
in: query
schema:
type: string
- name: tag
in: query
schema:
type: string
- name: self
in: query
schema:
type: boolean
- name: author_id
in: query
schema:
type: string
- name: language
in: query
schema:
type: string
- name: title_language
in: query
schema:
type: string
- name: sort_by
in: query
schema:
type: string
responses:
'200':
description: Paginated model list
content:
application/json:
schema:
type: object
tags:
- Model
post:
summary: Create a voice clone model
operationId: createModel
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- title
properties:
title:
type: string
description:
type: string
voices:
type: array
items:
type: string
format: binary
texts:
type: array
items:
type: string
tags:
type: array
items:
type: string
visibility:
type: string
enum:
- public
- unlist
- private
cover_image:
type: string
format: binary
responses:
'200':
description: Created model
content:
application/json:
schema:
type: object
tags:
- Model
/model/{id}:
get:
summary: Get a voice model
operationId: getModel
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Model details
content:
application/json:
schema:
type: object
tags:
- Model
patch:
summary: Update a voice model
operationId: updateModel
parameters:
- name: id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
title:
type: string
description:
type: string
cover_image:
type: string
visibility:
type: string
tags:
type: array
items:
type: string
responses:
'200':
description: Updated
tags:
- Model
delete:
summary: Delete a voice model
operationId: deleteModel
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Deleted
tags:
- Model
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer