Prompt Engineering & Creative Control ·

Sora 2 “Container vs Prompt” Explained for Creators: The 12 Settings to Lock Outside the Prompt (and the 8 You Should Leave to Text) (as of 2026-05-27)

Learn “container vs prompt” for AI video: what to set as parameters (duration, size, refs) vs what to describe in text—plus rewrites and a fast checklist.

What “container vs prompt” actually means (in plain creator language)

Container = the settings/parameters that constrain the generation. Think: which model, what resolution, how long the clip is, and which uploaded references are allowed. These are the knobs that define the “box” your video must fit inside.

Prompt = the shot description: what we see, who’s there, what they do, the mood, lighting, camera movement, and story beats.

This separation isn’t just a workflow preference—it’s an API reality. OpenAI’s Sora 2 prompting guidance explicitly notes that some attributes are controlled only by API parameters and can’t reliably be requested in prose. (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

So if you’ve been writing “10 seconds, 4K, cinematic quality” inside a paragraph and wondering why it gets ignored, you’re not failing at prompting—you’re putting “container” instructions in the wrong place.

One more mindset shift: re-running the same prompt can produce different results. Variation is normal in generative video; treat each run as a draft and iterate rather than expecting identical clones.

The 12 things you should lock as settings (not write in the prompt)

Below are the types of controls that belong in settings/parameters—because they constrain the generator, and because some of them are explicitly defined as API parameters in the Sora 2 guide.

Two-column cheat sheet: settings vs prompt

Put in Settings (container) Put in Prompt (shot text)
Model choice (e.g., sora-2 vs sora-2-pro) (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide) “Handheld documentary feel”
Frame size / resolution (use {width}x{height}) (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide) “Tight close-up on hands shaping clay”
Duration in seconds (values like 4/8/12/16/20; default 4) (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide) “Start calm, then accelerate into a lively rhythm”
Aspect orientation (choose width/height that implies vertical vs horizontal) (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide) “Vertical social video vibe with centered composition”
Character reference IDs (reuse a character upload for consistency) (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide) “A cheerful barista wearing a teal apron”
Max two character references per generation (plan scenes accordingly) (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide) “Two friends exchange a knowing glance”
Export target (pick a supported resolution for your chosen model) (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide) “Soft, natural window light; gentle film grain”
Video extension mode (extend an existing clip rather than re-generating) (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide) “Continue the motion smoothly as the subject exits frame”
Extension context selection (extension uses the full initial clip as context) (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide) “Match the same color palette and camera movement”
Batch / async workflow for many shots (use batch jobs when scaling) (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide) “Give me three variations: calm, energetic, dreamy” (as creative intent)
Project-level spec locking (series consistency: same size + seconds across shots) “Episode 3: the reveal happens in the last beat”
Reference asset selection (choose which uploaded references are in play) “Wardrobe: neutral tones; minimal logos; brand-safe”

A practical note on resolutions and duration (Sora 2 examples)

If you are using Sora 2 directly, the guide describes:

In Veo3Gen, you should map these ideas to the closest available controls in the UI or API (as of 2026-05-27) rather than assuming identical parameter names.

The 8 things text prompts are best at controlling

Once you’ve locked the container, keep the prompt focused on visual direction. In practice, prompts excel at:

  1. Subject and action (who/what is doing what)
  2. Setting (location, time of day, weather)
  3. Camera language (wide shot vs close-up, dolly-in, overhead, handheld)
  4. Composition (rule of thirds, centered hero framing, negative space)
  5. Lighting (soft daylight, neon rim light, candlelit interior)
  6. Mood and genre (whimsical, tense, cozy, commercial, documentary)
  7. Texture and materials (wet pavement reflections, ceramic glaze, wool fibers)
  8. Pacing inside the clip (a calm opening beat, a moment of surprise, a clean ending)

The payoff: prompts get shorter, clearer, and easier to iterate.

A creator checklist: diagnose “ignored prompt” vs “wrong settings” in 90 seconds

Use this quick checklist whenever a generation “disobeys” you.

90-second checklist

3 prompt examples rewritten the right way (bad → better → best)

These examples are brand-safe and original. The point is structure: move container requests out of prose.

Example 1: Duration + resolution stuffed into the prompt

Bad (prompt tries to force specs):

“Create a 20-second 1920x1080 ultra high quality cinematic video of a chef plating ramen, with dramatic lighting.”

Better (settings + prompt split):

Best (adds clear shot beats without spec-noise):

  • Settings: duration = 20s; size = 1920x1080
  • Prompt: “Close-up on hands finishing a bowl of ramen. Start on garnish placement, then a slow push-in to reveal the full bowl. Warm tungsten highlights, soft shadows, visible steam, calm premium food-ad aesthetic.”

Example 2: Aspect ratio + ‘4K’ arguments in prose

Bad:

“Vertical 4K TikTok format, 16 seconds, best quality. A cyclist rides through a rainy city at night.”

Better:

Best:

  • Settings: duration = 16s; size = 1080x1920
  • Prompt: “Night rain ride through a neon-lit street. Tracking shot from behind, occasional side profile cut-in feel, water droplets on lens, saturated cyan/magenta reflections, energetic pace but readable subject.”

Example 3: Consistent character across scenes

Bad:

“Use the same woman from my last video, exactly the same face and outfit. 12 seconds. Office scene.”

Better:

Best (accounts for reference limits + clear visual cues):

  • Settings: duration = 12s; characters = up to two IDs if needed (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)
  • Prompt: “Modern office, late afternoon. Character sits at desk with a notebook and a ceramic mug. She pauses writing, looks toward camera with a confident, friendly smile. Neutral wardrobe, minimal accessories, soft window light, steady medium shot.”

How to adapt this to Veo3Gen (even if your UI uses different labels)

Think in roles, not parameter names:

  • If Sora 2 says seconds, find Veo3Gen’s clip length / duration control.
  • If Sora 2 says size, use Veo3Gen’s resolution / aspect controls.
  • If Sora 2 uses character references, look for Veo3Gen’s closest feature for reusable character/identity references—or emulate consistency by keeping wardrobe, hair, and defining traits stable in the prompt.
  • If Sora 2 supports video extension, translate that to Veo3Gen’s nearest extend/continue workflow (if available) rather than trying to “continue the last frame” purely with text. Sora 2’s extension uses the full clip as context. (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

When in doubt: put anything that sounds like a hard spec into settings, and keep prompts focused on what a director would say on set.

Common edge cases: why models still “disobey” (and what to do next)

Edge case 1: You’re asking prose to override the container

If the container says one size/duration but the prompt begs for another, the system will prioritize the parameter. OpenAI explicitly frames some attributes as governed by parameters rather than prose. (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

Fix: make settings authoritative; remove spec language from the prompt.

Edge case 2: Supported resolutions depend on the model

The Sora 2 guide lists different supported sizes by model (e.g., sora-2 vs sora-2-pro). (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

Fix: pick the model first, then select a supported size.

Edge case 3: Consistency needs references, not just adjectives

Character references are designed so you can upload once and reuse across videos with consistent appearance. (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

Fix: use reference features when available; otherwise simplify wardrobe and keep prompts consistent.

Edge case 4: Randomness and iteration are part of the workflow

Even with perfect structure, you’ll see variation between runs. That’s normal. Treat outputs like takes: generate a few options, keep what works, and adjust one variable at a time.

FAQ

What does “container vs prompt” mean in one sentence?

Container is settings/parameters that constrain the generation (like duration and resolution), while the prompt is text that describes the shot.

Can I request resolution and duration in the prompt instead of settings?

Not reliably. The Sora 2 guide notes that certain attributes are governed only by API parameters and can’t be requested in prose. (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

How long can Sora 2 videos be?

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

How do I keep a character consistent across multiple videos?

Use character references when available: upload a character once and reuse it for consistent appearance across videos. (https://developers.openai.com/cookbook/examples/sora/sora2_prompting_guide)

Why does the same prompt produce different results each time?

Generative video has inherent variability. Plan to iterate: run multiple takes, then refine prompts and settings based on what you observe.

CTA: Make your specs predictable, then iterate creatively

If you want a workflow where duration, resolution, and references live in settings—and prompts stay clean and direct—build your pipeline around explicit parameters and fast iteration.

  • Explore the endpoints and see how to structure requests: /api
  • Compare plans if you’re scaling generation or running many takes: /pricing

Try Veo3Gen (Affordable Veo 3.1 Access)

If you want to turn these tips into real clips today, try Veo3Gen:

  • Start generating via the API: /api
  • See plans and pricing: /pricing

Sources

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.