Guide

How Shotline works

The parts of the editor that aren't obvious from clicking around: how the timeline thinks, animating with keyframes, blends and mattes, captions, AI Reframe, saving, exporting and the API. Each with an example.

Editing

How the timeline works

A few rules explain almost everything the timeline does when you drag, drop and trim.

Tracks are layers

Every row in the timeline is a track, and the timeline lists the highest track at the top. A clip on a higher track draws over clips on the tracks below it, so a title goes on a track above its video. To change the order without moving clips, right-click → Layer → Bring to Front, Bring Forward, Send Backward or Send to Back. Empty tracks close up on their own.

Track 3TitleTrack 2LogoTrack 1Video
Each row is a track. The higher the track, the closer to the viewer: the title on track 3 draws over the logo, which draws over the video.

One clip at a time on a track

Clips on the same track never overlap (except for transitions, below). If you drop a clip where another one already is, the clips after it are pushed later to make room.

Good to know

To lay a clip over others without pushing anything, drop it between two tracks: you'll see a line, and the clip gets a new track of its own exactly where you dropped it. This matters on caption tracks: dropping onto them pushes later captions out of sync with the speech.

Transitions are overlaps

A transition is the part where the next clip starts before the previous one ends, on the same track. The length of the overlap is the length of the transition.

Clip AClip Btransition 0.6 s
A transition is where the next clip starts before the previous one ends, on the same track. The overlap is the transition's length; Clip B starts 0.6 s early.

There are two ways to add one:

  • Drag a clip so its start overlaps the end of the clip before it. A Fade is created, as long as the overlap.
  • Select the later clip → Animation tab → Transition → pick one (Fade, Slide, Cross Zoom, Whip Pan, Blur Dissolve, Light Leak, Glitch, Cube and more). The clip moves so it starts that much before the previous one ends.
In the editor: click the second clip, open Animation → Transition, hover the cards to preview them, pick Cross Zoom. The clip moves 0.6 s earlier to overlap the first one, and the cut now zooms through.

Change the length with the transition's Duration field, or drag the clip's left edge: on a clip with a transition, the left edge changes the transition, not the trim. Remove takes the overlap away too, so the clip moves to start where the previous one ends.

Clips joined by transitions move together

When you move or lengthen a clip, the clips joined to it by transitions move with it and keep their transition lengths. Drag a clip away from the one before it (leaving a gap) and its transition goes, since there's nothing to blend with; drop it back over that clip and it gets the same transition again.

