Create Content
Use this endpoint to create a content (video/audio) from the asset url which is publicly accessible
- Make sure you have created an API access token. You can create one by Signup/Signin into Videograph.
- Add subtitles from different languages to your content.
- Add and control watermarks/image overlays settings on your content.
- For test purposes, 10 seconds duration of uploaded video will be transcoded for streaming
- Add tags and meta-data to your content.
curl -X POST "https://api.videograph.ai/video/services/api/v1/contents" \
-H "Content-Type: application/json" \
-H "Accept: example_string" \
-H "Authorization: Basic YOUR_CREDENTIALS" \
-d '{
"title": "Demo Video",
"description": "This is a demo video",
"content": [
{
"url": "https://d19nx8bm4jzw4h.cloudfront.net/Tears-of-steel.mp4"
}
],
"watermark": [
{
"url": "https://d19nx8bm4jzw4h.cloudfront.net/videograph_logo.png
",
"x_pos": "1564px",
"y_pos": "74px",
"opacity": "70%"
}
],
"subtitle": [
{
"url": "https://d19nx8bm4jzw4h.cloudfront.net/Tears-of-steel.srt
",
"name": "English US",
"language_code": "en_US",
"support_closed_captions": false
}
],
"tags": [
"Animation",
"Video demo"
],
"metadata": [
{
"key": "color",
"value": "blue"
}
],
"playback_policy": [
"public"
],
"mp4_support": true,
"save_original_copy": false,
"test_video": true
}'
import requests
import json
url = "https://api.videograph.ai/video/services/api/v1/contents"
headers = {
"Content-Type": "application/json",
"Accept": "example_string",
"Authorization": "Basic YOUR_CREDENTIALS"
}
data = {
"title": "Demo Video",
"description": "This is a demo video",
"content": [
{
"url": "https://d19nx8bm4jzw4h.cloudfront.net/Tears-of-steel.mp4"
}
],
"watermark": [
{
"url": "https://d19nx8bm4jzw4h.cloudfront.net/videograph_logo.png
",
"x_pos": "1564px",
"y_pos": "74px",
"opacity": "70%"
}
],
"subtitle": [
{
"url": "https://d19nx8bm4jzw4h.cloudfront.net/Tears-of-steel.srt
",
"name": "English US",
"language_code": "en_US",
"support_closed_captions": false
}
],
"tags": [
"Animation",
"Video demo"
],
"metadata": [
{
"key": "color",
"value": "blue"
}
],
"playback_policy": [
"public"
],
"mp4_support": true,
"save_original_copy": false,
"test_video": true
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.videograph.ai/video/services/api/v1/contents", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Accept": "example_string",
"Authorization": "Basic YOUR_CREDENTIALS"
},
body: JSON.stringify({
"title": "Demo Video",
"description": "This is a demo video",
"content": [
{
"url": "https://d19nx8bm4jzw4h.cloudfront.net/Tears-of-steel.mp4"
}
],
"watermark": [
{
"url": "https://d19nx8bm4jzw4h.cloudfront.net/videograph_logo.png
",
"x_pos": "1564px",
"y_pos": "74px",
"opacity": "70%"
}
],
"subtitle": [
{
"url": "https://d19nx8bm4jzw4h.cloudfront.net/Tears-of-steel.srt
",
"name": "English US",
"language_code": "en_US",
"support_closed_captions": false
}
],
"tags": [
"Animation",
"Video demo"
],
"metadata": [
{
"key": "color",
"value": "blue"
}
],
"playback_policy": [
"public"
],
"mp4_support": true,
"save_original_copy": false,
"test_video": true
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"title": "Demo Video",
"description": "This is a demo video",
"content": [
{
"url": "https://d19nx8bm4jzw4h.cloudfront.net/Tears-of-steel.mp4"
}
],
"watermark": [
{
"url": "https://d19nx8bm4jzw4h.cloudfront.net/videograph_logo.png
",
"x_pos": "1564px",
"y_pos": "74px",
"opacity": "70%"
}
],
"subtitle": [
{
"url": "https://d19nx8bm4jzw4h.cloudfront.net/Tears-of-steel.srt
",
"name": "English US",
"language_code": "en_US",
"support_closed_captions": false
}
],
"tags": [
"Animation",
"Video demo"
],
"metadata": [
{
"key": "color",
"value": "blue"
}
],
"playback_policy": [
"public"
],
"mp4_support": true,
"save_original_copy": false,
"test_video": true
}`)
req, err := http.NewRequest("POST", "https://api.videograph.ai/video/services/api/v1/contents", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Accept", "example_string")
req.Header.Set("Authorization", "Basic YOUR_CREDENTIALS")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api.videograph.ai/video/services/api/v1/contents')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['Accept'] = 'example_string'
request['Authorization'] = 'Basic YOUR_CREDENTIALS'
request.body = '{
"title": "Demo Video",
"description": "This is a demo video",
"content": [
{
"url": "https://d19nx8bm4jzw4h.cloudfront.net/Tears-of-steel.mp4"
}
],
"watermark": [
{
"url": "https://d19nx8bm4jzw4h.cloudfront.net/videograph_logo.png
",
"x_pos": "1564px",
"y_pos": "74px",
"opacity": "70%"
}
],
"subtitle": [
{
"url": "https://d19nx8bm4jzw4h.cloudfront.net/Tears-of-steel.srt
",
"name": "English US",
"language_code": "en_US",
"support_closed_captions": false
}
],
"tags": [
"Animation",
"Video demo"
],
"metadata": [
{
"key": "color",
"value": "blue"
}
],
"playback_policy": [
"public"
],
"mp4_support": true,
"save_original_copy": false,
"test_video": true
}'
response = http.request(request)
puts response.body
{
"status": "Success",
"message": "Triggered processing of videos.",
"code": 201,
"data": {
"title": "Video title",
"description": "Video description",
"contentId": "",
"tags": [
"tag1",
"tag2"
],
"metadata": [
{
"key": "abc",
"value": "pqr"
}
],
"playback_policy": [
"public",
"signed"
],
"mp4_support": true,
"save_original_copy": true,
"statusId": 1,
"status": "Processing",
"duration": 100,
"thumbnails": [],
"created_at": 1673347977713
}
}
/video/services/api/v1/contents
Username for basic authentication
Password for basic authentication
The media type of the request body
Provide a title for your content.
Describe your content.
Provide the source url to download the content. If you want to create video clips from the video then pass on the start time and end time of the clip along with source url.
Watermark details on video content
Add Subtitles to video content
Provide content metadata as key value pairs.
Playback policies. Allowed are public, signed or both
Is MP4 generation supported
Is original copy to be saved
Asset colleciton under which content should be created. Defaults to environment root collection.
Enconding profile to be used to encode. Defaults to what is mapped to environment.
Request Preview
Response
Response will appear here after sending the request
Authentication
Basic authentication credentials. Provide username and password encoded in Base64 format: Basic base64(username:password)
Headers
Body
Provide a title for your content.
Describe your content.
Provide the source url to download the content. If you want to create video clips from the video then pass on the start time and end time of the clip along with source url.
Watermark details on video content
Add Subtitles to video content
Provide content metadata as key value pairs.
Playback policies. Allowed are public, signed or both
Is MP4 generation supported
Is original copy to be saved
Asset colleciton under which content should be created. Defaults to environment root collection.
Enconding profile to be used to encode. Defaults to what is mapped to environment.
Responses
Last updated Dec 29, 2025

