← Blog
September 5, 2026·5 min read

Slates, Bumpers, End Cards, and Joining Clips: Conform Learns to Splice

A still image on the front of a video, a title card in the middle, or two clips joined into one — three different names for the same underlying operation. We added conform_splice_from_url and conform_splice_media: an ordered list of video and/or image segments in, one continuous fresh-encoded output out.

A question that comes up in enough shapes that it's worth naming properly: can you put a still image on the front of a video? On the back? In the middle? And is splicing two video clips together the same kind of operation?

It is, and the industry already has names for the shapes it takes depending on where the image lands. Put it before the footage and it's a head slate or bumper — a title card, a logo, a content warning. Put it after and it's a tail slate or end card — credits, a contact card. Put it in the middle and it's a mid-roll insert or cutaway — a caption card dropped between two shots. Use no image at all, just two or more real clips in a row, and it's a plain splice — joining footage back-to-back.

Four names, one mechanism: an ordered list of segments — some video, some still images held for a fixed duration — concatenated into one continuous timeline.

Why a still image isn't just "another video"

The mechanical wrinkle is that a still image has no duration and no audio track of its own, so it can't simply be concatenated the way two video files can. Every image segment first gets turned into a synthetic mini-clip — held for exactly as long as you ask, at the same resolution, frame rate, and pixel format as the rest of the timeline — with a silent audio track generated underneath it so the output's audio never drops out at the cut. A real video segment without its own audio gets the same silent-track treatment. Every segment is also scaled to fit and letterboxed, not stretched, when its aspect ratio doesn't match — a square logo slate against 16:9 footage keeps its shape instead of distorting to fill the frame.

Once every segment is normalised to the same spec, they concatenate cleanly regardless of what produced each one — a generative video model's output, a screen recording, a static PNG exported from a design tool.

What we added

conform_splice_from_url and conform_splice_media take an ordered segments array — each entry either {type: "video", url} or {type: "image", url, duration_seconds} — and return one fresh-encoded output. At least one segment must be video (it sets the output's default resolution and frame rate); 2–8 segments per job.

How to run it

A title card in front of an episode — the head slate / bumper case:

const { job_id } = await callTool("conform_splice_from_url", {
  segments: [
    { type: "image", url: "https://cdn.example.com/title-card.png", duration_seconds: 3 },
    { type: "video", url: "https://cdn.example.com/episode-04.mp4" }
  ],
  output_format: "mp4"
});

// Botverse returns:
// { job_id: "job_7f2b9a1c", status: "pending", segments: 2, estimated_cost_usd: 0.30 }

Move the same image entry to the end of the array and it's a tail slate / end card instead. Put it between two video entries and it's a mid-roll insert. Drop the image entirely and use two video entries and it's a straight splice — joining clips with no image involved:

const { job_id } = await callTool("conform_splice_media", {
  segments: [
    { type: "video", object_key: "inputs/…/part-a.mp4" },
    { type: "video", object_key: "inputs/…/part-b.mp4" }
  ],
  output_format: "mp4"
});

Same async pattern as every other Botverse job: poll get_job_status, then get_download_url once it completes.

Pricing

Splice shares Conform's base rate — $0.30 covers up to two segments (the common "one video plus one slate" shape), with a $0.05 flat add-on per segment beyond that. Duration-based overage settles the same way transcode and conform already do: at $0.08/min once the combined output passes 5 minutes. Full reference at botverse.cloud/docs/services/conform#splice.

Ready to connect your agent to Botverse? Set up in five minutes. No contracts, no minimums.

Ready to connect your agent to Botverse?

Set up in five minutes. No contracts, no minimums.

Get started