Splitting, snapping and selecting

  • Split: put the playhead over the clip, right-click it → Split. The left part keeps the clip's enter animation and incoming transition, the right part its exit animation.
  • Snapping: a dragged clip's start, end or centre snaps to other clips' start, end or centre when they're close; trimming edges snaps too.
  • Several at once: drag a box on an empty part of the canvas or timeline, or ⇧ Shift-click / ⌘/Ctrl-click. Drag any of the selected items to move them all. In the Layers panel, ⌘/Ctrl-click adds a layer and ⇧ Shift-click selects a range.
  • Track buttons (left of each track): mute (silent in the preview and the export), hide (not drawn) and lock (can't be moved or deleted).
Good to know

The speed menu in the timeline header (0.5× to 2×) only changes the preview, not the export. To change a clip's real speed, use its Speed field (see clip settings).

Animate anything

Keyframes

A keyframe saves a property's value at a moment. Set one value at one time and another value later, and Shotline fills in every frame in between.

You can keyframe Position X and Y, Scale, Rotation, Opacity, and the Volume of video and audio clips. Keyframe times belong to the clip: move the clip and its animation moves with it.

0s1s2s3s4s80%20%
Two keyframes on Position X: 20% at 0 s and 80% at 3 s. Shotline works out every frame in between (here with Smooth easing). Before the first keyframe and after the last, the value holds.

Adding keyframes

  1. Select the element and move the playhead to where the movement should start.
  2. In the Properties panel, click the small diamond next to the property (for example next to X). It fills in: that's a keyframe at the playhead, at the current value.
  3. Move the playhead later and change the value: type it, or drag the element on the canvas. Because the property already has a keyframe, the change becomes a new keyframe at the playhead. You don't click the diamond again.
  4. Play it back. Add as many keyframes as you like.
In the editor: select the photo, click the diamond next to Scale X at 0 s, go to 5 s and type 140, then play. The photo slowly zooms in (a Ken Burns effect).
Reading the diamond

Grey outline: the property isn't animated. Filled: there's a keyframe at the playhead (click to delete it). Blue outline: the property is animated but the playhead is between keyframes (click to add one here).

Moving between keyframes and changing their feel

When an element has keyframes, a Keyframes box appears at the top of the Properties panel. Each animated property has arrows to jump to the previous or next keyframe, a menu for its easing (put the playhead on a keyframe first), and a bin to remove all of its keyframes. Keyframes also show as small dots on the clip in the timeline: click one to jump to it.

Smooth
slow, fast, slow
Linear
steady speed
Ease in
starts slow
Ease out
ends slow
Hold
jumps at the next keyframe
Easing sets how a value travels from a keyframe to the next one. It belongs to the earlier keyframe.
Example: a slow zoom on a photo (Ken Burns)

Select the photo. At its start, click the diamond next to Scale X (it keyframes the whole scale). Go to its end and set the scale to 120%. The photo now pushes in slowly for its whole length. Add X keyframes too and it drifts as it zooms.

Example: music that dips under speech

On the music clip, put keyframes on Volume: 100% just before the person starts talking, 20% half a second later, 20% where they stop and 100% half a second after that. Use Smooth easing so the dips aren't abrupt.

Good to know

Splitting a clip or trimming its start keeps the keyframes on the same moments of the picture, so the motion carries on across the cut. Keyframes and the preset animations can be combined: a keyframed position plus a fade-in enter animation works as you'd expect.

Animations

Ready-made motion for the start and end of a clip, between clips, and while it's on screen.

Select an element and open the Animation tab. It has four parts:

  • Enter and Exit: how it arrives and leaves (Fade, Slide, Scale, Pop, Drop, Rise, Blur, Zoom Punch, Flip 3D, Reveal…). Texts get extra ones that animate letter by letter, like Typewriter, Scramble, Stomp, Shine and Neon.
  • Transition: how it blends from the clip before it on the same track (see transitions are overlaps, with a recording).
  • Loop: motion while it's on screen. Continuous loops (Ken Burns, Float, Breathe, Spin) run to the end of the clip; emphasis loops (Pulse, Heartbeat, Wiggle, Jello, Camera Shake) play for a moment and repeat. Starts at sets when it begins and Plays how many times (0 = until the end).
In the editor: select the title, open Animation → Enter, hover the cards to preview them, pick Rise, then play. The title's words rise in one after another.

Every animation has a Duration, a Reversed option and an Easing. Curve-type easings show a curve you can drag to shape the motion yourself. Apply to all gives the same enter or exit animation to every other text (or clip) at that level, which is handy for a consistent title style.

Captions animate differently

A caption clip gets Word, Page In and Page Out instead: how each word lights up as it's spoken, and how each page of words arrives and leaves.

Animations or keyframes?

Use animations for standard moves at a clip's start and end. Use keyframes when you need a value at a specific moment: a zoom that peaks mid-clip, a box sliding to an exact spot, volume dipping under a sentence.

Compositions (groups)

A composition is a small timeline inside your timeline: several clips that move, animate and fade as one.

  1. Select two or more elements, right-click → Group. They become one clip on the timeline.
  2. Double-click it (on the canvas, or its layer) to go inside: the timeline now shows only its contents.
  3. Come back out with the breadcrumbs above the canvas, or Esc. Right-click → Ungroup puts the clips back.
Example: a lower third

A name, a job title and a coloured bar, grouped. Give the group a Slide enter animation and the three arrive together; move or copy the group to reuse the lower third elsewhere.

Good to know

A group is normally drawn as one unit, so a blend mode inside it only mixes with things inside the group. Shotline lets the blends reach the tracks below as long as the group has no background fill and isn't faded or animated. Give the group any of those and its inner blends stop affecting what's underneath.

Blend modes and track mattes

Two ways to combine a clip with what's below it: mix the colours (blend mode), or show the clip only through a shape (track matte).

Blend modes

In Properties, turn on Blend and pick a Mode. Each mode has a one-line hint in the menu. The ones you'll use most:

Normal
Covers what's below
Multiply
Darkens; white disappears
Screen
Lightens; black disappears
Overlay
More contrast
Difference
Inverts where bright
Color
Tints with its colour
Bokeh lights shot on black, laid over a landscape, in different blend modes (drawn live by your browser, the way the editor draws them). With Screen the black disappears and only the lights stay. Photos: Pexels.
  • Screen or Add for light leaks, fire, smoke and lens flares filmed on black: the black disappears and only the light stays.
  • Multiply for paper textures, ink and shadows on white: the white disappears.
  • Overlay and Soft Light for grain and colour washes that keep the picture underneath.

Track mattes

A matte shows a clip only through another layer. Put a text, shape or image above the clip, select the clip, turn on Track matte (it picks the layer just above) and choose a Mode:

AlphaThe clip shows inside the matte's shape: text, shapes, logos.
Alpha invertedThe shape becomes a hole.
LumaThe clip shows where the matte is bright, fading where it's dark (gradients, soft edges).
Luma invertedThe clip shows where the matte is dark.
SHOTLINESHOTLINE
Left: a video (here a still of a lake) with a text layer above it. Right: the same video with the text as its Alpha matte, so it only shows inside the letters. Alpha inverted does the opposite: the video shows everywhere except the letters. Photo: Pexels.
Good to know

The matte layer itself isn't drawn; select it in the Layers panel to move or edit it (animate it, and the window into the clip moves). A clip with a matte ignores its blend mode.

Green screen

Remove a solid-colour background from a video or image (chroma key).

  1. Select the clip, turn on Chroma Key and pick the backdrop colour (or a preset: Green, Dark green, Blue, Cyan, Magenta).
  2. Raise Similarity until the backdrop is gone (default 0.4). Too high starts eating into the subject.
  3. Smoothness softens the cut-out edge (hair, motion blur); Spill removes the green glow reflected onto the subject. Reset puts the defaults back.
Good to know

Put the keyed clip on a track above the new background. An evenly lit backdrop keys far better than anything you can fix with the sliders.

Text boxes

Choose how a text box reacts when the text gets longer.

In Properties → Text, Sizing has four modes. Fixed size keeps both the box and the font size as you set them (long text can overflow).

Grows sideways
Auto width
The box hugs the text; lines break only where you press Enter.
Wraps and grows downwards
Auto height
Fixed width; the text wraps and the box grows downwards.
Shrinks to stay inside its box
Shrink to fit
Fixed box; the font size shrinks (or grows) to fit, between Smallest and Largest.
The dashed line is the text box. How it reacts to more text depends on the sizing mode.
  • Use Auto width for short titles, Auto height for paragraphs, and Shrink to fit for templates where the text changes (names, prices) but must stay inside its space.
  • Size is in vmin: a percentage of the frame's shorter side. Change the project from 16:9 to 9:16 and the text keeps its proportions.
  • Upload Font in the font picker takes .ttf, .otf, .woff and .woff2 files (on plans that include custom fonts). Picking a different font by name afterwards stops using the uploaded file.
  • Text is edited in the Properties panel; double-clicking text on the canvas doesn't edit it.

Video, audio and image settings

The settings that change what plays, and how long the clip is.

SettingWhat it does
Trim startWhere in the source file the clip starts playing.
LengthHow long the clip is on the timeline, at most what's left of the source after the trim start.
Speed10% to 400% (presets 0.5× to 2×). Changes the clip's length (2× is half as long) and keeps the voice's pitch. Captions made from the clip stretch with it.
Volume0% to 200%: above 100% makes quiet recordings louder.
Fade in / Fade outSeconds of audio fade at the clip's start and end.
FitCover fills the box and crops the edges; Contain shows the whole picture inside the box; Fill stretches it to the box.
Good to know

Crop is for images: right-click → Crop, with presets (9:16, 16:9, 4:3, 1:1), rotate and flip. Color Filter applies one filter at a time (Brightness, Contrast, Saturate, Grayscale, Sepia, Invert, Blur, Hue Rotate); stack a Color Overlay on top for a tint.

Typing in number fields

Drag left and right on a number field to scrub it, or double-click it to type a value.

Captions

Captions

Word-by-word animated captions from your video's speech, in two places: the Captions page for a quick captioned video, and the editor for captions inside a bigger edit.

On the Captions page

  1. Upload a video and choose Captions when asked what it's for (or, in Media, open a video's menu → Add captions). Transcription starts right away; the language is detected automatically.
  2. Pick a look from the style gallery: it previews on your own words. Fix any misheard words in Transcript: click a line, type, press Enter (Esc cancels; the timestamp button jumps the video there).
  3. Fine-tune the style (below), then Render Video. When it's done, Download Video. It also appears under Projects → Captions.

