Back to blog
Video10 min read

Prompting for Short-Form Vertical Video

Vertical video prompts for TikTok, Reels and Shorts: the real 9:16 constraints on Veo 3.1, Kling 3.0 Omni and Runway Gen-4.5, hook-first-frame craft, and three copy-paste templates.

NH
Nafiul Hasan

TL;DR: Vertical short-form prompting has exactly one hard constraint worth knowing: Veo 3.1 offers only 9:16 as its vertical ratio, full stop. Kling adds a square option that isn't vertical at all, and Runway's vertical branch is the narrowest of the three. Everything past aspect ratio, the hook, the pacing, the cut, is prose craft, not a platform algorithm rule.

Most advice for TikTok, Reels or Shorts prompting reads like it was written for the algorithm rather than the model. It isn't wrong to care about the algorithm, it's that almost none of it is verifiable, and confusing platform folklore with model documentation gets the actual constraint backwards. The one thing that's genuinely fixed here is the frame itself: what aspect ratio each model will actually give you, and how much room that leaves for composing a hook. Two separate questions get merged constantly in this category: what a platform's own product actually accepts, and what its algorithm supposedly rewards. The first is checkable in minutes by opening the app. The second is, almost without exception, a number nobody outside the platform can verify, and this post treats that distinction as load-bearing throughout.

The vertical constraint that's actually real

Checked directly against each vendor's request schema rather than a marketing page, the three models here treat "vertical" very differently.

Verified against each vendor's own request schema, accessed September 3, 2026.
FeatureVeo 3.1Kling 3.0 OmniRunway Gen-4.5 (text-to-video)
Vertical ratio offered9:16 only9:16, plus 1:1 (not vertical)720:1280 only
Total ratio options16:9, 9:16 — nothing else16:9, 9:16, 1:11280:720, 720:1280
Duration on the vertical branch4, 6 or 8s (8s forced past 720p)3-15s, default 52-10s
Audio on generationNative, automaticOff by default; settable to nativeNone

Veo's own parameter table states aspectRatio as exactly "16:9" (default), "9:16", repeated identically across every branch of its API, text-to-video, image-to-video and reference-image generation alike. There is no third value anywhere on that page. If a template claims a 4:5 or 3:4 option for Veo, it's describing a different platform's crop, not anything the model itself accepts.

{
  "prompt": "Close, handheld-feeling shot of hands quickly assembling a small espresso setup on a kitchen counter, fast-paced action, quick cuts of grinding beans, tamping, and the first pour, warm morning light through a window just behind the frame",
  "config": {
    "aspectRatio": "9:16",
    "durationSeconds": "8"
  }
}

Writing a hook into the first frame, not just the first second

"Hook in the first frame" is production craft, not a platform-specific trick, the same principle a 30-second TV spot or a movie trailer has always leaned on. What's specific to a model prompt is that the FIRST thing described in the sentence is often what the model treats as the opening beat, so burying the actual hook mid-paragraph, after three clauses of scene-setting, risks it landing late in the generated clip rather than at frame one. Lead with the visual hook, then layer in the setting.

Pacing itself is real, documented vocabulary, not a vague creative instruction. Google's video-generation prompt guide names "Pacing" as one of its temporal elements and gives three example phrases directly: "slow-motion", "fast-paced action", "time-lapse". None of those are request parameters on any model checked for this post, they're words you put in the sentence, the same as any other descriptive term, but they are the vendor's own suggested vocabulary rather than something invented for this post.

{
  "prompt": "shot 1, 2, a phone screen lighting up with a single notification, fast-paced action, quick zoom in; shot 2, 3, a hand grabbing a jacket off a hook already mid-motion, urgent energy, morning light through a doorway;",
  "settings": {
    "aspect_ratio": "9:16",
    "duration": 5,
    "multi_shot": true,
    "audio": "native"
  }
}

That shot-list syntax, "shot n, m, words;", is Kling's own documented Custom Multi-Shot grammar, not something specific to vertical video, it works identically at 16:9. What changes at 9:16 is what actually fits: a two-person wide shot that reads fine in landscape usually needs to become two separate close shots in portrait, since there's no horizontal room left to hold two subjects side by side. Our post on prompting multi-shot sequences covers the full grammar and Runway's competing recipe endpoint in depth; this is deliberately the short version.

A concrete before-and-after is more useful here than more rules. A prompt written "A cozy kitchen in the morning, sunlight coming through the window, someone is making coffee, camera slowly moves around the room, fast-paced action" buries its hook behind three clauses of scene-setting and lands the pacing word last, after the model has already committed to a leisurely opening beat. Rewritten as "Fast-paced action: hands grinding coffee beans in quick, energetic motion, morning sunlight through a kitchen window, camera close and slightly handheld" the hook and the pace are both stated before anything else, and the scene-setting detail follows rather than leads. Nothing about the underlying request changed, aspect ratio, duration, model, only the order the sentence puts things in, and order is one of the few genuinely free levers a prompt has.

Composition for a frame nobody's holding sideways

