Trigger New Video Generation
curl --request POST \
--url https://whilter-api-host/media/demo \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"client-request-id": "<string>",
"customer-id": "<string>",
"use-case-id": "<string>",
"user-id": "<string>",
"data": {
"global_assets": {
"images": [
"<string>"
],
"videos": [
"<string>"
],
"icons": [
"<string>"
]
},
"global_cohorts": [
{}
],
"personalization_fields": {},
"frame_segments": [
{}
]
},
"reference-record-id": "<string>"
}
'import requests
url = "https://whilter-api-host/media/demo"
payload = {
"client-request-id": "<string>",
"customer-id": "<string>",
"use-case-id": "<string>",
"user-id": "<string>",
"data": {
"global_assets": {
"images": ["<string>"],
"videos": ["<string>"],
"icons": ["<string>"]
},
"global_cohorts": [{}],
"personalization_fields": {},
"frame_segments": [{}]
},
"reference-record-id": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
'client-request-id': '<string>',
'customer-id': '<string>',
'use-case-id': '<string>',
'user-id': '<string>',
data: {
global_assets: {images: ['<string>'], videos: ['<string>'], icons: ['<string>']},
global_cohorts: [{}],
personalization_fields: {},
frame_segments: [{}]
},
'reference-record-id': '<string>'
})
};
fetch('https://whilter-api-host/media/demo', 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://whilter-api-host/media/demo",
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([
'client-request-id' => '<string>',
'customer-id' => '<string>',
'use-case-id' => '<string>',
'user-id' => '<string>',
'data' => [
'global_assets' => [
'images' => [
'<string>'
],
'videos' => [
'<string>'
],
'icons' => [
'<string>'
]
],
'global_cohorts' => [
[
]
],
'personalization_fields' => [
],
'frame_segments' => [
[
]
]
],
'reference-record-id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://whilter-api-host/media/demo"
payload := strings.NewReader("{\n \"client-request-id\": \"<string>\",\n \"customer-id\": \"<string>\",\n \"use-case-id\": \"<string>\",\n \"user-id\": \"<string>\",\n \"data\": {\n \"global_assets\": {\n \"images\": [\n \"<string>\"\n ],\n \"videos\": [\n \"<string>\"\n ],\n \"icons\": [\n \"<string>\"\n ]\n },\n \"global_cohorts\": [\n {}\n ],\n \"personalization_fields\": {},\n \"frame_segments\": [\n {}\n ]\n },\n \"reference-record-id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://whilter-api-host/media/demo")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"client-request-id\": \"<string>\",\n \"customer-id\": \"<string>\",\n \"use-case-id\": \"<string>\",\n \"user-id\": \"<string>\",\n \"data\": {\n \"global_assets\": {\n \"images\": [\n \"<string>\"\n ],\n \"videos\": [\n \"<string>\"\n ],\n \"icons\": [\n \"<string>\"\n ]\n },\n \"global_cohorts\": [\n {}\n ],\n \"personalization_fields\": {},\n \"frame_segments\": [\n {}\n ]\n },\n \"reference-record-id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://whilter-api-host/media/demo")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"client-request-id\": \"<string>\",\n \"customer-id\": \"<string>\",\n \"use-case-id\": \"<string>\",\n \"user-id\": \"<string>\",\n \"data\": {\n \"global_assets\": {\n \"images\": [\n \"<string>\"\n ],\n \"videos\": [\n \"<string>\"\n ],\n \"icons\": [\n \"<string>\"\n ]\n },\n \"global_cohorts\": [\n {}\n ],\n \"personalization_fields\": {},\n \"frame_segments\": [\n {}\n ]\n },\n \"reference-record-id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Request accepted",
"client-request-id": "<string>",
"whilter-request-id": "<string>"
}Reatime Media API
Generate Media
Create a personalized video generation request in real-time
POST
/
media
/
demo
Trigger New Video Generation
curl --request POST \
--url https://whilter-api-host/media/demo \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"client-request-id": "<string>",
"customer-id": "<string>",
"use-case-id": "<string>",
"user-id": "<string>",
"data": {
"global_assets": {
"images": [
"<string>"
],
"videos": [
"<string>"
],
"icons": [
"<string>"
]
},
"global_cohorts": [
{}
],
"personalization_fields": {},
"frame_segments": [
{}
]
},
"reference-record-id": "<string>"
}
'import requests
url = "https://whilter-api-host/media/demo"
payload = {
"client-request-id": "<string>",
"customer-id": "<string>",
"use-case-id": "<string>",
"user-id": "<string>",
"data": {
"global_assets": {
"images": ["<string>"],
"videos": ["<string>"],
"icons": ["<string>"]
},
"global_cohorts": [{}],
"personalization_fields": {},
"frame_segments": [{}]
},
"reference-record-id": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
'client-request-id': '<string>',
'customer-id': '<string>',
'use-case-id': '<string>',
'user-id': '<string>',
data: {
global_assets: {images: ['<string>'], videos: ['<string>'], icons: ['<string>']},
global_cohorts: [{}],
personalization_fields: {},
frame_segments: [{}]
},
'reference-record-id': '<string>'
})
};
fetch('https://whilter-api-host/media/demo', 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://whilter-api-host/media/demo",
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([
'client-request-id' => '<string>',
'customer-id' => '<string>',
'use-case-id' => '<string>',
'user-id' => '<string>',
'data' => [
'global_assets' => [
'images' => [
'<string>'
],
'videos' => [
'<string>'
],
'icons' => [
'<string>'
]
],
'global_cohorts' => [
[
]
],
'personalization_fields' => [
],
'frame_segments' => [
[
]
]
],
'reference-record-id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://whilter-api-host/media/demo"
payload := strings.NewReader("{\n \"client-request-id\": \"<string>\",\n \"customer-id\": \"<string>\",\n \"use-case-id\": \"<string>\",\n \"user-id\": \"<string>\",\n \"data\": {\n \"global_assets\": {\n \"images\": [\n \"<string>\"\n ],\n \"videos\": [\n \"<string>\"\n ],\n \"icons\": [\n \"<string>\"\n ]\n },\n \"global_cohorts\": [\n {}\n ],\n \"personalization_fields\": {},\n \"frame_segments\": [\n {}\n ]\n },\n \"reference-record-id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://whilter-api-host/media/demo")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"client-request-id\": \"<string>\",\n \"customer-id\": \"<string>\",\n \"use-case-id\": \"<string>\",\n \"user-id\": \"<string>\",\n \"data\": {\n \"global_assets\": {\n \"images\": [\n \"<string>\"\n ],\n \"videos\": [\n \"<string>\"\n ],\n \"icons\": [\n \"<string>\"\n ]\n },\n \"global_cohorts\": [\n {}\n ],\n \"personalization_fields\": {},\n \"frame_segments\": [\n {}\n ]\n },\n \"reference-record-id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://whilter-api-host/media/demo")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"client-request-id\": \"<string>\",\n \"customer-id\": \"<string>\",\n \"use-case-id\": \"<string>\",\n \"user-id\": \"<string>\",\n \"data\": {\n \"global_assets\": {\n \"images\": [\n \"<string>\"\n ],\n \"videos\": [\n \"<string>\"\n ],\n \"icons\": [\n \"<string>\"\n ]\n },\n \"global_cohorts\": [\n {}\n ],\n \"personalization_fields\": {},\n \"frame_segments\": [\n {}\n ]\n },\n \"reference-record-id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Request accepted",
"client-request-id": "<string>",
"whilter-request-id": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Unique identifier for the client request
Customer identifier
Template identifier for the video generation use case
User identifier
Media generation data containing assets, cohorts, personalization fields, and frame segments
Show child attributes
Show child attributes
Optional reference record identifier
Response
200 - application/json
Video generation request accepted
Status of the video generation request
Available options:
SUCCESS, FAILURE Response message
Example:
"Request accepted"
The original client request identifier
Generated request identifier for tracking
⌘I