In the editor

Select a video or audio clip and click Generate Captions in its Properties. You get a Captions clip on the track above (or on a new top track if that space is taken), starting with the clip and timed to its words, already adjusted for the clip's trim and speed. It's an ordinary clip: move it, trim it, style it.

Styling options worth knowing

  • Mode: Highlight words (all words shown, the spoken one highlighted), One word at a time, Karaoke sweep or Plain text.
  • Highlight style: Colour, Pill (a box behind the spoken word), Bigger, Glow, Underline. Spoken and Upcoming set how already-said and not-yet-said words look.
  • Words per line and Lines set how much shows at once. New page at pauses starts a fresh page when the speaker pauses, so a sentence doesn't straddle two thoughts.
  • Position → Lower keeps captions clear of the TikTok, Reels and Shorts buttons.
  • Highlight early lights each word up to 300 ms before it's spoken, which often feels more in sync.
Your own styles

Change any built-in style, then Save as my style and give it a name. Your styles appear first in the gallery under My styles, on the Captions page and in the editor. Custom styles and uploaded fonts depend on your plan.

Example: a talking-head clip for Reels

A 9:16 video on the Captions page → Hormozi → fix a misheard name in the transcript → Position Lower → Render Video.

AI

AI Reframe

Turn a wide video into vertical, square or any other shape. The AI follows the people in it and keeps them in frame.

