Rendley docs

AI video

Generate video clips, talking avatars, and lip-synced videos. All video generation is asynchronous — you start a job and poll until it completes.

Call this endpoint to discover every action, its available models, and the JSON schema each model accepts for params. Use the schema from the response to build your params object in step 2.

Step 2 is the specific generation endpoint below. Pick the one you need, pass project_id, optionally model_id, and the params from the schema above.

#Generate a video

POST/v1/ai/generate-video

Enqueue a job to generate a video clip from a text prompt, optionally animating a starting/ending image.

Request body

model_idstringOptional

Which model to use. Call GET /ai/tools to see available models. Each action has a default.

paramsjsonRequired

Model-specific parameters. Call GET /ai/tools to get the schema for each model.

project_idstringRequired
Response codes
200

OK

400

Bad Request

401

Unauthorized

402

Payment Required

#Generate a video avatar

POST/v1/ai/generate-video-avatar

Enqueue a job to generate a video of a virtual avatar speaking the provided text.

Request body

model_idstringOptional

Which model to use. Call GET /ai/tools to see available models. Each action has a default.

paramsjsonRequired

Model-specific parameters. Call GET /ai/tools to get the schema for each model.

project_idstringRequired
Response codes
200

OK

400

Bad Request

401

Unauthorized

402

Payment Required

#Calculate video avatar generation cost

POST/v1/ai/generate-video-avatar/cost

Calculate the credit cost of generating a talking avatar video.

Request body

model_idstringOptional
paramsobjectOptional
project_idstringRequired
Response codes
200

OK

400

Bad Request

401

Unauthorized

#Calculate video generation cost

POST/v1/ai/generate-video/cost

Calculate the credit cost of generating a video clip.

Request body

model_idstringOptional
paramsobjectOptional
project_idstringRequired
Response codes
200

OK

400

Bad Request

401

Unauthorized

#Lip-sync a video to audio

POST/v1/ai/lipsync

Enqueue a job to lip-sync a video clip to a separate audio track.

Request body

audio_file_urlstringOptional
clip_idstringOptional
durationnumberOptional
model_idstringOptional

Which model to use. Call GET /ai/tools to see available models. Each action has a default.

paramsjsonRequired

Model-specific parameters. Call GET /ai/tools to get the schema for each model.

project_idstringRequired
video_file_urlstringOptional
Response codes
200

OK

400

Bad Request

401

Unauthorized

402

Payment Required

#Calculate lipsync cost

POST/v1/ai/lipsync/cost

Calculate the credit cost of lip-syncing a video clip to an audio track.

Request body

audio_file_urlstringOptional
clip_idstringOptional
durationnumberOptional
model_idstringOptional
paramsobjectOptional
project_idstringRequired
video_file_urlstringOptional
Response codes
200

OK

400

Bad Request

401

Unauthorized

#Remove video background

POST/v1/ai/remove-video-background

Enqueue a job to remove the background from a video frame-by-frame, leaving only the foreground subject.

Request body

clip_idstringOptional
file_urlstringOptional
model_idstringOptional

Which model to use. Call GET /ai/tools to see available models. Each action has a default.

paramsjsonRequired

Model-specific parameters. Call GET /ai/tools to get the schema for each model.

project_idstringRequired
Response codes
200

OK

400

Bad Request

401

Unauthorized

402

Payment Required

#Calculate remove video background cost

POST/v1/ai/remove-video-background/cost

Calculate the credit cost of removing the background from a video.

Request body

clip_idstringOptional
file_urlstringOptional
model_idstringOptional
paramsobjectOptional
project_idstringRequired
Response codes
200

OK

400

Bad Request

401

Unauthorized

#List video avatars

GET/v1/ai/video-avatars

List the available virtual avatars that can be used for avatar video generation.

Response codes
200

OK

401

Unauthorized

#Translate a video

POST/v1/ai/video-translate

Enqueue a job to translate the spoken content of a video into another language and dub it back in.

Request body

clip_idstringOptional
durationnumberOptional
file_urlstringOptional
model_idstringOptional

Which model to use. Call GET /ai/tools to see available models. Each action has a default.

paramsjsonRequired

Model-specific parameters. Call GET /ai/tools to get the schema for each model.

project_idstringRequired
Response codes
200

OK

400

Bad Request

401

Unauthorized

402

Payment Required

#Calculate video translation cost

POST/v1/ai/video-translate/cost

Calculate the credit cost of translating and dubbing a video into another language.

Request body

clip_idstringOptional
durationnumberOptional
file_urlstringOptional
model_idstringOptional
paramsobjectOptional
project_idstringRequired
Response codes
200

OK

400

Bad Request

401

Unauthorized

#List video translate languages

GET/v1/ai/video-translate/languages

List the languages supported as targets for video translation.

Response codes
200

OK

401

Unauthorized

#Step 3: Poll the job

GET/v1/jobs/{job_id}

Poll this endpoint every few seconds until status is completed or failed. See Jobs and polling for the full loop.

The result contains a media_id and file_hash. Use the next step to get a download URL.

Pass the file_hash from the completed job to get a presigned download URL. The storage_url is time-limited, so download the file promptly.