Text and titles

Animate text as it leaves

An exit as well as an entrance. The out setting takes the title away over the clip's last moments, here blurring it out, the same way it came in.

Shown on A title over a city skyline at night

Renders up to 1080p at 30 fps on every self-serve plan.

Before · the same request without it
After · rendered from the request below

The entry

Use it as a clip's asset, on a track above the footage.

{
"asset": {
"type": "text",
"text": "AFTER DARK",
"style": {
"font": "Inter",
"size": 58,
"weight": 800,
"color": "#FFFFFF",
"animate": {
"type": "fade",
"duration": 0.6,
"out": "blur"
}
}
},
"transform": {
"position": {
"x": "50%",
"y": "46%"
}
}
}

Every setting and default is in the docs

Run it

The whole request behind the render above. Paste it as it is, or swap the file for your own.

job.ts
import { createClient, outputUrl } from "@rendobar/sdk";
const rb = createClient({ apiKey: process.env.RENDOBAR_API_KEY });
const job = await rb.jobs.run({
type: "compose",
params: {
schemaVersion: 1,
output: {
format: "mp4",
resolution: {
width: 960,
height: 540
}
},
timeline: {
tracks: [
{
clips: [
{
asset: {
type: "video",
src: "https://cdn.rendobar.com/compose/showcase/media/city.mp4"
},
start: 0
}
]
},
{
clips: [
{
asset: {
type: "text",
text: "AFTER DARK",
style: {
font: "Inter",
size: 58,
weight: 800,
color: "#FFFFFF",
animate: {
type: "fade",
duration: 0.6,
out: "blur"
}
}
},
start: 0,
length: 6,
transform: {
position: {
x: "50%",
y: "46%"
}
}
}
]
}
]
}
},
});
console.log(outputUrl(job));

Install with npm i @rendobar/sdk. jobs.run() submits and waits, so it returns the finished job in one call.

terminal
curl https://api.rendobar.com/jobs \
-H "Authorization: Bearer $RENDOBAR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"type":"compose","params":{"schemaVersion":1,"output":{"format":"mp4","resolution":{"width":960,"height":540}},"timeline":{"tracks":[{"clips":[{"asset":{"type":"video","src":"https://cdn.rendobar.com/compose/showcase/media/city.mp4"},"start":0}]},{"clips":[{"asset":{"type":"text","text":"AFTER DARK","style":{"font":"Inter","size":58,"weight":800,"color":"#FFFFFF","animate":{"type":"fade","duration":0.6,"out":"blur"}}},"start":0,"length":6,"transform":{"position":{"x":"50%","y":"46%"}}}]}]}}}'

Returns immediately with a job id. Poll GET /jobs/{id} or register a webhook rather than blocking on the request.

Questions

What does the text exit clip do in compose?

An exit as well as an entrance. The out setting takes the title away over the clip's last moments, here blurring it out, the same way it came in.

How do I add text exit to a video with an API?

Send a compose job to the Rendobar API with this entry in the timeline: {"asset":{"type":"text","text":"AFTER DARK","style":{"font":"Inter","size":58,"weight":800,"color":"#FFFFFF","animate":{"type":"fade","duration":0.6,"out":"blur"}}},"transform":{"position":{"x":"50%","y":"46%"}}}. Use it as a clip's asset, on a track above the footage. The request on this page is complete and renders as shown.

Footage and sound