What does the timer clip do in compose?
A running countdown over the clip. It counts down from the clip's own length, so a 6 second clip starts at 6.
Captions and timers
A running countdown over the clip. It counts down from the clip's own length, so a 6 second clip starts at 6.
Shown on A cup of coffee
Use it as a clip's asset, on a track above the footage.
{ "asset": { "type": "timer", "direction": "down", "format": "SS.SS", "style": { "font": "Inter", "size": 64, "weight": 800, "color": "#FFFFFF", "shadow": {} } }, "transform": { "position": { "x": "18%", "y": "80%" } }, "start": 0}The whole request behind the render above. Paste it as it is, or swap the file for your own.
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/coffee.mp4" }, start: 0 } ] }, { clips: [ { asset: { type: "shape", shape: "rect", color: "#0B0F0DE8", radius: 0.18 }, transform: { size: { width: "25%", height: "20%" }, position: { x: "18%", y: "78%" } }, start: 0, length: 6 } ] }, { clips: [ { asset: { type: "text", text: "STEEPING", style: { font: "Inter", size: 20, weight: 700, color: "#9BE7C4" } }, transform: { position: { x: "18%", y: "71%" } }, start: 0, length: 6 } ] }, { clips: [ { asset: { type: "timer", direction: "down", format: "SS.SS", style: { font: "Inter", size: 64, weight: 800, color: "#FFFFFF", shadow: {} } }, transform: { position: { x: "18%", y: "80%" } }, start: 0 } ] } ] } },});
console.log(outputUrl(job));Install with npm i @rendobar/sdk. jobs.run() submits and waits, so it returns the finished job in one call.
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/coffee.mp4"},"start":0}]},{"clips":[{"asset":{"type":"shape","shape":"rect","color":"#0B0F0DE8","radius":0.18},"transform":{"size":{"width":"25%","height":"20%"},"position":{"x":"18%","y":"78%"}},"start":0,"length":6}]},{"clips":[{"asset":{"type":"text","text":"STEEPING","style":{"font":"Inter","size":20,"weight":700,"color":"#9BE7C4"}},"transform":{"position":{"x":"18%","y":"71%"}},"start":0,"length":6}]},{"clips":[{"asset":{"type":"timer","direction":"down","format":"SS.SS","style":{"font":"Inter","size":64,"weight":800,"color":"#FFFFFF","shadow":{}}},"transform":{"position":{"x":"18%","y":"80%"}},"start":0}]}]}}}'Returns immediately with a job id. Poll GET /jobs/{id} or register a webhook rather than blocking on the request.
A running countdown over the clip. It counts down from the clip's own length, so a 6 second clip starts at 6.
Send a compose job to the Rendobar API with this entry in the timeline: {"asset":{"type":"timer","direction":"down","format":"SS.SS","style":{"font":"Inter","size":64,"weight":800,"color":"#FFFFFF","shadow":{}}},"transform":{"position":{"x":"18%","y":"80%"}},"start":0}. Use it as a clip's asset, on a track above the footage. The request on this page is complete and renders as shown.