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

# Resources

> Get provider resources like motions, voices, and sounds

The `/v1/resources` endpoint provides access to provider-specific resources such as motion presets, voices, and sounds that can be used with various models.

## Quick Reference

| Endpoint                                              | Provider   | Resource                     |
| ----------------------------------------------------- | ---------- | ---------------------------- |
| `GET /v1/resources/kuaishou/kling/voices`             | Kling      | Kling voice presets          |
| `GET /v1/resources/google/voices/veo-3.1`             | Google     | Google video voice presets   |
| `GET /v1/resources/elevenlabs/voices`                 | ElevenLabs | Voices                       |
| `POST /v1/resources/elevenlabs/voices`                | ElevenLabs | Create a custom cloned voice |
| `GET /v1/resources/suno-ai/voice/verification-phrase` | Suno       | Voice verification phrase    |

***

## Examples

### Get Kling Voices

Returns available voice presets for use with Kling video models that support `voice_id` (e.g. 2.6, 3.0, 3.0 Omni).

```bash theme={null}
curl https://api.unifically.com/v1/resources/kuaishou/kling/voices \
  -H "Authorization: Bearer YOUR_API_KEY"
```

**Response:**

```json theme={null}
{
  "code": 200,
  "success": true,
  "data": [
    {
      "id": 1,
      "name": "Male Voice 1"
    },
    {
      "id": 2,
      "name": "Female Voice 1"
    }
  ]
}
```

### Get Google Veo Voices

Returns available Google Flow voice presets for Google video models that support the `voice` parameter, including Veo 3.1 reference mode and Omni Flash video/edit requests. Voice use requires at least 1 image or character reference in the task input.

```bash theme={null}
curl https://api.unifically.com/v1/resources/google/voices/veo-3.1 \
  -H "Authorization: Bearer YOUR_API_KEY"
```

**Response:**

```json theme={null}
{
  "code": 200,
  "success": true,
  "data": [
    {
      "id": "achernar",
      "name": "Achernar",
      "description": "Female, soft, high pitch",
      "sample": "https://gstatic.com/aistudio/voices/samples/Achernar.wav"
    },
    {
      "id": "achird",
      "name": "Achird",
      "description": "Male, friendly, mid pitch",
      "sample": "https://gstatic.com/aistudio/voices/samples/Achird.wav"
    },
    {
      "id": "algenib",
      "name": "Algenib",
      "description": "Male, gravelly, low pitch",
      "sample": "https://gstatic.com/aistudio/voices/samples/Algenib.wav"
    }
  ]
}
```

Common Google Flow preset IDs include:

```text theme={null}
achernar, achird, algenib, algieba, alnilam, aoede, autonoe, callirrhoe,
charon, despina, enceladus, erinome, fenrir, gacrux, iapetus, kore,
laomedeia, leda, orus, puck, pulcherrima, rasalgethi, sadachbia,
sadaltager, schedar, sulafat, umbriel, vindemiatrix, zephyr,
zubenelgenubi
```

`lapetus` is accepted as an alias for `iapetus`.

### Get ElevenLabs Voices

```bash theme={null}
curl https://api.unifically.com/v1/resources/elevenlabs/voices \
  -H "Authorization: Bearer YOUR_API_KEY"
```

**Response:**

```json theme={null}
{
  "code": 200,
  "success": true,
  "data": {
    "voices": [
      {
        "voice_id": "21m00Tcm4TlvDq8ikWAM",
        "name": "Rachel",
        "category": "premade",
        "labels": {
          "accent": "american",
          "age": "young",
          "gender": "female"
        },
        "preview_url": "https://storage.googleapis.com/..."
      }
    ]
  }
}
```

### Create a Custom ElevenLabs Voice

Clone a voice from sample recordings of **one speaker** and get back a permanent `voice_id` usable anywhere a premade voice ID works (e.g. [Text-to-Speech](/models/audio/elevenlabs/text-to-speech)).

**Request Body:**

| Field     | Type             | Required | Description                                                                                                                                                                                                                                    |
| --------- | ---------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `samples` | array of strings | Yes      | URLs of audio recordings of one speaker. More recordings of the same person produce a better voice. Max 25 samples, max 25 MB each. Direct-download URLs only (no redirects or link shorteners). Formats: mp3, wav, ogg, opus, m4a, flac, webm |
| `name`    | string           | No       | A label for your own reference. Not an identifier                                                                                                                                                                                              |

```bash theme={null}
curl -X POST https://api.unifically.com/v1/resources/elevenlabs/voices \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "samples": [
      "https://cdn.example.com/recording1.mp3",
      "https://cdn.example.com/recording2.wav"
    ],
    "name": "Podcast Talker"
  }'
```

**Response:**

```json theme={null}
{
  "success": true,
  "data": {
    "voice_id": "NLQzxuY9B0rsgFcPKVW4",
    "name": "Podcast Talker",
    "samples": ["https://cdn.example.com/recording1.mp3", "https://cdn.example.com/recording2.wav"]
  }
}
```

<Warning>
  Store the `voice_id` — it is returned only once. There is no endpoint that lists custom voices, by design (voice IDs are private to whoever holds them).
</Warning>

The voice is permanent: a copy of your samples is kept, so it keeps working even after your original URLs go offline. Voice IDs from your own ElevenLabs account cannot be used here — create the voice through this endpoint instead.

### Get Suno Voice Verification Phrase

Generates a verification phrase for Suno voice creation.

**Query Parameters:**

| Parameter  | Type   | Required | Description                                                                                         |
| ---------- | ------ | -------- | --------------------------------------------------------------------------------------------------- |
| `language` | string | No       | Language code for the phrase. Available: `zh`, `en`, `es`, `fr`, `pt`, `de`, `ja`, `ko`, `hi`, `ru` |

```bash theme={null}
curl https://api.unifically.com/v1/resources/suno-ai/voice/verification-phrase?language=ru \
  -H "Authorization: Bearer YOUR_API_KEY"
```

**Response:**

```json theme={null}
{
  "success": true,
  "code": 200,
  "data": {
    "phrase_id": "ea748c01-6257-45ff-a037-c8657ff5c09d",
    "phrase_text": "Sing a cheerful melody with your clear voice today"
  }
}
```

***

## Using Resources

Use the `id` value from the response as the corresponding parameter when creating a task:

| Resource Type             | Use As Parameter                       |
| ------------------------- | -------------------------------------- |
| Voices (ElevenLabs)       | `voice_id`                             |
| Voices (Kling)            | `voice_id` in elements or voices array |
| Voices (Google Veo)       | `voice`                                |
| Voice Verification Phrase | `phrase_id`                            |
