> ## Documentation Index
> Fetch the complete documentation index at: https://docs.myrouter.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Fish Audio Voice Cloning

Fish Audio API for creating voice models (voice cloning).

## Request Headers

<ParamField header="Content-Type" type="string" required={true}>
  Enum: `application/json`
</ParamField>

<ParamField header="Authorization" type="string" required={true}>
  Bearer authentication format: Bearer \{\{API Key}}.
</ParamField>

## Request Body

<ParamField body="type" type="enum<string>" required={true}>
  Model type. tts stands for text-to-speech.

  Possible values: `tts`

  Allowed values: `"tts"`
</ParamField>

<ParamField body="title" type="string" required={true}>
  Model title or name.
</ParamField>

<ParamField body="train_mode" type="enum<string>" required={true}>
  Model training mode. For TTS models, fast means the model is available immediately after creation.

  Possible values: `fast`

  Allowed values: `"fast"`
</ParamField>

<ParamField body="voices" type="file[]" required={true}>
  Upload voice files for model fine-tuning.
</ParamField>

<ParamField body="visibility" type="enum<string>" default="public">
  Model visibility. public will display on the discovery page, unlist allows anyone with the link to access, private is visible only to the creator.

  Possible values: `public`, `unlist`, `private`
</ParamField>

<ParamField body="description" type="string | null">
  Model description.
</ParamField>

<ParamField body="cover_image" type="file | null">
  Model cover image. Required if the model is public.
</ParamField>

<ParamField body="texts" type="string[]">
  Text corresponding to the voices. If not specified, ASR (Automatic Speech Recognition) will be performed on the voices.
</ParamField>

<ParamField body="tags" type="string[]">
  Model tags.
</ParamField>

<ParamField body="enhance_audio_quality" type="boolean" default={false}>
  Enhance audio quality.
</ParamField>

## Response

<ResponseField name="_id" type="string" required={true}>
  Unique identifier of the created model.
</ResponseField>

<ResponseField name="type" type="enum<string>" required={true}>
  Model type.

  Possible values: `svc`, `tts`
</ResponseField>

<ResponseField name="title" type="string" required={true}>
  Model title or name.
</ResponseField>

<ResponseField name="description" type="string" required={true}>
  Model description.
</ResponseField>

<ResponseField name="cover_image" type="string" required={true}>
  URL of the model cover image.
</ResponseField>

<ResponseField name="state" type="enum<string>" required={true}>
  Current state of the model.

  Possible values: `created`, `training`, `trained`, `failed`
</ResponseField>

<ResponseField name="tags" type="string[]" required={true}>
  Model tags.
</ResponseField>

<ResponseField name="created_at" type="string<date-time>" required={true}>
  Timestamp when the model was created.
</ResponseField>

<ResponseField name="updated_at" type="string<date-time>" required={true}>
  Timestamp when the model was last updated.
</ResponseField>

<ResponseField name="visibility" type="enum<string>" required={true}>
  Model visibility setting.

  Possible values: `public`, `unlist`, `private`
</ResponseField>

<ResponseField name="like_count" type="integer" required={true}>
  Number of likes the model has received.
</ResponseField>

<ResponseField name="mark_count" type="integer" required={true}>
  Number of bookmarks the model has received.
</ResponseField>

<ResponseField name="shared_count" type="integer" required={true}>
  Number of times the model has been shared.
</ResponseField>

<ResponseField name="task_count" type="integer" required={true}>
  Number of tasks associated with the model.
</ResponseField>

<ResponseField name="author" type="AuthorEntity · object" required={true}>
  Information about the model author.

  <Expandable title="properties">
    <ResponseField name="_id" type="string" required={true}>
      Unique identifier of the author.
    </ResponseField>

    <ResponseField name="nickname" type="string" required={true}>
      Nickname of the author.
    </ResponseField>

    <ResponseField name="avatar" type="string" required={true}>
      URL of the author's avatar image.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="train_mode" type="enum<string>" default="full">
  Training mode used by the model.

  Possible values: `fast`, `full`
</ResponseField>

<ResponseField name="samples" type="SampleEntity · object[]">
  Sample data associated with the model.

  <Expandable title="properties">
    <ResponseField name="title" type="string" required={true}>
      Sample title.
    </ResponseField>

    <ResponseField name="text" type="string" required={true}>
      Text content of the sample.
    </ResponseField>

    <ResponseField name="task_id" type="string" required={true}>
      Task identifier of the sample.
    </ResponseField>

    <ResponseField name="audio" type="string" required={true}>
      URL of the sample audio file.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="languages" type="string[]">
  Languages supported by the model.
</ResponseField>

<ResponseField name="lock_visibility" type="boolean" default={false}>
  Whether the visibility setting is locked.
</ResponseField>

<ResponseField name="unliked" type="boolean" default={false}>
  Whether the current user has unliked this model.
</ResponseField>

<ResponseField name="liked" type="boolean" default={false}>
  Whether the current user has liked this model.
</ResponseField>

<ResponseField name="marked" type="boolean" default={false}>
  Whether the current user has bookmarked this model.
</ResponseField>
