TypeScript
async function processVideo(
videoUrl: string,
parameters: object,
apiKey: string
): Promise<any> {
const baseUrl = 'https://www.topyappers.com';
const response = await fetch(`${baseUrl}/api/v1/remix`, {
method: 'POST',
headers: {
'x-ty-api-key': apiKey,
'Content-Type': 'application/json',
},
body: JSON.stringify({
video_url: videoUrl,
parameters: parameters,
}),
});
if (!response.ok) {
throw new Error(`API error: ${response.status}`);
}
return await response.json();
}
// Usage
const result = await processVideo(
'https://example.com/video.mp4',
{ playbackSpeed: 1.2 },
'YOUR_API_KEY'
);import requests
API_KEY = "your-api-key-here"
BASE_URL = "https://www.topyappers.com"
VIDEO_URL = "https://example.com/video.mp4"
parameters = {
"playbackSpeed": 1.2,
"brightness": 0.1,
"contrast": 1.1
}
response = requests.post(
f"{BASE_URL}/api/v1/remix",
headers={
"x-ty-api-key": API_KEY,
"Content-Type": "application/json"
},
json={
"video_url": VIDEO_URL,
"parameters": parameters
}
)
if response.status_code == 200:
result = response.json()
print(f"Success: {result}")
else:
print(f"Error: {response.text}")curl -X POST https://www.topyappers.com/api/v1/remix \
-H "x-ty-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://example.com/video.mp4",
"parameters": {
"playbackSpeed": 1.2,
"brightness": 0.1,
"contrast": 1.1
}
}'const options = {
method: 'POST',
headers: {'x-ty-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
video_url: 'https://example.com/video.mp4',
parameters: {
playbackSpeed: 1.2,
brightness: 0.1,
contrast: 1.1,
saturation: 1.2,
hue: 15,
zoomFactor: 1.05
}
})
};
fetch('https://www.topyappers.com/api/v1/remix', 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://www.topyappers.com/api/v1/remix",
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([
'video_url' => 'https://example.com/video.mp4',
'parameters' => [
'playbackSpeed' => 1.2,
'brightness' => 0.1,
'contrast' => 1.1,
'saturation' => 1.2,
'hue' => 15,
'zoomFactor' => 1.05
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-ty-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://www.topyappers.com/api/v1/remix"
payload := strings.NewReader("{\n \"video_url\": \"https://example.com/video.mp4\",\n \"parameters\": {\n \"playbackSpeed\": 1.2,\n \"brightness\": 0.1,\n \"contrast\": 1.1,\n \"saturation\": 1.2,\n \"hue\": 15,\n \"zoomFactor\": 1.05\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-ty-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://www.topyappers.com/api/v1/remix")
.header("x-ty-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"video_url\": \"https://example.com/video.mp4\",\n \"parameters\": {\n \"playbackSpeed\": 1.2,\n \"brightness\": 0.1,\n \"contrast\": 1.1,\n \"saturation\": 1.2,\n \"hue\": 15,\n \"zoomFactor\": 1.05\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.topyappers.com/api/v1/remix")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-ty-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"video_url\": \"https://example.com/video.mp4\",\n \"parameters\": {\n \"playbackSpeed\": 1.2,\n \"brightness\": 0.1,\n \"contrast\": 1.1,\n \"saturation\": 1.2,\n \"hue\": 15,\n \"zoomFactor\": 1.05\n }\n}"
response = http.request(request)
puts response.read_body{
"metadata": {
"tool_time": 55.67
},
"data": {
"url": "https://vidrework.topyappers.com/your-processed-video.mp4",
"applied_params": {
"brightness": 0.0059,
"contrast": 1.0037,
"saturation": 0.9836,
"hue": -0.1822,
"gamma": 1.0032,
"temperature": -0.0077,
"noise": 0.8,
"sharpness": 0.9872,
"zoom_factor": 1.0009,
"device_model": "Ray-Ban Meta Smart Glasses",
"playback_speed": 0.9938,
"volume": 0.9897,
"remove_audio": null,
"algorithm_fingerprint": null,
"hue_shift": -0.0182,
"blend": 0.0048,
"bitrate_variation": 0.9898,
"frame_blending": 0.0051,
"time_shift": 0.0029
}
}
}Upload Video for Remix
Process a video from a provided URL. The API will download the video, apply transformations, and remove invisible watermarks.
POST
/
api
/
v1
/
remix
TypeScript
async function processVideo(
videoUrl: string,
parameters: object,
apiKey: string
): Promise<any> {
const baseUrl = 'https://www.topyappers.com';
const response = await fetch(`${baseUrl}/api/v1/remix`, {
method: 'POST',
headers: {
'x-ty-api-key': apiKey,
'Content-Type': 'application/json',
},
body: JSON.stringify({
video_url: videoUrl,
parameters: parameters,
}),
});
if (!response.ok) {
throw new Error(`API error: ${response.status}`);
}
return await response.json();
}
// Usage
const result = await processVideo(
'https://example.com/video.mp4',
{ playbackSpeed: 1.2 },
'YOUR_API_KEY'
);import requests
API_KEY = "your-api-key-here"
BASE_URL = "https://www.topyappers.com"
VIDEO_URL = "https://example.com/video.mp4"
parameters = {
"playbackSpeed": 1.2,
"brightness": 0.1,
"contrast": 1.1
}
response = requests.post(
f"{BASE_URL}/api/v1/remix",
headers={
"x-ty-api-key": API_KEY,
"Content-Type": "application/json"
},
json={
"video_url": VIDEO_URL,
"parameters": parameters
}
)
if response.status_code == 200:
result = response.json()
print(f"Success: {result}")
else:
print(f"Error: {response.text}")curl -X POST https://www.topyappers.com/api/v1/remix \
-H "x-ty-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://example.com/video.mp4",
"parameters": {
"playbackSpeed": 1.2,
"brightness": 0.1,
"contrast": 1.1
}
}'const options = {
method: 'POST',
headers: {'x-ty-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
video_url: 'https://example.com/video.mp4',
parameters: {
playbackSpeed: 1.2,
brightness: 0.1,
contrast: 1.1,
saturation: 1.2,
hue: 15,
zoomFactor: 1.05
}
})
};
fetch('https://www.topyappers.com/api/v1/remix', 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://www.topyappers.com/api/v1/remix",
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([
'video_url' => 'https://example.com/video.mp4',
'parameters' => [
'playbackSpeed' => 1.2,
'brightness' => 0.1,
'contrast' => 1.1,
'saturation' => 1.2,
'hue' => 15,
'zoomFactor' => 1.05
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-ty-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://www.topyappers.com/api/v1/remix"
payload := strings.NewReader("{\n \"video_url\": \"https://example.com/video.mp4\",\n \"parameters\": {\n \"playbackSpeed\": 1.2,\n \"brightness\": 0.1,\n \"contrast\": 1.1,\n \"saturation\": 1.2,\n \"hue\": 15,\n \"zoomFactor\": 1.05\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-ty-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://www.topyappers.com/api/v1/remix")
.header("x-ty-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"video_url\": \"https://example.com/video.mp4\",\n \"parameters\": {\n \"playbackSpeed\": 1.2,\n \"brightness\": 0.1,\n \"contrast\": 1.1,\n \"saturation\": 1.2,\n \"hue\": 15,\n \"zoomFactor\": 1.05\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.topyappers.com/api/v1/remix")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-ty-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"video_url\": \"https://example.com/video.mp4\",\n \"parameters\": {\n \"playbackSpeed\": 1.2,\n \"brightness\": 0.1,\n \"contrast\": 1.1,\n \"saturation\": 1.2,\n \"hue\": 15,\n \"zoomFactor\": 1.05\n }\n}"
response = http.request(request)
puts response.read_body{
"metadata": {
"tool_time": 55.67
},
"data": {
"url": "https://vidrework.topyappers.com/your-processed-video.mp4",
"applied_params": {
"brightness": 0.0059,
"contrast": 1.0037,
"saturation": 0.9836,
"hue": -0.1822,
"gamma": 1.0032,
"temperature": -0.0077,
"noise": 0.8,
"sharpness": 0.9872,
"zoom_factor": 1.0009,
"device_model": "Ray-Ban Meta Smart Glasses",
"playback_speed": 0.9938,
"volume": 0.9897,
"remove_audio": null,
"algorithm_fingerprint": null,
"hue_shift": -0.0182,
"blend": 0.0048,
"bitrate_variation": 0.9898,
"frame_blending": 0.0051,
"time_shift": 0.0029
}
}
}Authorizations
API key for TopYappers API authentication
Body
application/json
Publicly accessible URL to the video file (MP4, MOV, AVI, WebM)
Example:
"https://example.com/video.mp4"
Optional video processing parameters. All parameters have default values.
Show child attributes
Show child attributes
Example:
{
"playbackSpeed": 1.2,
"brightness": 0.1,
"contrast": 1.1,
"saturation": 1.2,
"hue": 15,
"zoomFactor": 1.05
}
⌘I
