# P-Video

ID: prunaai/p-video
Type: video generation
Vendor: Pruna AI

## Modes and inputs
- Text → Video (`txt->vid`)
  - Prompt only, no input images
- Image → Video (`img->vid`)
  - `as: "first_frame"`: exactly 1 (required)
  - At most 1 inputs in total

Input roles, set in `inputs[].as` (omit it, or send `auto`, to let Mynth assign one):
- `first_frame`: The frame the video opens on

## Output
- Resolutions: 720p, 1080p (default 720p)
- Duration: 1 to 10 seconds (default 5)
- Audio: yes, on by default
- Negative prompt: not supported (dropped, no error)

## Pricing (USD)
- Per second (720p): $0.0050
- Per second (1080p): $0.010
- Only successful results are charged.

## Usage
Set the request's `model` field to `prunaai/p-video`. Always pass it explicitly.

TypeScript SDK, Text → Video:

```ts
import Mynth from "@mynthio/sdk";

const mynth = new Mynth();

const task = await mynth.video.generate({
  model: "prunaai/p-video",
  prompt: "A lighthouse beam sweeping over waves at night",
  duration: 5,
  size: "16:9_720p",
});

console.log(task.urls[0]);
```

REST (cURL), Text → Video:

```bash
curl https://api.mynth.io/video/generate \
  -H "Authorization: Bearer $MYNTH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "prunaai/p-video",
    "prompt": "A lighthouse beam sweeping over waves at night",
    "duration": 5,
    "size": "16:9_720p"
  }'
```

TypeScript SDK, Image → Video:

```ts
import Mynth from "@mynthio/sdk";

const mynth = new Mynth();

const task = await mynth.video.generate({
  model: "prunaai/p-video",
  prompt: "The camera pulls back from the lighthouse",
  duration: 5,
  size: "auto_720p",
  inputs: [
    {
      type: "image",
      as: "first_frame",
      source: { type: "url", url: "https://cdn.example.com/first-frame.png" },
    },
  ],
});

console.log(task.urls[0]);
```

REST (cURL), Image → Video:

```bash
curl https://api.mynth.io/video/generate \
  -H "Authorization: Bearer $MYNTH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "prunaai/p-video",
    "prompt": "The camera pulls back from the lighthouse",
    "duration": 5,
    "size": "auto_720p",
    "inputs": [
      {
        "type": "image",
        "as": "first_frame",
        "source": { "type": "url", "url": "https://cdn.example.com/first-frame.png" }
      }
    ]
  }'
```

## Links
- Model page: https://mynth.io/models/prunaai%2Fp-video
- Playground: https://mynth.io/playground?_m=prunaai%2Fp-video
- API docs (image generation request): https://mynth.io/docs/api-reference/endpoints/image/generate.md
- Quickstart: https://mynth.io/docs/getting-started.md
- SDK (JS/TS): https://mynth.io/docs/sdks/typescript.md
- This page as JSON: https://mynth.io/models/prunaai%2Fp-video.json

## Similar models
- Seedance 2.0 Mini [bytedance/seedance-2.0-mini]: https://mynth.io/models/bytedance%2Fseedance-2.0-mini.md
- Grok Imagine Video 1.5 [xai/grok-imagine-video-1.5]: https://mynth.io/models/xai%2Fgrok-imagine-video-1.5.md
- Gemini Omni Flash 1.1 [google/gemini-omni-flash-1.1]: https://mynth.io/models/google%2Fgemini-omni-flash-1.1.md
