Layers

Outline effect for video layers

A stroke round the edge of a layer that has transparency: a keyed subject, a picture in picture, a logo. With dropShadow it is the sticker look. Does nothing on a clip that fills the frame. Text and shapes have their own stroke.

Shown on A rotating roll on green screen, over a VW bus on a causeway

Before · the same request without it
After · The sticker look: a keyed product with a thick white edge and a shadow under it.

The entry

Add it to a clip's effects list. Entries run in the order you write them.

{
"type": "outline",
"width": 16
}

Settings

NameAcceptsDefaultWhat it does
colora color#FFFFFFStroke colour, hex like "#FFFFFF".
width0 to 20 pxor keyframes8Stroke width in pixels. The engine draws up to 20.

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/road.mp4"
},
start: 0
}
]
},
{
clips: [
{
asset: {
type: "video",
src: "https://cdn.rendobar.com/compose/showcase/media/green.mp4"
},
start: 0,
transform: {
scale: 0.34,
rotate: -8,
position: {
x: "68%",
y: "64%"
}
},
effects: [
{
type: "chromaKey",
color: "#1DFF0A",
similarity: 0.34
},
{
type: "outline",
width: 16
},
{
type: "dropShadow",
offsetY: 14,
blur: 20
}
]
}
]
}
]
}
},
});
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/road.mp4"},"start":0}]},{"clips":[{"asset":{"type":"video","src":"https://cdn.rendobar.com/compose/showcase/media/green.mp4"},"start":0,"transform":{"scale":0.34,"rotate":-8,"position":{"x":"68%","y":"64%"}},"effects":[{"type":"chromaKey","color":"#1DFF0A","similarity":0.34},{"type":"outline","width":16},{"type":"dropShadow","offsetY":14,"blur":20}]}]}]}}}'

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

Questions

What does the outline effect do in compose?

A stroke round the edge of a layer that has transparency: a keyed subject, a picture in picture, a logo. With dropShadow it is the sticker look. Does nothing on a clip that fills the frame. Text and shapes have their own stroke. The sticker look: a keyed product with a thick white edge and a shadow under it.

How do I add outline to a video with an API?

Send a compose job to the Rendobar API with this entry in the timeline: {"type":"outline","width":16}. Add it to a clip's effects list. Entries run in the order you write them. The request on this page is complete and renders as shown.

What are the default settings for outline?

Every setting has a default, so the type on its own is enough: color #FFFFFF and width 8. Set only the ones you want to change.

Footage and sound