9:16
Left: the wide video, with the 9:16 crop AI Reframe chose around the person speaking. Right: the vertical video it makes. The crop moves smoothly as people move and as the speaker changes, shot by shot. Photo: Pexels.
  1. Upload a video and choose Reframe when asked what it's for (or, in Media, open a video's menu → Reframe).
  2. Choose the shape: 9:16 (Reels, Shorts, TikTok), 1:1, 4:5, 2:3 or 16:9.
  3. Choose Framing: Keep it sharp never enlarges the video much; Balanced zooms in moderately on small subjects; Tighter framing zooms in more, even if the picture gets softer.
  4. Click Reframe. It analyses the video (usually about a minute) and shows a preview. Then Render to MP4 and Download MP4.

Shot by shot, it picks a layout: following the subject, the whole picture, a split screen for two people, or the person over a blurred background when nothing else fits.

Text and captions already in the video

If the video has titles or captions burned in, cropping would cut them off. Shotline offers to keep them (ticked per kind of text), or, for captions, Replace with Shotline captions: it frames the person larger without the old captions and adds new ones from the transcript.

Example: a podcast clip for Shorts

A 16:9 two-person podcast → 9:16, Balanced. The crop follows the people shot by shot, and can use a split screen for shots with both of them. Finished reframes are under Projects → Reframes.

