Add captions
curl --request POST \
--url https://rawugc.com/api/v1/videos/captions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"videoId": "vid_jh7a3b9xq2pn4r8k",
"language": "en"
}
'import requests
url = "https://rawugc.com/api/v1/videos/captions"
payload = {
"videoId": "vid_jh7a3b9xq2pn4r8k",
"language": "en"
}
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({videoId: 'vid_jh7a3b9xq2pn4r8k', language: 'en'})
};
fetch('https://rawugc.com/api/v1/videos/captions', 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://rawugc.com/api/v1/videos/captions",
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([
'videoId' => 'vid_jh7a3b9xq2pn4r8k',
'language' => 'en'
]),
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://rawugc.com/api/v1/videos/captions"
payload := strings.NewReader("{\n \"videoId\": \"vid_jh7a3b9xq2pn4r8k\",\n \"language\": \"en\"\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://rawugc.com/api/v1/videos/captions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"videoId\": \"vid_jh7a3b9xq2pn4r8k\",\n \"language\": \"en\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://rawugc.com/api/v1/videos/captions")
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 \"videoId\": \"vid_jh7a3b9xq2pn4r8k\",\n \"language\": \"en\"\n}"
response = http.request(request)
puts response.read_body{
"videoId": "<string>",
"url": "<string>",
"version": 123,
"operation": "<string>",
"creditsUsed": 123
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": {}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": {}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": {}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": {}
}Video Editing
Add captions
Add styled captions to a video. The video is processed and a download URL for the captioned video is returned. Costs 1 credit.
POST
/
videos
/
captions
Add captions
curl --request POST \
--url https://rawugc.com/api/v1/videos/captions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"videoId": "vid_jh7a3b9xq2pn4r8k",
"language": "en"
}
'import requests
url = "https://rawugc.com/api/v1/videos/captions"
payload = {
"videoId": "vid_jh7a3b9xq2pn4r8k",
"language": "en"
}
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({videoId: 'vid_jh7a3b9xq2pn4r8k', language: 'en'})
};
fetch('https://rawugc.com/api/v1/videos/captions', 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://rawugc.com/api/v1/videos/captions",
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([
'videoId' => 'vid_jh7a3b9xq2pn4r8k',
'language' => 'en'
]),
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://rawugc.com/api/v1/videos/captions"
payload := strings.NewReader("{\n \"videoId\": \"vid_jh7a3b9xq2pn4r8k\",\n \"language\": \"en\"\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://rawugc.com/api/v1/videos/captions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"videoId\": \"vid_jh7a3b9xq2pn4r8k\",\n \"language\": \"en\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://rawugc.com/api/v1/videos/captions")
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 \"videoId\": \"vid_jh7a3b9xq2pn4r8k\",\n \"language\": \"en\"\n}"
response = http.request(request)
puts response.read_body{
"videoId": "<string>",
"url": "<string>",
"version": 123,
"operation": "<string>",
"creditsUsed": 123
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": {}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": {}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": {}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": {}
}Authorizations
Use your API key from the RawUGC dashboard. Include as: Authorization: Bearer YOUR_API_KEY
Body
application/json
Response
Captions added successfully
Response from a video editing operation (captions, overlay)
Unique identifier for the new version (vid_xxx format)
URL to download the edited video
Version number of the edit (2 for first edit, etc.)
Operation that was performed (e.g. 'caption', 'overlay')
Credits deducted for this operation
Was this page helpful?
⌘I