A few plain rules carry more weight in 9:16 than they do in landscape, because there's roughly half the horizontal space to work with and the viewer is holding the phone still:

  • Center the subject, don't rely on a rule-of-thirds crop. A subject placed a third of the way into a 16:9 frame often lands right at the edge once the same composition is described for 9:16; describe subject placement as centered unless there's a specific reason not to.
  • Keep headroom modest. A wide landscape establishing shot reads as spacious; the same amount of empty sky or ceiling above a subject in portrait reads as wasted frame.
  • Leave the very top and bottom visually simple. Every major short-form app overlays its own interface, captions, a username, an engagement bar, over both edges of the frame. Describing a busy background element at the extreme top or bottom risks it fighting with UI that isn't part of the generated clip at all.
  • Favor one clear subject over an ensemble. A wide shot with three or four elements competing for attention in landscape usually needs to become a sequence of single-subject shots in vertical, not one crowded frame.

None of this is a platform's algorithm rewarding anything specific, and this post won't assert that it is. It's the geometry of a tall, narrow frame, true regardless of which app eventually plays the clip back.

Where a caption or text overlay actually goes

Most short-form video carries on-screen text somewhere, a caption, a hook line, a call-out, added either in the app itself or in an edit after the clip is generated. None of the three vendors checked for this post expose a text-overlay or caption field on video generation; Veo, Kling and Runway all treat visible on-screen text the same way they treat everything else in this post, as something you either describe into the generated frame itself (readable signage, a title card baked into the shot) or add afterward in a separate editing step. Planning which one you're doing before you generate the clip matters: baked-in text has to be described carefully enough to render legibly, which is a real limitation on any current video model, while an overlay added afterward just needs the underlying shot to leave room for it. For most caption-driven short-form content, leaving the overlay for the edit and keeping the generated shot itself clean is the more reliable path.

Pacing and the cut, briefly

Fast cutting is where short-form content earns its reputation, and it's also where the least reliable claims about "what works" tend to live. BytePlus's own Seedance prompting documentation is reported elsewhere to name camera-technique terms like a speed ramp, bullet time and a handheld look as directly-writable vocabulary; its doc page returned an unrendered, JavaScript-only shell on the day this post was checked, so that specific naming is passed along rather than independently confirmed here, and it's presented as paraphrase rather than a quote for that reason. What's not documented anywhere checked for this post is a specific cut frequency, shot length or retention curve that a platform has published as a rule. Treat pacing as a craft choice made shot by shot, not a formula.

{
  "promptText": "Quick, energetic handheld shot of a small plant being repotted, fast cuts implied through rapid hand movement, soil falling past frame, terracotta pot filling most of the vertical frame, bright diffused daylight",
  "ratio": "720:1280",
  "duration": 5,
  "seed": 118204
}

Runway Gen-4.5's request body stays narrow here too: promptText, ratio, duration, seed, contentModeration and outputFormat, confirmed against its own schema. 720:1280 is the only vertical value the text-to-video branch accepts; the image-to-video branch adds a few square and near-square options, but none of them are taller than they are wide. For a fuller reference on how much runway (no pun intended) you have across a whole sequence's duration budget, AI video duration parameters by model and Kling's motion and camera control documentation cover the adjacent ground this post deliberately leaves out. For the pacing vocabulary itself in more depth, pacing and timing in video prompts is the dedicated piece.

What "platform-native" should actually mean in a prompt

It should mean the frame, not the folklore. Vertical platforms are built around a 9:16 container, that part is stable and easy to verify by opening any of them. Claims about what the algorithm specifically rewards, ideal video length, optimal posting time, a magic first-three-seconds retention number, circulate constantly and are almost never traceable to something the platform itself published. This post has deliberately stuck to what's checkable: the aspect ratio a model will actually generate, the vocabulary vendors document for pacing and camera work, and the plain geometry of a tall frame. If a claim about engagement or reach shows up somewhere else with a specific number attached, it's worth asking where that number came from before building a prompt strategy around it.

Practically, that argues for testing before committing a whole batch of clips to one template. Generate one vertical shot, look at it on an actual phone screen rather than a desktop preview, and check the three things this post has actually claimed are stable: does the hook read clearly in the first frame, does the top and bottom stay clear of anything the shot needed, and does the pacing word in the prompt match what came out. Everything past those three is a creative decision, not a rule this post or anyone else can hand you with certainty.

If some of the footage you're shooting vertical started life as a wide landscape or travel shot, travel and landscape video prompts covers the 16:9 side of the same decision and where a straight center-crop breaks down.

One closing note on scope: every field, enum and quote above belongs to Google, Kling AI, Runway or BytePlus, read from their own documentation on September 3, 2026. We build the prompt and the library it lives in, not the video itself, and these schemas move fast enough that it's worth confirming the live request shape before shipping a pipeline on any of it.

Free Chrome Extension

Stop rewriting prompts. Start shipping.

Works with ChatGPT, Claude, Gemini, Grok, Midjourney, Ideogram, Veo3 & Kling. 4.8★ on the Chrome Web Store.

Create An Account

Frequently asked questions

Free Chrome Extension

Stop rewriting prompts. Start shipping.

Works with ChatGPT, Claude, Gemini, Grok, Midjourney, Ideogram, Veo3 & Kling. 4.8★ on the Chrome Web Store.

Create An Account