Layers

Drop shadow effect for video layers

A soft shadow under a layer that has transparency, so a logo, a cut-out or a picture in picture lifts off what is behind it. Does nothing on a clip that fills the frame.

Shown on A logo over rafting on the Rogue River

Before · the same request without it
After · Keep a white logo readable over bright water.

The entry

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

{
"type": "dropShadow",
"opacity": 0.8,
"blur": 14,
"offsetX": 6,
"offsetY": 8
}

Settings

NameAcceptsDefaultWhat it does
colora color#000000Shadow colour, hex.
opacity0 to 10.60 to 1, how dark the shadow is.
blur0 to 100 pxor keyframes16How soft the shadow's edge is, in pixels.
offsetX-100 to 100 pxor keyframes0How far right the shadow falls, in pixels. Negative is left.
offsetY-100 to 100 pxor keyframes8How far down the shadow falls, in pixels. Negative is up.

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/river.mp4"
},
start: 0
}
]
},
{
clips: [
{
asset: {
type: "image",
src: "https://cdn.rendobar.com/compose/showcase/media/logo.png"
},
start: 0,
length: 6,
transform: {
scale: 0.2,
position: {
x: "84%",
y: "16%"
}
},
effects: [
{
type: "dropShadow",
opacity: 0.8,
blur: 14,
offsetX: 6,
offsetY: 8
}
]
}
]
}
]
}
},
});
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/river.mp4"},"start":0}]},{"clips":[{"asset":{"type":"image","src":"https://cdn.rendobar.com/compose/showcase/media/logo.png"},"start":0,"length":6,"transform":{"scale":0.2,"position":{"x":"84%","y":"16%"}},"effects":[{"type":"dropShadow","opacity":0.8,"blur":14,"offsetX":6,"offsetY":8}]}]}]}}}'

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

Questions

What does the dropShadow effect do in compose?

A soft shadow under a layer that has transparency, so a logo, a cut-out or a picture in picture lifts off what is behind it. Does nothing on a clip that fills the frame. Keep a white logo readable over bright water.

How do I add drop shadow to a video with an API?

Send a compose job to the Rendobar API with this entry in the timeline: {"type":"dropShadow","opacity":0.8,"blur":14,"offsetX":6,"offsetY":8}. 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 drop shadow?

Every setting has a default, so the type on its own is enough: color #000000, opacity 0.6, blur 16, offsetX 0, and offsetY 8. Set only the ones you want to change.

Footage and sound