---
title: Dialogue, lip sync and native audio — P-Video-2-Pro | Runware Docs
url: https://runware.ai/docs/models/prunaai-p-video-2-pro/guides/dialogue-and-audio
description: "How to direct the sound Pruna P-Video-2-Pro generates with every clip: the mix, effects timed to the action, quoted lines, two-person dialogue and sung vocals."
---
### [Introduction](https://runware.ai/docs/models/prunaai-p-video-2-pro/guides/dialogue-and-audio#introduction)

Every P-Video-2-Pro clip comes back with a soundtrack **generated in the same pass as the picture**. Voices, effects, music and room tone are all written from the prompt, so a line lands on the mouth that says it and a door sounds on the frame it closes.

Turn the sound on:

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

*Two speakers, one line each, one request*

> **Prompt**: A couple in their thirties sit on the floor of a half-furnished apartment among the parts of a flat-pack bookshelf they have just built. The woman on the left, in a green sweater, holds up a single leftover screw and says, "Where does this one go?" The man on the right, in a navy t-shirt, glances at the finished shelf, then back at her, and answers, "Nowhere, apparently." They both laugh. Medium two-shot at floor level, soft afternoon window light. Photoreal lifestyle advertising cinematography, locked-off camera, no text, no logos. Audio: their two natural voices taking turns without overlapping, a short shared laugh, quiet apartment room tone, no music.

Two people, **one quoted line each**, delivered word for word and in turn with the mouths matching. This guide covers what happens to sound you do not write, how to direct the mix, how to time effects to the action, how spoken lines behave, how to stage two speakers, and how to get a sung vocal.

### [Sound on every clip](https://runware.ai/docs/models/prunaai-p-video-2-pro/guides/dialogue-and-audio#sound-on-every-clip)

There is **no audio switch** on this model. A request carrying `settings.audio` is rejected as an unsupported parameter, and every clip returns with a track. What you control is what that track contains, and the prompt is the only place to say it.

The same product shot with and without an `Audio:` clause, on one seed:

