With videogrammer you get an API that allows you to easily convert self-created clips in HTML to suitable video formats. The API offers multiple options to replace HTML elements as you like to get unique videos.

multiply videos

Why?

If you want to serve various social media channels with content and save a lot of time, videogrammer is exactly the right thing for you.

Imagine you want to post a video every day on youtube as a short, on TikTok and on Instagram. To achieve this, you only have to build a template with e.g. google web designer and then call videogrammer with the resulting HTML. All elements (CSS properties, html tags, images, videos, audios,...) can be exchanged "on the fly" by videogrammer when generating the videos. So you have the possibility to publish as many videos as you like with customised content. Isn't that great? 😊

Interactive example

prepared responsive HTML template for the demo

write a title that replaces the placeholder in the template

write a content that replaces the placeholder in the template

choose a color for the bar under the title

choose a predefined resolution

Features

powerful templating

The API offers a rich but lean way to exchange the elements and content of the HTML. Proven concepts are used for this purpose: With the help of CSS selectors, the elements and the properties in the HTML can be exchanged and extended without limits.
In addition, the start and end of the recording can be defined dynamically directly in the HTML. You can also take up to 10 screenshots during the recording.

multiply videos
Vercel Logo

Full support of HTML5

As the recording takes place in an isolated Chrome browser, full HTML5 support is guaranteed. Even audio and video tags work as desired.

Versatile output

The API can provide any resolution (maximum Full HD) and ratio, any length and video quality as output.

Vercel Logo

How?

Simple Example

simply post the url of your intended html animation and set the parameters as desired:

curl -X 'POST' \
'https://videogrammer.p.rapidapi.com/video' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'X-RapidAPI-Key: insert_your_rapidapi_key_here'
-d '{
    "url": "https://kleizasoftware.bitbucket.io/converter_test/index.html",
    "options": {
        "width": 1440,
        "height": 1440,
        "duration": 10
    }
}'

In the answer you will receive your job id, with which you can download the html animation as an MP4 video after a few seconds:

curl -X 'GET' \
'https://videogrammer.p.rapidapi.com/video?job_id=job_id_in_previous_response' \
-H 'X-RapidAPI-Key: insert_your_rapidapi_key_here'
-H 'accept: application/json'

Response:

{
    "job_id": "80e24cc7-159d-4d38-ba65-af1e3503dcdd",
    "status": "successful",
    "video_url": "https://proxy-t2waowgsna-lz.a.run.app/download/80e24cc7-159d-4d38-ba65-af1e3503dcdd.mp4",
    "screenshots": [
        "https://proxy-t2waowgsna-lz.a.run.app/download/80e24cc7-159d-4d38-ba65-af1e3503dcdd_0.jpg",
        "https://proxy-t2waowgsna-lz.a.run.app/download/80e24cc7-159d-4d38-ba65-af1e3503dcdd_1.jpg",
        "https://proxy-t2waowgsna-lz.a.run.app/download/80e24cc7-159d-4d38-ba65-af1e3503dcdd_2.jpg"
    ]
}

Many Options

You can tell the API that your html elements can be modified as you wish. So you can use the HTML animation like a template for as many videos as you like. This way you can build a faceless channel on social media with ease:

{
    "url": "https://kleizasoftware.bitbucket.io/converter_test/",
    "options": {
        "duration": 20,
        "width": 1080,
        "height": 1080,
        "modifiers": {
            "cssproperties": [
                {
                    "selector": "#animated_bar_horizontal",
                    "property": "background-color",
                    "value": "black"
                }
            ],
            "tagattributes": [
                {
                    "selector": "#animated_bar",
                    "name": "class",
                    "value": "test_class",
                    "mode": "add"
                }
            ],
            "tagcontent": [
                {
                    "selector": "#counter_unit",
                    "content": "milliseconds"
                }
            ]
        }
    }
}

In addition, you can use javascript calls in the HTML animation to determine when the recording should begin and end. Furthermore, it is possible to take up to 10 additional screenshots at any given time during the recording.


window.startRecording();
....
....
window.takeScreenshot();
....
window.takeScreenshot();
....
....
window.endRecording();

File Upload

If you do not have a hosted server, you can also upload the html file directly in a multibody. Have a look at documentation of the Endpoints.

Webhooks

Instead of waiting for the completion with polling requests, you can also set a webhook in the options that will be notified as soon as the video is ready.

Start today

Start your automated social media channel today