curl --request POST \
--url https://api.argil.ai/v1/videos/{id}/render \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"callbackUrl": "https://example.com/hooks/argil-render"
}
'import requests
url = "https://api.argil.ai/v1/videos/{id}/render"
payload = { "callbackUrl": "https://example.com/hooks/argil-render" }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({callbackUrl: 'https://example.com/hooks/argil-render'})
};
fetch('https://api.argil.ai/v1/videos/{id}/render', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.argil.ai/v1/videos/{id}/render",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'callbackUrl' => 'https://example.com/hooks/argil-render'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.argil.ai/v1/videos/{id}/render"
payload := strings.NewReader("{\n \"callbackUrl\": \"https://example.com/hooks/argil-render\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.argil.ai/v1/videos/{id}/render")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"callbackUrl\": \"https://example.com/hooks/argil-render\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.argil.ai/v1/videos/{id}/render")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"callbackUrl\": \"https://example.com/hooks/argil-render\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"status": "<string>",
"duration": 123,
"moments": [
{
"transcript": "<string>",
"avatarId": "<string>",
"voiceId": "<string>",
"audioUrl": "<string>",
"videoUrl": "<string>",
"gestureSlug": "<string>",
"zoom": {},
"broll": {
"zoom": {}
}
}
],
"videoUrl": "<string>",
"videoUrlSubtitled": "<string>",
"previewUrl": "<string>",
"aspectRatio": "16:9",
"subtitles": {
"enable": true
},
"extras": {}
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}Render a Video by id
Returns a single Video object, with its updated status and information
curl --request POST \
--url https://api.argil.ai/v1/videos/{id}/render \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"callbackUrl": "https://example.com/hooks/argil-render"
}
'import requests
url = "https://api.argil.ai/v1/videos/{id}/render"
payload = { "callbackUrl": "https://example.com/hooks/argil-render" }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({callbackUrl: 'https://example.com/hooks/argil-render'})
};
fetch('https://api.argil.ai/v1/videos/{id}/render', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.argil.ai/v1/videos/{id}/render",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'callbackUrl' => 'https://example.com/hooks/argil-render'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.argil.ai/v1/videos/{id}/render"
payload := strings.NewReader("{\n \"callbackUrl\": \"https://example.com/hooks/argil-render\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.argil.ai/v1/videos/{id}/render")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"callbackUrl\": \"https://example.com/hooks/argil-render\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.argil.ai/v1/videos/{id}/render")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"callbackUrl\": \"https://example.com/hooks/argil-render\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"status": "<string>",
"duration": 123,
"moments": [
{
"transcript": "<string>",
"avatarId": "<string>",
"voiceId": "<string>",
"audioUrl": "<string>",
"videoUrl": "<string>",
"gestureSlug": "<string>",
"zoom": {},
"broll": {
"zoom": {}
}
}
],
"videoUrl": "<string>",
"videoUrlSubtitled": "<string>",
"previewUrl": "<string>",
"aspectRatio": "16:9",
"subtitles": {
"enable": true
},
"extras": {}
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}Per-Render Callback URL
You can optionally pass acallbackUrl in the request body to receive a one-shot notification when this specific render completes.
{
"callbackUrl": "https://example.com/hooks/argil-render"
}
callbackUrl must use HTTPS.Authorizations
API key to be included in the x-api-key header
Path Parameters
The id of the Video to render
Body
Optional HTTPS URL to receive a one-shot webhook notification when this specific render completes (success or fail). The callback is fired once and then discarded.
"https://example.com/hooks/argil-render"
Response
Detailed information about the Video
Can be either IDLE, GENERATING_AUDIO, GENERATING_VIDEO, DONE or FAILED.
Total video duration in seconds. null when audio hasn't been generated yet.
An array of Moment items, each representing a portion of the complete video.
Show child attributes
Show child attributes
The url of the final avatar rendering video, containing all the moments merged.
The url of the final avatar rendering video with subtitles. Only available if subtitles are enabled.
Url to the embedable preview of the video. Can be watched from web browsers or integrated in other websites before launching the generation. For embedable mode, add ?embed=true to the url.
The aspect ratio of the video output: 16:9 or 9:16.
16:9, 9:16 Subtitles settings for the video
Show child attributes
Show child attributes
A dictionary of custom key-value pairs to extend the video metadata. Maximum of 5 key-value pairs of 256 characters allowed.
Show child attributes
Show child attributes
Was this page helpful?
