AI audio & voice
Theparamsobject is model-specific: pass the parameters defined by the schema of themodel_idyou choose. Call List AI tools & models to see the available models and the parameters each one accepts.
Generate music
/v1/ai/generate-music Enqueue a job to generate music from a text prompt describing genre, instruments, tempo, and structure.
Request
curl -X POST "https://api.rendley.com/v1/ai/generate-music" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"project_id": "<project_id>"
}' const res = await fetch("https://api.rendley.com/v1/ai/generate-music", {
method: "POST",
headers: { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" },
body: JSON.stringify({
"project_id": "<project_id>"
}),
});
const { data } = await res.json(); import requests
res = requests.post(
"https://api.rendley.com/v1/ai/generate-music",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"project_id": "<project_id>"
},
)
data = res.json()["data"] Request body
| Name | Type | Required | Description |
|---|---|---|---|
model_id | string | Optional | |
params | object | Optional | |
project_id | string | Required |
Response codes
| Status | Description |
|---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
402 | Payment Required |
Calculate music generation cost
/v1/ai/generate-music/cost Calculate the credit cost of generating music from a text prompt.
Request
curl -X POST "https://api.rendley.com/v1/ai/generate-music/cost" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"project_id": "<project_id>"
}' const res = await fetch("https://api.rendley.com/v1/ai/generate-music/cost", {
method: "POST",
headers: { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" },
body: JSON.stringify({
"project_id": "<project_id>"
}),
});
const { data } = await res.json(); import requests
res = requests.post(
"https://api.rendley.com/v1/ai/generate-music/cost",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"project_id": "<project_id>"
},
)
data = res.json()["data"] Request body
| Name | Type | Required | Description |
|---|---|---|---|
model_id | string | Optional | |
params | object | Optional | |
project_id | string | Required |
Response codes
| Status | Description |
|---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
Generate a sound effect
/v1/ai/generate-sound-effect Enqueue a job to generate a custom sound effect from a text description.
Request
curl -X POST "https://api.rendley.com/v1/ai/generate-sound-effect" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"project_id": "<project_id>"
}' const res = await fetch("https://api.rendley.com/v1/ai/generate-sound-effect", {
method: "POST",
headers: { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" },
body: JSON.stringify({
"project_id": "<project_id>"
}),
});
const { data } = await res.json(); import requests
res = requests.post(
"https://api.rendley.com/v1/ai/generate-sound-effect",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"project_id": "<project_id>"
},
)
data = res.json()["data"] Request body
| Name | Type | Required | Description |
|---|---|---|---|
model_id | string | Optional | |
params | object | Optional | |
project_id | string | Required |
Response codes
| Status | Description |
|---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
402 | Payment Required |
Calculate sound effect generation cost
/v1/ai/generate-sound-effect/cost Calculate the credit cost of generating a sound effect from a text description.
Request
curl -X POST "https://api.rendley.com/v1/ai/generate-sound-effect/cost" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"project_id": "<project_id>"
}' const res = await fetch("https://api.rendley.com/v1/ai/generate-sound-effect/cost", {
method: "POST",
headers: { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" },
body: JSON.stringify({
"project_id": "<project_id>"
}),
});
const { data } = await res.json(); import requests
res = requests.post(
"https://api.rendley.com/v1/ai/generate-sound-effect/cost",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"project_id": "<project_id>"
},
)
data = res.json()["data"] Request body
| Name | Type | Required | Description |
|---|---|---|---|
model_id | string | Optional | |
params | object | Optional | |
project_id | string | Required |
Response codes
| Status | Description |
|---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
Generate text-to-speech audio
/v1/ai/text-to-speech Enqueue a job to generate spoken-word audio from text using a selected voice.
Request
curl -X POST "https://api.rendley.com/v1/ai/text-to-speech" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"project_id": "<project_id>"
}' const res = await fetch("https://api.rendley.com/v1/ai/text-to-speech", {
method: "POST",
headers: { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" },
body: JSON.stringify({
"project_id": "<project_id>"
}),
});
const { data } = await res.json(); import requests
res = requests.post(
"https://api.rendley.com/v1/ai/text-to-speech",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"project_id": "<project_id>"
},
)
data = res.json()["data"] Request body
| Name | Type | Required | Description |
|---|---|---|---|
model_id | string | Optional | |
params | object | Optional | |
project_id | string | Required |
Response codes
| Status | Description |
|---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
402 | Payment Required |
Calculate text-to-speech cost
/v1/ai/text-to-speech/cost Calculate the credit cost of generating spoken-word audio from text.
Request
curl -X POST "https://api.rendley.com/v1/ai/text-to-speech/cost" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"project_id": "<project_id>"
}' const res = await fetch("https://api.rendley.com/v1/ai/text-to-speech/cost", {
method: "POST",
headers: { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" },
body: JSON.stringify({
"project_id": "<project_id>"
}),
});
const { data } = await res.json(); import requests
res = requests.post(
"https://api.rendley.com/v1/ai/text-to-speech/cost",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"project_id": "<project_id>"
},
)
data = res.json()["data"] Request body
| Name | Type | Required | Description |
|---|---|---|---|
model_id | string | Optional | |
params | object | Optional | |
project_id | string | Required |
Response codes
| Status | Description |
|---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
List text-to-speech voices
/v1/ai/text-to-speech/voices List available text-to-speech voices, with optional pagination and search.
Request
curl "https://api.rendley.com/v1/ai/text-to-speech/voices" \
-H "Authorization: Bearer YOUR_API_KEY" const res = await fetch("https://api.rendley.com/v1/ai/text-to-speech/voices", {
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
const { data } = await res.json(); import requests
res = requests.get(
"https://api.rendley.com/v1/ai/text-to-speech/voices",
headers={"Authorization": "Bearer YOUR_API_KEY"},
)
data = res.json()["data"] Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
page | string | Optional | Page number |
limit | string | Optional | Page size |
query | string | Optional | Search query |
Example response
{
"data": [
{
"id": "string",
"model_id": "string",
"name": "string",
"preview_audio_url": "string"
}
]
} Response codes
| Status | Description |
|---|---|
200 | OK |
401 | Unauthorized |
Get a voice preview
/v1/ai/text-to-speech/voices/{voiceId}/preview Get a preview audio URL for a specific text-to-speech voice.
Request
curl "https://api.rendley.com/v1/ai/text-to-speech/voices/VOICE_ID/preview" \
-H "Authorization: Bearer YOUR_API_KEY" const res = await fetch("https://api.rendley.com/v1/ai/text-to-speech/voices/VOICE_ID/preview", {
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
const { data } = await res.json(); import requests
res = requests.get(
"https://api.rendley.com/v1/ai/text-to-speech/voices/VOICE_ID/preview",
headers={"Authorization": "Bearer YOUR_API_KEY"},
)
data = res.json()["data"] Path parameters
| Name | Type | Description |
|---|---|---|
voiceId | string | Voice ID |
Example response
{
"data": {
"preview_audio_url": "string"
}
} Response codes
| Status | Description |
|---|---|
200 | OK |
401 | Unauthorized |
Change the voice in a clip
/v1/ai/voice-changer Enqueue a job to replace the voice in an audio or video clip with a different target voice.
Request
curl -X POST "https://api.rendley.com/v1/ai/voice-changer" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"project_id": "<project_id>"
}' const res = await fetch("https://api.rendley.com/v1/ai/voice-changer", {
method: "POST",
headers: { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" },
body: JSON.stringify({
"project_id": "<project_id>"
}),
});
const { data } = await res.json(); import requests
res = requests.post(
"https://api.rendley.com/v1/ai/voice-changer",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"project_id": "<project_id>"
},
)
data = res.json()["data"] Request body
| Name | Type | Required | Description |
|---|---|---|---|
clip_id | string | Optional | |
file_url | string | Optional | |
model_id | string | Optional | |
params | object | Optional | |
project_id | string | Required |
Response codes
| Status | Description |
|---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
402 | Payment Required |
Calculate voice changer cost
/v1/ai/voice-changer/cost Calculate the credit cost of replacing the voice in an audio or video clip.
Request
curl -X POST "https://api.rendley.com/v1/ai/voice-changer/cost" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"project_id": "<project_id>"
}' const res = await fetch("https://api.rendley.com/v1/ai/voice-changer/cost", {
method: "POST",
headers: { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" },
body: JSON.stringify({
"project_id": "<project_id>"
}),
});
const { data } = await res.json(); import requests
res = requests.post(
"https://api.rendley.com/v1/ai/voice-changer/cost",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"project_id": "<project_id>"
},
)
data = res.json()["data"] Request body
| Name | Type | Required | Description |
|---|---|---|---|
clip_id | string | Optional | |
file_url | string | Optional | |
model_id | string | Optional | |
params | object | Optional | |
project_id | string | Required |
Response codes
| Status | Description |
|---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
Isolate voice from audio
/v1/ai/voice-isolation Enqueue a job to isolate human voice and remove background noise, music, and other unwanted sounds.
Request
curl -X POST "https://api.rendley.com/v1/ai/voice-isolation" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"project_id": "<project_id>"
}' const res = await fetch("https://api.rendley.com/v1/ai/voice-isolation", {
method: "POST",
headers: { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" },
body: JSON.stringify({
"project_id": "<project_id>"
}),
});
const { data } = await res.json(); import requests
res = requests.post(
"https://api.rendley.com/v1/ai/voice-isolation",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"project_id": "<project_id>"
},
)
data = res.json()["data"] Request body
| Name | Type | Required | Description |
|---|---|---|---|
clip_id | string | Optional | |
file_url | string | Optional | |
model_id | string | Optional | |
params | object | Optional | |
project_id | string | Required |
Response codes
| Status | Description |
|---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
402 | Payment Required |
Calculate voice isolation cost
/v1/ai/voice-isolation/cost Calculate the credit cost of isolating voice and removing background noise from audio.
Request
curl -X POST "https://api.rendley.com/v1/ai/voice-isolation/cost" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"project_id": "<project_id>"
}' const res = await fetch("https://api.rendley.com/v1/ai/voice-isolation/cost", {
method: "POST",
headers: { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" },
body: JSON.stringify({
"project_id": "<project_id>"
}),
});
const { data } = await res.json(); import requests
res = requests.post(
"https://api.rendley.com/v1/ai/voice-isolation/cost",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"project_id": "<project_id>"
},
)
data = res.json()["data"] Request body
| Name | Type | Required | Description |
|---|---|---|---|
clip_id | string | Optional | |
file_url | string | Optional | |
model_id | string | Optional | |
params | object | Optional | |
project_id | string | Required |
Response codes
| Status | Description |
|---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |