---
updatedAt: 2025-05-28T00:13:24.000Z
agentTools:
  projectIndex: https://docs.wellsaidlabs.com/llms.txt
---

# Work Asynchronously With Clips

The WellSaid [clips](https://docs.wellsaidlabs.com/reference/post_clips) endpoint allows you to generate clips Asynchronously and then [retrieve those clips](https://docs.wellsaidlabs.com/reference/get_clips)  after they are finished being processed by our text-to-speech models.

### How do you use the endpoint?

**[Create Clip](https://docs.wellsaidlabs.com/reference/post_clips)**

Make a POST request to this URL, including your API key in the header:

`https://api.wellsaidlabs.com/v1/tts/clips`

An example `curl` command:

```bash
curl --location 'https://api.wellsaidlabs.com/v1/tts/clips' \
--header 'X-API-KEY: <api-key-here>'
--header 'accept: */*' \
--header 'content-type: application/json' \
--data '
{
  "speaker_id": 7,
  "text": "Hello, world"
}
'
```

**Response**

Below is an example of a successful response showing one avatar with the following structure:

```json
{
"clip_id": "YOUR_CLIP_ID"
}
```

<br />

**[Create Multiple Clips (Bulk)](https://docs.wellsaidlabs.com/reference/post_clips)**

Make a POST request to this URL, including your API key in the header:

`https://api.wellsaidlabs.com/v1/tts/clips`

An example `curl` command that has an array of clips to create:

```bash
curl --location 'https://api.wellsaidlabs.com/v1/tts/clips' \
--header 'X-API-KEY: <api-key-here>'
--header 'accept: */*' \
--header 'content-type: application/json' \
--data '
[
  {
  	"speaker_id": 8,
  	"text": "Make me my first clip"
	},
	{
  	"speaker_id": 7,
  	"text": "Now make me a second clip"
	}
]
'
```

**Response**

Below is an example of a successful response showing one avatar with the following structure:

```json
{
    "clip_ids": [
        "your_clip_id_1",
        "your_clip_id_2"
    ]
}
```

<br />

Make a POST request to this URL, including your API key in the header:

`https://api.wellsaidlabs.com/v1/tts/clips`

An example `curl` command:

```bash
curl --location 'https://api.wellsaidlabs.com/v1/tts/clips' \
--header 'X-API-KEY: <api-key-here>'
--header 'accept: */*' \
--header 'content-type: application/json' \
--data '
{
  "speaker_id": 7,
  "text": "Hello, world"
}
'
```

**Response**

Below is an example of a successful response showing one avatar with the following structure:

```json
{
"clip_id": "YOUR_CLIP_ID"
}
```

**[Retrieve Clip](https://docs.wellsaidlabs.com/reference/get_clips)**

Make a GET request to this URL, including your API key in the header:

`https://docs.wellsaidlabs.com/reference/get_clips`

An example `curl` command:

```bash
curl --request GET \
     --url https://api.wellsaidlabs.com/v1/tts/clips \
     --header 'X-API-KEY: YOUR_API_KEY' \
```

**Response**

Below is an example of a successful response showing one avatar with the following structure:\{

```json
[
	{
  	"id": "YOUR_CLIP_ID",
  	"status": "COMPLETE",
  	"url": "URL_TO_DOWNLOAD_CLIP"
	},
	{
  	"id": "YOUR_CLIP_ID",
  	"status": "COMPLETE",
  	"url": "URL_TO_DOWNLOAD_CLIP"
	}
]
```

## Details of response

| Field       | type    | notes                                                                                                                                  |
| ----------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| text        | string  | The text you want synthesized into speech by Wellsaid                                                                                  |
| clip\_id    | string  | The ID of the clip being generated by the text-to-speech models                                                                        |
| speaker\_id | integer | The Avatar you want to use for this request. See list [here](https://docs.wellsaidlabs.com/reference/available-voice-avatars)          |
| status      | string  | Indicates the status of the clip and could read "PROCESSING", "FAILED", "COMPLETE"                                                     |
| url         | string  | The url where you can go to hear and download your clip once it has completed processing. The clip will remain available for one week. |