Rendley docs

AI audio & voice

The params object is model-specific: pass the parameters defined by the schema of the model_id you choose. Call List AI tools & models to see the available models and the parameters each one accepts.

Generate music

POST /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

POST /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

POST /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

POST /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

POST /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

POST /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

GET /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

GET /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

POST /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

POST /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

POST /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

POST /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