Beginner Tutorials (Prompting & Iteration) ·

Sora 2 “Containers” vs Prompts, Explained for Creators: The 9 Settings You Must Lock (and the 6 You Should Leave to Text) (as of 2026-04-27)

Learn Sora 2 containers vs prompts: the 9 settings to lock (duration, size, characters, etc.), what to leave to text, examples, and fixes.

What “containers” are (and why your prompt can’t override them)

If you’ve ever typed “make it 20 seconds, 1080p vertical, same actor as last time” and still got something else, you ran into the containers vs prompts split.

In Sora 2 terms, think of a container as the hard shell your video must fit into—things governed by model-exposed parameters (especially via API) that prose can’t reliably override. The Sora 2 Prompting Guide explicitly notes that some attributes are governed only by API parameters and cannot be requested in prose. (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

At minimum, for creators, containers include:

A prompt, by contrast, is the creative direction: what happens, how it looks, and what is heard.

Simple rule:

  • If it’s a hard constraint (length, format, identity), set it in settings / parameters.
  • If it’s creative direction (subject, motion, camera, lighting, style, audio cues), put it in the prompt.

Note: “Settings” may be a UI panel in your tool or an API request body, depending on your workflow.

The 9 settings you should lock before writing a single line

Below are the nine container decisions to make first. You’ll iterate faster because every prompt attempt is judged inside the same frame.

1) Model selection

Sora 2 exposes a model parameter with options sora-2 or sora-2-pro. (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

Practical creator takeaway: pick the model first, because it affects what sizes are available.

2) Output size (width × height)

Sora 2 uses size formatted like {width}x{height}. (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

The guide includes higher-resolution exports like 1920×1080 and 1080×1920. (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

It also lists supported resolutions by model (for example, sora-2 includes 720×1280 and 1280×720; sora-2-pro includes additional sizes such as 1080×1920 and 1920×1080). (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

3) Duration (seconds)

Lock duration with seconds. Supported values include 4, 8, 12, 16, 20 (default 4). (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

The guide also notes the maximum duration was increased from 12 seconds to 20 seconds. (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

4) Character references (identity lock)

If you need the same person/mascot across variations, treat character references as a container—not a sentence in your prompt.

Sora 2 character references let you upload a character once and reuse it with consistent appearance. (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

You can reference up to two uploaded characters in a generation. (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

5) Shot continuity approach (single clip vs extend)

If you’re building longer sequences, decide whether you’re generating a fresh clip or using video extension.

The guide states video extension can extend an existing video using the full initial clip as context, not just the last frame. (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

Creator implication: extension is a container-level continuity tool; don’t try to “continue seamlessly” with text alone.

6) Platform target (deliverable format)

Not an API parameter by itself, but still a “container” decision: where will this ship?

  • Shorts/Reels/TikTok: vertical (e.g., 1080×1920)
  • YouTube: horizontal (e.g., 1920×1080)

Pick this before prompting so your camera and blocking make sense.

7) Audio plan (on/off + what kind)

Sora 2 can generate audio natively, and it’s worth asking for sound elements that sync with visuals. (https://wavespeed.ai/blog/posts/sora-2-prompting-tips-better-videos-2026/)

Even if your tool doesn’t expose an “audio on/off” toggle, you should still lock your intent: silent b-roll, SFX-only, voiceover, or dialogue.

8) Dialogue strategy (short, verbatim lines)

If you need spoken lines, keep them short and treat dialogue as a structured piece of the request.

A Sora 2 prompt guide recommends placing short lines in a dedicated “Dialogue” block for more accurate lip-sync and verbatim delivery. (https://higgsfield.ai/sora-2-prompt-guide)

9) Production scale decision (single render vs batch)

For lots of variations (ad testing, multiple hooks), the Sora 2 guide mentions a batch API for asynchronous video generation jobs in larger workflows. (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

You don’t need batch to be a creator—but deciding “I’m generating 30 variants today” changes how you write prompts (more templated, less poetic).

The 6 things you should describe in text (and how detailed to get)

Once the container is locked, your prompt becomes cleaner. A helpful structure is: what happens / how it looks / what is heard. (https://wavespeed.ai/blog/posts/sora-2-prompting-tips-better-videos-2026/)

Here are six prompt-layer elements that usually work best as prose:

1) Subject & setting

Who/what is on screen, where they are, and what matters in frame.

2) Action & timing beats

Describe motion as a sequence of beats (“starts with… then… ends on…”). This is where you “direct” the clip.

3) Camera language

Shot type, movement, lens feel, framing priorities. (Keep it consistent with your locked aspect ratio.)

4) Lighting & mood

Time of day, contrast, color temperature, atmosphere.

5) Visual style & texture

Realism vs stylized, film grain, product-shot cleanliness, UGC handheld vibe.

6) Audio cues (SFX, ambience, VO, dialogue)

