Update Clip

PATCH https://app.resemble.ai/api/v2/projects/{project_uuid}/clips/{clip_uuid} or PUT https://app.resemble.ai/api/v2/projects/{project_uuid}/clips/{clip_uuid}

Request Body

FieldTypeRequiredNotes
titlestringClip title (max 256 characters).
bodystringText to synthesize.
voice_uuidstringUUID of voice to use.
is_archivedbooleanWhether clip is archived.
callback_uristringHTTPS URL for async callback (required for updates).
sample_rateintegerAudio sample rate: 8000, 16000, 22050, 24000, 32000, 44100, or 48000. Default: 22050.
precisionstringAudio precision: PCM_16, PCM_24, or PCM_32. Default: PCM_32.
output_formatstringOutput format: wav, mp3, ogg, flac, etc. Default: wav.

Note: Update operations are asynchronous. A callback_uri is required to receive the synthesized result.

Example Request

$curl --request PUT 'https://app.resemble.ai/api/v2/projects/PROJECT_UUID/clips/CLIP_UUID' \
> -H 'Authorization: Bearer YOUR_API_TOKEN' \
> -H 'Content-Type: application/json' \
> --data '{
> "title": "Narration Intro",
> "body": "Welcome to the product update",
> "voice_uuid": "VOICE_UUID",
> "is_archived": false,
> "callback_uri": "https://example.com/webhooks/resemble",
> "include_timestamps": true
> }'

Responses

  1. Immediate response:
1{
2 "success": true,
3 "item": {
4 "uuid": "CLIP_UUID",
5 "title": "Narration Intro",
6 "body": "Welcome to the product update",
7 "voice_uuid": "VOICE_UUID",
8 "is_archived": false,
9 "created_at": "2024-01-15T10:30:00Z",
10 "updated_at": "2024-01-15T10:30:00Z"
11 }
12}
  1. Callback payload (POST {callback_uri}):
1{
2 "id": "CLIP_UUID",
3 "project_id": "PROJECT_UUID",
4 "url": "https://...", // expires after 1 hour
5 "audio_timestamps": {
6 "graph_chars": ["W", "e", ...],
7 "graph_times": [[0, 120], ...],
8 "phon_chars": ["W", "EH", ...],
9 "phon_times": [[0, 120], ...]
10 },
11 "issues": []
12}

Use tools like webhook.site to inspect callback payloads during development.