Saving and versions

Everything saves automatically. You only see a message when something needs your attention.

  • No message means saved. A banner appears only if saving is retrying, you're offline, you've been signed out, or the project changed somewhere else.
  • Offline? Keep working. Your changes are kept on this device and save when you're back online.
  • Unsaved changes found: if the browser closed before a save finished, reopening the project offers to Restore them (they were kept on that device) or Discard them.
  • Changed elsewhere: if the project was saved from another tab or device, choose Reload (take theirs) or Overwrite (keep yours). Only one tab edits a project at a time; another tab asks before taking over.

Version history

The clock button in the editor's toolbar opens Version history. A version is saved every few minutes while you edit, every time you render, and when you leave with Save & Leave; the latest 50 are kept. Pick one to see what changed, then Restore. What was open is saved too (as Before restore), so you can always switch back.

Exporting and sharing

Render turns the project into an MP4 in the cloud; you don't need to keep the tab open.

  • Render (top right) saves your latest changes first, then renders exactly that version. You can close the progress window, or the tab: the render carries on. Cancel render returns its minutes to your plan.
  • Renders lists every render of the project with a preview and Download.
  • Render minutes count the length of the video you render (not the time it takes). They reset each month and are refunded for failed or cancelled renders. Your plan also sets the highest resolution: a bigger project is scaled down to it. See Settings → Plan & usage for your numbers.
Share links

Renders are private files. Their links (shotline.in/r/…) work for anyone who has the link, for as long as the render exists, so share them like you would a private video link.

For developers

Templates and the API

Any project can be a template: render it from your own code or Zapier with different text and media each time.

  1. In the project, give the layers you want to change clear names in the Layers panel (the pencil button), for example Title or Logo.
  2. Click Use Template. It lists what you can change (named text and caption layers take text; named video, image and audio layers take a public file URL) and gives a ready-to-copy snippet in cURL, Node.js or Python.
  3. Create a key in Settings → API keys. You see it once, so copy it then.
curl -X POST https://api.shotline.in/api/v1/render \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "templateId": "YOUR_TEMPLATE_ID",
    "variables": {
      "Title": "Summer sale: 30% off",
      "Logo": "https://example.com/logo.png"
    }
  }'

# 202 { "id": "…", "status": "pending", … }
# Then GET /render/{id} until status is completed, failed or cancelled:
# completed → outputUrl (watch) and downloadUrl (file)
  • Variables match layer names; layers with the same name change together. A name that matches nothing comes back in warnings instead of failing the render.
  • Renders use the project's last saved version, so the Use Template window saves your changes when it opens.
  • Add webhookUrl to be called when the render finishes instead of polling, and an idempotencyKey so a retried request never starts a second render.

Keyboard shortcuts

⌘ on a Mac, Ctrl on Windows and Linux. Shortcuts don't fire while you're typing in a field (except undo and redo).

⌘/Ctrl ZUndo
⌘/Ctrl ⇧ Shift ZRedo (also Ctrl+Y)
⌘/Ctrl CCopy
⌘/Ctrl XCut
⌘/Ctrl VPaste: same time, on a new top track
⌘/Ctrl DDuplicate: the copy starts at the playhead, on the track above
⌘/Ctrl ASelect all
DeleteDelete the selection (Backspace works too)
SpacePlay / pause
EscClear the selection; inside a composition, go back up
← ↑ → ↓Nudge the selection (Shift + arrow moves 10× further)

The video editor that runs in a tab. Edit, caption and reframe for every platform, right in your browser.

© 2026 Shotline. Made for creators.