Ask for specific sound elements that sync with visuals. (https://wavespeed.ai/blog/posts/sora-2-prompting-tips-better-videos-2026/)

If you need exact lines, use a Dialogue block with short lines. (https://higgsfield.ai/sora-2-prompt-guide)

A creator decision tree: where to put each requirement (setting vs prompt)

Use this quick rule-of-thumb flow:

Step 1: Is it a hard constraint?

If it’s duration, resolution/aspect, or identitycontainer/settings.

Step 2: Is it continuity across shots?

If you’re continuing a clip → consider video extension rather than “continue” text prompts. (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

Step 3: Is it creative direction?

If it’s framing, action, mood, style, or sound design → prompt (structured is better than poetic). (https://wavespeed.ai/blog/posts/sora-2-prompting-tips-better-videos-2026/)

3 mini examples (locked settings + short structured prompts)

Below, each example shows what you lock (containers) and a tight prompt (creative).

Example 1: UGC-style vertical ad (creator reel)

Lock (containers/settings):

Prompt (structured):

  • What happens: “Handheld selfie video. Creator holds a small skincare bottle up to camera, then applies a pea-sized amount, then smiles and points to on-screen text area.”
  • How it looks: “UGC vibe, natural indoor window light, slight handheld motion, shallow depth of field, clean skin tones.”
  • What is heard:
    • Dialogue: “Okay, quick review—this feels super light.”
    • SFX: “Subtle room tone; cap click synced to the moment it opens.”

(Use a dedicated Dialogue block if your tool supports it for better verbatim delivery.) (https://higgsfield.ai/sora-2-prompt-guide)

Example 2: Product spin (clean studio)

Lock (containers/settings):

Prompt:

  • What happens: “A premium coffee grinder rotates slowly on a matte white pedestal. End on a hero angle with logo centered.”
  • How it looks: “Studio product video, softbox reflections, crisp edges, minimal background, premium look.”
  • What is heard: “Clean whoosh as the rotation begins, subtle mechanical click at the final stop.”

Example 3: Cinematic establishing shot (brand story)

Lock (containers/settings):

Prompt:

  • What happens: “Slow push-in across a quiet dawn street toward a small bakery as lights turn on inside. A cyclist passes frame left to right near the middle beat.”
  • How it looks: “Cinematic, soft morning haze, warm practical lights inside, gentle lens flare, calm mood.”
  • What is heard: “Distant city ambience, bicycle tire roll passing close, soft door chime as bakery door opens at the end.”

Common failure modes: symptoms → cause (wrong layer) → fix

Symptom Likely cause Fix
“Asked for 20s but got a shorter clip.” Duration wasn’t set as a container. Set seconds to 20 (supported values include 20); don’t rely on “make it longer” prose. (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)
“Prompt says vertical, but output is horizontal.” Size/aspect wasn’t locked. Set size explicitly as {width}x{height} (e.g., 1080×1920). (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)
“Same character looks different across variations.” Identity is being described, not referenced. Use character references (upload once; reuse for consistent appearance). (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)
“Continuation feels like a new scene.” Trying to continue via text only. Use video extension so the full initial clip is context, not just the last frame. (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)
“Lip-sync misses words / paraphrases.” Dialogue is too long or buried in prose. Use short lines and a dedicated Dialogue block when available. (https://higgsfield.ai/sora-2-prompt-guide)
“Audio doesn’t match the action.” Audio intent not specified. Request specific sound elements that sync with visuals. (https://wavespeed.ai/blog/posts/sora-2-prompting-tips-better-videos-2026/)

A 60-second “Container Checklist” before every render

Use this quick checklist to stop wasting generations.

Container checklist

FAQ

What does “Sora 2 containers vs prompts” actually mean?

Containers are settings/parameters that define hard constraints like size, duration, and character references, while prompts describe the creative content (action, look, sound). Some attributes are controlled only by API parameters and can’t be reliably requested in prose. (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

What durations can I set?

The Sora 2 guide lists seconds values of 4, 8, 12, 16, and 20 (default 4), and notes the maximum duration increased from 12 to 20 seconds. (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

How do I keep the same character across multiple videos?

Use character references: upload a character once and reuse it across videos for consistent appearance (up to two characters per generation). (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

Should I describe audio in the prompt?

Yes—one guide recommends explicitly asking for sound elements that sync with the visuals, since Sora 2 can generate audio natively. (https://wavespeed.ai/blog/posts/sora-2-prompting-tips-better-videos-2026/)

CTA: turn this workflow into repeatable output

If you’re ready to operationalize “containers first, prompts second” in your own tooling, explore the Veo3Gen endpoints and build a repeatable generation workflow:

As of 2026-04-27, the fastest way to improve your results isn’t longer prompts—it’s locking the right constraints first, then writing simpler, more direct creative direction inside that container.

Limited Time Offer

Try Veo 3 & Veo 3 API for Free

Experience cinematic AI video generation at the industry's lowest price point. No credit card required to start.