[Watch video](https://runware.ai/docs/assets/sound-unwritten.DIMJp-aM.mp4)

*No audio clause*

> **Prompt**: A thin silver laptop sits closed on a white oak desk, then its lid opens slowly by itself and the screen lights up with a soft abstract gradient. Clean minimal home office, soft daylight from the left. Photoreal technology product cinematography, locked-off three-quarter close-up, no text, no logos, no people.

[Watch video](https://runware.ai/docs/assets/sound-room-tone.CRLnBlSO.mp4)

*Room tone and a hinge click, asked for*

> **Prompt**: A thin silver laptop sits closed on a white oak desk, then its lid opens slowly by itself and the screen lights up with a soft abstract gradient. Clean minimal home office, soft daylight from the left. Photoreal technology product cinematography, locked-off three-quarter close-up, no text, no logos, no people. Audio: near silence, only faint room tone and a soft click as the hinge moves, no music, no voice.

Without the clause the model **writes a track of its own**, and here that is a music bed playing at full level under a product shot nobody asked to score. With it, the clip is near silence apart from one soft click. The picture changes as well, since the audio clause is part of the same prompt.

For a clip that must ship silent, ask for near silence in the prompt, then **remove the audio stream in your own pipeline**. Voiceover and licensed music go on in the edit, over a picture that was never asked to carry them.

> [!NOTE]
> When the sound already exists as a file, a recorded voiceover or a track you have cleared, [P-Video-2](https://runware.ai/docs/models/prunaai-p-video-2/guides/audio-driven) takes it as an input and generates the picture to fit it.

### [Directing the mix](https://runware.ai/docs/models/prunaai-p-video-2-pro/guides/dialogue-and-audio#directing-the-mix)

Everything after `Audio:` describes the track. The same pizza shot with only that clause changed:

[Watch video](https://runware.ai/docs/assets/mix-effects.BbcL_zkN.mp4)

*The crunch leads*

> **Prompt**: A freshly baked pepperoni pizza on a wooden board in a busy pizzeria kitchen. A rocking cutter slices down through the crust in one firm stroke and a hand lifts a slice away, stretching a string of melted cheese. Photoreal food delivery advertising cinematography, locked-off overhead close-up, warm light, no text, no logos. Audio: the loud crunch of the crust as the cutter presses through it, recorded close and clearly in the foreground, the soft pull of the cheese, no music, no voice.

[Watch video](https://runware.ai/docs/assets/mix-music.B9CRBiS8.mp4)

*A funk groove leads*

> **Prompt**: A freshly baked pepperoni pizza on a wooden board in a busy pizzeria kitchen. A rocking cutter slices down through the crust in one firm stroke and a hand lifts a slice away, stretching a string of melted cheese. Photoreal food delivery advertising cinematography, locked-off overhead close-up, warm light, no text, no logos. Audio: an upbeat funk guitar groove leading the mix, with the crunch of the crust clearly audible on top of it as the cutter presses through, no voice.

[Watch video](https://runware.ai/docs/assets/mix-ambience.BVAzO9Nh.mp4)

*The kitchen leads*

> **Prompt**: A freshly baked pepperoni pizza on a wooden board in a busy pizzeria kitchen. A rocking cutter slices down through the crust in one firm stroke and a hand lifts a slice away, stretching a string of melted cheese. Photoreal food delivery advertising cinematography, locked-off overhead close-up, warm light, no text, no logos. Audio: the busy pizzeria kitchen all around the shot, clattering pans, an oven door closing and distant orders being called, with the crunch of the crust as the cutter presses through, no music.

The picture brief is identical in all three, and the tracks are not. Each clause **names the layer that leads**, the crunch, the groove or the kitchen, and writes the crunch in as well. How present the crunch stays depends on what it shares the track with and how loudly the clause asks for it.

Write each layer with its level attached:

- **Effects** are tied to something on screen and described as close or in the foreground when they need to be heard.
- **Music** is named by genre, instrument and tempo, and by its place in the mix: leading, or under something else.
- **Ambience** is the place and the things making noise in it, not the word "ambience" on its own.
- **Speech** goes in quotation marks and has its own sections below.

### [Timing effects to the action](https://runware.ai/docs/models/prunaai-p-video-2-pro/guides/dialogue-and-audio#timing-effects-to-the-action)

A sound listed on its own has **no moment attached to it**. Tie each effect to the event that makes it, "each time a glove lands on a pad", and the model has a frame to put it on. The same pad session, both ways:

[Watch video](https://runware.ai/docs/assets/sync-listed.BT5vxPuC.mp4)

*Effects listed*

> **Prompt**: A boxer in a black tank top works the pads with a coach in a gray hoodie in a bright boxing gym, throwing a fast jab, jab, cross combination three times while the coach catches each punch. Medium side-on shot, hard daylight from high windows. Photoreal fitness brand cinematography, locked-off camera, no text, no logos. Audio: punches, breathing, gym ambience, no music, no voice.

[Watch video](https://runware.ai/docs/assets/sync-tied.DUysxFso.mp4)

*Effects tied to each punch*

> **Prompt**: A boxer in a black tank top works the pads with a coach in a gray hoodie in a bright boxing gym, throwing a fast jab, jab, cross combination three times while the coach catches each punch. Medium side-on shot, hard daylight from high windows. Photoreal fitness brand cinematography, locked-off camera, no text, no logos. Audio: a sharp leather smack each time a glove lands on a pad, a short exhale from the boxer with every punch, quiet gym ambience underneath, no music, no voice.

In the tied version **a smack lands with every punch**, from the first combination to the last, because the clause gave every sound its trigger. The listed version plays punch sounds in bursts, with about three seconds in the middle where he keeps punching and nothing is heard.

The pattern is "the sound, then the event that makes it": **a click as the hinge moves**, a smack each time a glove lands. It costs a few words per effect.

### [Spoken lines](https://runware.ai/docs/models/prunaai-p-video-2-pro/guides/dialogue-and-audio#spoken-lines)

Put every line **in quotation marks** and attribute it to someone in the shot. A quoted line is spoken as written. A described line ("she explains the tip") gets the topic and the model's own wording, which is no use for a price or a product name.

Length is the other half. The same coaching tip at two lengths, on one seed:

[Watch video](https://runware.ai/docs/assets/speech-fits.DKxOLWaP.mp4)

*Twelve words in eight seconds*

> **Prompt**: A fitness coach in her twenties in a black training top stands in a bright gym beside a cable machine, looks into the lens and says, "Keep your elbows tucked, and slow down on the way back up." Then she smiles and nods once. Vertical creator framing, chest-up, handheld with very slight movement, bright even gym lighting. Photoreal fitness creator cinematography, no text, no logos. Audio: her clear upbeat speaking voice, close to the microphone, quiet gym ambience underneath, no music.

[Watch video](https://runware.ai/docs/assets/speech-rushed.CPuRsTOc.mp4)

*Forty words in five seconds*

> **Prompt**: A fitness coach in her twenties in a black training top stands in a bright gym beside a cable machine, looks into the lens and says, "Keep your elbows tucked in close to your ribs, pause for a full second at the top of every rep, and then slow right down on the way back up so the muscle does the work instead of the cable." Then she smiles and nods once. Vertical creator framing, chest-up, handheld with very slight movement, bright even gym lighting. Photoreal fitness creator cinematography, no text, no logos. Audio: her clear upbeat speaking voice, close to the microphone, quiet gym ambience underneath, no music.

The short line sits inside eight seconds with **room for a beat before and after it**, and the mouth follows every word. The long one asks for forty words in five seconds, and the delivery has to race to fit before the clip ends.

**Count the words** before you set `duration`. Natural speech runs at roughly two to three words a second, so leave a second at each end on top of that. When a script runs longer, split it at sentence breaks across several clips and cut them together.

Two more details shape the performance. **Name the delivery** ("clear upbeat", "dry") the way you would brief a presenter. And **write what happens after the line**, "then she smiles and nods once", so the clip does not end on a held mouth.

**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 fitness coach in her twenties in a black training top stands in a bright gym beside a cable machine, looks into the lens and says, "Keep your elbows tucked, and slow down on the way back up." Then she smiles and nods once. Vertical creator framing, chest-up, handheld with very slight movement, bright even gym lighting. Photoreal fitness creator cinematography, no text, no logos. Audio: her clear upbeat speaking voice, close to the microphone, quiet gym ambience underneath, no music.',
  width: 768,
  height: 1344,
  duration: 8,
  seed: 4402918,
  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 fitness coach in her twenties in a black training top stands in a bright gym beside a cable machine, looks into the lens and says, \"Keep your elbows tucked, and slow down on the way back up.\" Then she smiles and nods once. Vertical creator framing, chest-up, handheld with very slight movement, bright even gym lighting. Photoreal fitness creator cinematography, no text, no logos. Audio: her clear upbeat speaking voice, close to the microphone, quiet gym ambience underneath, no music.",
            "width": 768,
            "height": 1344,
            "duration": 8,
            "seed": 4402918,
            "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": "4b9e1d73-6a25-4c08-8f31-d2a7c5e9b160",
      "model": "prunaai:p-video@2-pro",
      "positivePrompt": "A fitness coach in her twenties in a black training top stands in a bright gym beside a cable machine, looks into the lens and says, \"Keep your elbows tucked, and slow down on the way back up.\" Then she smiles and nods once. Vertical creator framing, chest-up, handheld with very slight movement, bright even gym lighting. Photoreal fitness creator cinematography, no text, no logos. Audio: her clear upbeat speaking voice, close to the microphone, quiet gym ambience underneath, no music.",
      "width": 768,
      "height": 1344,
      "duration": 8,
      "seed": 4402918,
      "deliveryMethod": "async"
    }
  ]'
```

**CLI**:

```bash
runware run prunaai:p-video@2-pro \
  positivePrompt="A fitness coach in her twenties in a black training top stands in a bright gym beside a cable machine, looks into the lens and says, \"Keep your elbows tucked, and slow down on the way back up.\" Then she smiles and nods once. Vertical creator framing, chest-up, handheld with very slight movement, bright even gym lighting. Photoreal fitness creator cinematography, no text, no logos. Audio: her clear upbeat speaking voice, close to the microphone, quiet gym ambience underneath, no music." \
  width=768 \
  height=1344 \
  duration=8 \
  seed=4402918 \
  deliveryMethod=async
```

**JSON**:

```json
{
  "taskType": "videoInference",
  "taskUUID": "4b9e1d73-6a25-4c08-8f31-d2a7c5e9b160",
  "model": "prunaai:p-video@2-pro",
  "positivePrompt": "A fitness coach in her twenties in a black training top stands in a bright gym beside a cable machine, looks into the lens and says, \"Keep your elbows tucked, and slow down on the way back up.\" Then she smiles and nods once. Vertical creator framing, chest-up, handheld with very slight movement, bright even gym lighting. Photoreal fitness creator cinematography, no text, no logos. Audio: her clear upbeat speaking voice, close to the microphone, quiet gym ambience underneath, no music.",
  "width": 768,
  "height": 1344,
  "duration": 8,
  "seed": 4402918,
  "deliveryMethod": "async"
}
```

### [Two speakers](https://runware.ai/docs/models/prunaai-p-video-2-pro/guides/dialogue-and-audio#two-speakers)

Two people talking need **two anchors**: a position in frame and something visible that tells them apart, such as "the patient on the left, in a denim jacket". Then give each one a single quoted line and say the voices take turns. The same exchange staged two ways:

[Watch video](https://runware.ai/docs/assets/two-shot.B6tJCz2Z.mp4)

*One two-shot*

> **Prompt**: A doctor and a patient sit across a small desk in a bright clinic consultation room. The patient on the left, a man in his forties in a denim jacket, rubs his wrist and asks, "Is it something I should worry about?" The doctor on the right, a woman in her fifties in a white coat, shakes her head gently and answers, "No. Rest it for two weeks, and come back if it still hurts." Medium two-shot from the side of the desk, soft daylight from a window. Photoreal healthcare clinic advertising cinematography, locked-off camera, no text, no logos. Audio: two distinct natural voices taking turns without overlapping, quiet clinic room tone, no music.

[Watch video](https://runware.ai/docs/assets/two-shot-reverse.CdcROkLL.mp4)

*Two numbered shots, one line each*

> **Prompt**: Two shots in a bright clinic consultation room. First shot: a close-up framed on the face of the patient, a man in his forties in a denim jacket, seen over the shoulder of the doctor, whose white coat and gray hair fill the edge of the frame, looking at her as he asks, "Is it something I should worry about?" Cut to a second shot: a close-up of the doctor, a woman in her fifties with gray hair in a white coat, seen over the shoulder of the patient in his denim jacket, shaking her head gently as she answers, "No. Rest it for two weeks, and come back if it still hurts." Soft daylight from a window. Photoreal healthcare clinic advertising cinematography, locked-off camera, no text, no logos. Audio: two distinct natural voices taking turns without overlapping, quiet clinic room tone continuing across the cut, no music.

Both keep **each line on the right face**, and both deliver the lines word for word. The two-shot holds both people in one frame, so the listener's reaction is part of the shot, which suits a sketch or a testimonial exchange. The numbered version cuts to an over-the-shoulder close-up for each line, the coverage a drama scene uses, and gives the speaker the frame while they talk.

Keep it to **one line per speaker per clip**. A longer conversation is several clips cut together, each with its own pause, which is also where the edit points want to be. [Writing prompts](https://runware.ai/docs/models/prunaai-p-video-2-pro/guides/prompting) covers numbering shots in more detail.

### [Sung vocals](https://runware.ai/docs/models/prunaai-p-video-2-pro/guides/dialogue-and-audio#sung-vocals)

The model writes **melody as well as speech**. Quote the words, say they are sung rather than spoken, and name the instrument playing with them:

[Watch video](https://runware.ai/docs/assets/music-sung.Cly5E024.mp4)

*A quoted lyric, sung over a guitar the model also plays*

> **Prompt**: A singer-songwriter in her twenties sits on the edge of her bed in a small sunlit bedroom with an acoustic guitar, strumming a slow chord pattern and singing softly toward the camera, "I left the light on for you, in case you find your way home." Vertical creator framing, medium close-up, warm afternoon light, a string of small lights on the wall behind her. Photoreal music creator social video, handheld phone look, no text, no logos. Audio: her gentle clear singing voice over the acoustic guitar, small-room sound, no other instruments, no speech.

The guitar and the voice come from the same generation, so the strumming hand and the singing mouth **share one timing**. The melody is the model's own. A clip that has to match an existing song needs that song as an input, which this model does not take.

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

1. **Write the audio clause every time.** There is no off switch, so a clip without one gets whatever track the model picks.
    
2. **Strip the track for silent deliverables.** Ask for near silence in the prompt, then remove the audio stream before the voiceover goes on.
    
3. **Name the layer that leads.** Say which of effects, music, ambience or speech sits on top, and describe the rest relative to it.
    
4. **Tie every effect to its event.** "A smack each time a glove lands" puts the sound on the frame. "Punches" does not.
    
5. **Quote every line that has to be exact.** A described line gets the model's wording.
    
6. **Count the words against the duration.** Roughly two to three words a second, plus a second at each end.
    
7. **Anchor each speaker.** Position in frame plus something visible, and one quoted line each.
    
8. **Say sung, not said.** Quote the lyric, name the instrument, and the model writes the melody around it.