> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.resemble.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.resemble.ai/_mcp/server.

# Create Recording

`POST https://app.resemble.ai/api/v2/voices/{voice_uuid}/recordings`

Upload a new recording for a voice. Must be multipart/form-data.

| Parameter    | Type   | Required | Notes                       |
| ------------ | ------ | -------- | --------------------------- |
| `voice_uuid` | string | ✅        | Voice UUID (URL parameter). |

| Field       | Type    | Required | Notes                                                               |
| ----------- | ------- | -------- | ------------------------------------------------------------------- |
| `file`      | file    | ✅        | Audio file (must be between configured duration bounds).            |
| `name`      | string  | ✅        | Recording name (max 256 characters, must be unique for this voice). |
| `text`      | string  | ✅        | Transcript of the audio (max 1024 characters).                      |
| `emotion`   | string  | ❌        | Emotion label (max 64 characters).                                  |
| `is_active` | boolean | ❌        | Whether recording is active for training. Default: true.            |
| `fill`      | boolean | ❌        | Whether to use for fill/speech-to-speech.                           |

```bash
curl --request POST 'https://app.resemble.ai/api/v2/voices/VOICE_UUID/recordings' \
  -H 'Authorization: Bearer YOUR_API_TOKEN' \
  -F 'file=@/path/to/line.wav' \
  -F 'name=intro_line' \
  -F 'text=Welcome to our show' \
  -F 'emotion=neutral' \
  -F 'is_active=true'
```

```json
{
  "success": true,
  "item": {
    "uuid": "RECORDING_UUID",
    "name": "intro_line",
    "text": "Welcome to our show",
    "emotion": "neutral",
    "fill": false,
    "is_active": true,
    "audio_src": "https://...",
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-15T10:30:00Z"
  }
}
```

> **Note**
>
> Audio file must not be silent. Audio duration must be within configured bounds (typically 1-60 seconds). Cannot upload recordings to pre-built or marketplace voices.