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

# Fish Audio Audio Cloning

The Fish Audio API is used to create voice models (voice cloning).

## Request Headers

<ParamField header="Content-Type" type="string" required={true}>
  Enum value: `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 represents text-to-speech.

  Available value: `tts`

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

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

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

  Available value: `fast`

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

<ParamField body="voices" type="file[]" required={true}>
  Upload voice files used to fine-tune the model.
</ParamField>

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

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

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

<ParamField body="cover_image" type="file | null">
  Model cover image. This is 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 Information

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

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

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

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

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

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

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

  Available 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}>
  The timestamp when the model was created.
</ResponseField>

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

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

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

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

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

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

<ResponseField name="task_count" type="integer" required={true}>
  The 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}>
      The unique identifier of the author.
    </ResponseField>

    <ResponseField name="nickname" type="string" required={true}>
      The author's nickname.
    </ResponseField>

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

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

  Available 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}>
      The text content of the sample.
    </ResponseField>

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

    <ResponseField name="audio" type="string" required={true}>
      The 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 favorited/bookmarked this model.
</ResponseField>
