---
title: Writing prompts for full shots and sequences — P-Video-2-Pro | Runware Docs
url: https://runware.ai/docs/models/prunaai-p-video-2-pro/guides/prompting
description: How to write prompts for Pruna P-Video-2-Pro, from a quick exploring prompt to a timed multi-shot brief, and what the three prompt expander levels change.
---
### [Introduction](https://runware.ai/docs/models/prunaai-p-video-2-pro/guides/prompting#introduction)

A P-Video-2-Pro prompt has **up to 10,000 characters** to work with, which is room for a short script rather than a caption. That room is what lets one request carry a whole sequence: which shot comes first, what each one shows, where it cuts, and what the result sounds like.

[Watch video](https://runware.ai/docs/assets/hero.B6zUxNxl.mp4)

*Three shots with a time cue on each, one soundtrack*

> **Prompt**: A promo for a boutique seaside hotel, three shots. Shot one, for the first four seconds: a wide shot of an empty infinity pool at dawn, the water perfectly still and the sea beyond it turning pink, the camera drifting slowly to the right. Shot two, for the next four seconds: a close-up of a woman in a white robe pushing open tall wooden shutters, morning light flooding across her face as she smiles at the view. Shot three, for the final four seconds: a medium shot from the pool edge as she, now in a navy swimsuit with the robe left on a lounger, dives into the water, ripples spreading toward the camera. Photoreal hospitality advertising cinematography, soft warm dawn light throughout, no text, no logos. Audio: gentle waves and early birdsong running across all three shots, the creak of the shutters opening, a clean splash as she dives, no music, no voice.

Three shots, **cut in the order the prompt gives**, with one soundtrack of water and birds running under both cuts. This guide covers the layers a full prompt carries, when a short prompt is the better tool, how far time cues go, how to ask for cuts, and what the prompt expander does to each of them.

### [What a full prompt carries](https://runware.ai/docs/models/prunaai-p-video-2-pro/guides/prompting#what-a-full-prompt-carries)

A full prompt is a stack of layers, and **each layer answers a question** the model would otherwise answer for you. The kitchen brief used later in this guide, broken into its parts:

**[Subject]** A father in a gray henley and his six-year-old daughter in yellow pajamas stand at a kitchen counter making pancakes, **[Action]** He pours batter into a pan while she stands on a step stool beside him and drops blueberries onto it, then they look at each other and laugh, **[Setting]** A bright family kitchen with white cabinets and a window over the sink, **[Camera]** Medium shot at counter height, the camera drifting slowly closer, **[Lighting]** Soft morning sunlight from the window behind them, **[Style]** Photoreal lifestyle stock footage, natural skin texture, **[Exclusion]** no text, no logos, no brand names on packaging, **[Audio]** Audio: batter sizzling in the pan, their quiet laughter, a spoon tapping a bowl, no music, no spoken words

Leave out the camera layer and the model picks a framing. Leave out the audio layer and it invents a track, because **every clip comes back with sound** and there is no switch to turn it off. [Dialogue and audio](https://runware.ai/docs/models/prunaai-p-video-2-pro/guides/dialogue-and-audio) covers that layer in depth.

**The exclusion layer** earns its place on commercial work. "No brand names on packaging" is there because a kitchen is full of packaging, and a stock clip with a readable cereal box in the background cannot be licensed. Write the exclusions for the scene you are actually shooting.

Order matters less than presence, but keeping one order across a project, **scene first, then camera and light, then sound**, makes two prompts easy to compare when you change a single layer.

### [Short prompts for exploring, full briefs for finals](https://runware.ai/docs/models/prunaai-p-video-2-pro/guides/prompting#short-prompts-for-exploring-full-briefs-for-finals)

The same kitchen idea at both lengths, on one seed:

[Watch video](https://runware.ai/docs/assets/brief-short.BZM69hCY.mp4)

*Eleven words*

> **Prompt**: A father and his young daughter make pancakes in a kitchen.

[Watch video](https://runware.ai/docs/assets/brief-full.BY00WGAu.mp4)

*The full brief*

> **Prompt**: A father in a gray henley and his six-year-old daughter in yellow pajamas stand at a kitchen counter making pancakes. He pours batter into a pan while she stands on a step stool beside him and drops blueberries onto it, then they look at each other and laugh. A bright family kitchen with white cabinets and a window over the sink. Medium shot at counter height, the camera drifting slowly closer. Soft morning sunlight from the window behind them. Photoreal lifestyle stock footage, natural skin texture, no text, no logos, no brand names on packaging. Audio: batter sizzling in the pan, their quiet laughter, a spoon tapping a bowl, no music, no spoken words.

The short prompt still comes back looking finished, because **the prompt expander is on by default** and writes the missing layers before generation. What it writes is its own choice of kitchen, wardrobe, light and framing. The full brief puts the gray henley and the bowl of blueberries in the shot because it asked for them.

**Explore with the short version** while the idea is still moving, and switch to a full brief once you know what the shot is. The brief is what stops details drifting between one version of the clip and the next.

**TypeScript**:

```typescript
import { createClient } from '@runware/sdk'

const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()

const [result] = await client.run({
  model: 'prunaai:p-video@2-pro',
  positivePrompt: 'A father in a gray henley and his six-year-old daughter in yellow pajamas stand at a kitchen counter making pancakes. He pours batter into a pan while she stands on a step stool beside him and drops blueberries onto it, then they look at each other and laugh. A bright family kitchen with white cabinets and a window over the sink. Medium shot at counter height, the camera drifting slowly closer. Soft morning sunlight from the window behind them. Photoreal lifestyle stock footage, natural skin texture, no text, no logos, no brand names on packaging. Audio: batter sizzling in the pan, their quiet laughter, a spoon tapping a bowl, no music, no spoken words.',
  width: 1344,
  height: 768,
  duration: 8,
  seed: 8150364,
  deliveryMethod: 'async'
})
```

**Python**:

```python
import asyncio
import os

from runware import Runware

async def main():
    async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
        results = await client.run({
            "model": "prunaai:p-video@2-pro",
            "positivePrompt": "A father in a gray henley and his six-year-old daughter in yellow pajamas stand at a kitchen counter making pancakes. He pours batter into a pan while she stands on a step stool beside him and drops blueberries onto it, then they look at each other and laugh. A bright family kitchen with white cabinets and a window over the sink. Medium shot at counter height, the camera drifting slowly closer. Soft morning sunlight from the window behind them. Photoreal lifestyle stock footage, natural skin texture, no text, no logos, no brand names on packaging. Audio: batter sizzling in the pan, their quiet laughter, a spoon tapping a bowl, no music, no spoken words.",
            "width": 1344,
            "height": 768,
            "duration": 8,
            "seed": 8150364,
            "deliveryMethod": "async"
        })

asyncio.run(main())
```

**cURL**:

```bash
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "videoInference",
      "taskUUID": "0c7e4b92-5a13-4f68-9d21-3b8a6e1f7c45",
      "model": "prunaai:p-video@2-pro",
      "positivePrompt": "A father in a gray henley and his six-year-old daughter in yellow pajamas stand at a kitchen counter making pancakes. He pours batter into a pan while she stands on a step stool beside him and drops blueberries onto it, then they look at each other and laugh. A bright family kitchen with white cabinets and a window over the sink. Medium shot at counter height, the camera drifting slowly closer. Soft morning sunlight from the window behind them. Photoreal lifestyle stock footage, natural skin texture, no text, no logos, no brand names on packaging. Audio: batter sizzling in the pan, their quiet laughter, a spoon tapping a bowl, no music, no spoken words.",
      "width": 1344,
      "height": 768,
      "duration": 8,
      "seed": 8150364,
      "deliveryMethod": "async"
    }
  ]'
```

**CLI**:

```bash
runware run prunaai:p-video@2-pro \
  positivePrompt="A father in a gray henley and his six-year-old daughter in yellow pajamas stand at a kitchen counter making pancakes. He pours batter into a pan while she stands on a step stool beside him and drops blueberries onto it, then they look at each other and laugh. A bright family kitchen with white cabinets and a window over the sink. Medium shot at counter height, the camera drifting slowly closer. Soft morning sunlight from the window behind them. Photoreal lifestyle stock footage, natural skin texture, no text, no logos, no brand names on packaging. Audio: batter sizzling in the pan, their quiet laughter, a spoon tapping a bowl, no music, no spoken words." \
  width=1344 \
  height=768 \
  duration=8 \
  seed=8150364 \
  deliveryMethod=async
```

**JSON**:

```json
{
  "taskType": "videoInference",
  "taskUUID": "0c7e4b92-5a13-4f68-9d21-3b8a6e1f7c45",
  "model": "prunaai:p-video@2-pro",
  "positivePrompt": "A father in a gray henley and his six-year-old daughter in yellow pajamas stand at a kitchen counter making pancakes. He pours batter into a pan while she stands on a step stool beside him and drops blueberries onto it, then they look at each other and laugh. A bright family kitchen with white cabinets and a window over the sink. Medium shot at counter height, the camera drifting slowly closer. Soft morning sunlight from the window behind them. Photoreal lifestyle stock footage, natural skin texture, no text, no logos, no brand names on packaging. Audio: batter sizzling in the pan, their quiet laughter, a spoon tapping a bowl, no music, no spoken words.",
  "width": 1344,
  "height": 768,
  "duration": 8,
  "seed": 8150364,
  "deliveryMethod": "async"
}
```

### [Timing inside a clip](https://runware.ai/docs/models/prunaai-p-video-2-pro/guides/prompting#timing-inside-a-clip)

A prompt that lists events in order leaves the model to decide **when each one happens**, and a time cue in the prompt only nudges that decision. The same stroller demo with and without one, both eight seconds on one seed with the expander off. The cued prompt asks for six still seconds and the reveal in the last two:

[Watch video](https://runware.ai/docs/assets/timing-untimed.kW9fmd-y.mp4)

*No time cue*

> **Prompt**: A parent holds a compact folded stroller upright by its handle on a sunny park path, presses the release button on the handle, and the frame swings open and locks into place. Photoreal parenting product demo cinematography, locked-off side-on wide shot with the whole stroller in frame from its wheels to its handle, soft daylight, green park softly out of focus behind, only the hand and forearm of the parent visible, no text, no logos. Audio: park ambience, a firm click as the frame locks, no music, no voice.

[Watch video](https://runware.ai/docs/assets/timing-cued.B9LTbHUe.mp4)

*Reveal cued for the six-second mark*

> **Prompt**: For the first six seconds, a parent holds a compact folded stroller upright by its handle on a sunny park path and nothing moves. At the six-second mark the thumb presses the release button on the handle, and in the final two seconds the frame swings open and locks into place. Photoreal parenting product demo cinematography, locked-off side-on wide shot with the whole stroller in frame from its wheels to its handle, soft daylight, green park softly out of focus behind, only the hand and forearm of the parent visible, no text, no logos. Audio: park ambience, a firm click as the frame locks, no music, no voice.

The untimed stroller opens at about three and a half seconds. The cued one opens at about four, **not at six**, and spends its first second being wheeled into place despite "nothing moves". A single action lands near the middle of the clip whatever the cue asks for.

So **put exact timing in the edit**. A reveal that has to land on the last beat of a bumper is a trim: generate the clip, find the moment and cut the head so it lands where the edit needs it. Keep time cues for the rough order and pacing of a sequence, where a second either way does no harm.

> [!NOTE]
> Cue in whole seconds and keep every cue inside the `duration` you send. A prompt that describes twelve seconds of events in an eight-second clip leaves the model to compress them.

### [Asking for cuts](https://runware.ai/docs/models/prunaai-p-video-2-pro/guides/prompting#asking-for-cuts)

Describe several things happening and the model decides whether they are one take or several. **Number the shots** and give each its own framing, and they come back as an edit. Both clips run on one seed with the expander off:

[Watch video](https://runware.ai/docs/assets/cuts-described.VVNQSAVc.mp4)

*Three moments described, one take*

> **Prompt**: An indoor cycling class in a dark studio lit with magenta and blue lights. Riders pedal hard in rows, one rider grips the handlebars as sweat drips onto them, and the instructor at the front raises one arm to push the class through the final sprint. Photoreal fitness studio social promo cinematography, vertical framing, no text, no logos. Audio: a driving electronic beat, bikes whirring, no voice.

[Watch video](https://runware.ai/docs/assets/cuts-numbered.Cmuf8gLv.mp4)

*Three shots numbered*

> **Prompt**: Three shots. First shot: a wide view of an indoor cycling class in a dark studio lit with magenta and blue lights, riders pedaling hard in rows. Cut to a second shot: a close-up of one rider gripping the handlebars as sweat drips onto them. Cut to a third shot: a low angle on the instructor at the front raising one arm to push the class through the final sprint. Photoreal fitness studio social promo cinematography, vertical framing, no text, no logos. Audio: one driving electronic beat that continues across all three shots, bikes whirring, no voice.

The numbered prompt cuts **wide, close, then the raised arm**, in the order written, and splits the ten seconds into shots of roughly two, three and a half and four seconds. The described version stays one continuous take and only reaches the raised arm in the last second.

Numbering sets **the order**. How long each shot runs is still the model's call, even with time cues: the hero at the top of this guide asks for four seconds a shot and gets roughly three, three and six. When shot lengths have to be exact, generate each shot as its own clip and cut them in the edit. Give each shot its own framing as well, since two shots at the same framing read as a jump rather than an edit, and write the soundtrack once for the whole sequence, saying it continues across the cuts.

### [Prompt length](https://runware.ai/docs/models/prunaai-p-video-2-pro/guides/prompting#prompt-length)

The cap is **10,000 characters**, roughly 1,500 words. The full kitchen brief above is about 110 words, and it specifies everything the shot needs. Spend the rest of the budget on **a sequence with a paragraph per shot**, not on describing one frame five different ways.

### [The prompt expander](https://runware.ai/docs/models/prunaai-p-video-2-pro/guides/prompting#the-prompt-expander)

`settings.promptUpsampling` rewrites the prompt before generation and takes **three levels**: `off` uses the prompt as written, `turbo` is the default fast expansion, and `max` is the most detailed.

```json
{
  "settings": {
    "promptUpsampling": "off"
  }
}
```

One short prompt at all three levels, same seed:

[Watch video](https://runware.ai/docs/assets/expander-off.dzvSPij7.mp4)

*off*

> **Prompt**: A red electric scooter parked on a city street.

[Watch video](https://runware.ai/docs/assets/expander-turbo.WTc2NomQ.mp4)

*turbo*

> **Prompt**: A red electric scooter parked on a city street.

[Watch video](https://runware.ai/docs/assets/expander-max.CoIqKANy.mp4)

*max*

> **Prompt**: A red electric scooter parked on a city street.

With nine words to work from, **the level decides how far the scene travels** from them. `off` and `turbo` both return a red scooter on an ordinary daytime street, framed differently. `max` rewrites the scene into a rain-soaked street at dusk with neon reflecting in the pavement, and none of that was in the nine words.

`turbo` and `max` also **rewrite differently on every call**, so the same request sent twice comes back as two different clips even with the seed pinned. Turn the expander off and the same request and seed return a byte-identical file.

With a full brief there is much less left to fill in. The kitchen brief at `turbo` and at `off`, same seed:

[Watch video](https://runware.ai/docs/assets/brief-full.BY00WGAu.mp4)

*Full brief, turbo*

> **Prompt**: A father in a gray henley and his six-year-old daughter in yellow pajamas stand at a kitchen counter making pancakes. He pours batter into a pan while she stands on a step stool beside him and drops blueberries onto it, then they look at each other and laugh. A bright family kitchen with white cabinets and a window over the sink. Medium shot at counter height, the camera drifting slowly closer. Soft morning sunlight from the window behind them. Photoreal lifestyle stock footage, natural skin texture, no text, no logos, no brand names on packaging. Audio: batter sizzling in the pan, their quiet laughter, a spoon tapping a bowl, no music, no spoken words.

[Watch video](https://runware.ai/docs/assets/brief-full-off.BjNW292q.mp4)

*Full brief, off*

> **Prompt**: A father in a gray henley and his six-year-old daughter in yellow pajamas stand at a kitchen counter making pancakes. He pours batter into a pan while she stands on a step stool beside him and drops blueberries onto it, then they look at each other and laugh. A bright family kitchen with white cabinets and a window over the sink. Medium shot at counter height, the camera drifting slowly closer. Soft morning sunlight from the window behind them. Photoreal lifestyle stock footage, natural skin texture, no text, no logos, no brand names on packaging. Audio: batter sizzling in the pan, their quiet laughter, a spoon tapping a bowl, no music, no spoken words.

The more layers you write, **the less the level matters**, because the expander has fewer gaps to fill. Leave `turbo` on while you explore with short prompts. Once a shot is locked into a full brief, compare `off` and `turbo` on that brief before you scale it to a set, and keep whichever holds your details.

### [Tips](https://runware.ai/docs/models/prunaai-p-video-2-pro/guides/prompting#tips)

1. **Write every layer you care about.** Subject, action, setting, camera, light, style, exclusions and audio. Each one you skip is a choice the model makes.
    
2. **Always write the audio layer.** Sound comes back with every clip, so "no music" is an instruction, not a comment.
    
3. **Explore short, deliver full.** A short prompt with the expander on is fast for ideas. A full brief with the expander off is what keeps a final repeatable.
    
4. **Trim for exact timing.** A time cue nudges a moment by a second or so. When a reveal has to land on a beat, cut the clip in the edit.
    
5. **Number your shots.** "First shot… Cut to a second shot…" with a different framing on each produces an edit. Unnumbered moments may or may not cut.
    
6. **Spend the 10,000 characters on shots.** A paragraph per shot is a good use of the budget. Five descriptions of one frame is not.
    
7. **Match the expander level to the prompt.** The shorter the prompt, the more the level decides. Compare levels on your own brief before scaling a set.