Pruna Ai P Video Text To Video
Playground
Try it on WavespeedAI!Pruna AI P-Video Text to Video is a fast AI video generation model that creates high-quality videos from text prompts. Ready-to-use REST inference API for cinematic clips, social media videos, advertising creatives, product visuals, motion design, and AI video generation workflows with simple integration, no coldstarts, and affordable pricing.
Features
Pruna AI P-Video Text-to-Video
Pruna AI P-Video Text-to-Video generates videos from natural-language prompts with control over aspect ratio, duration, resolution, audio output, and seed-based reproducibility. It is suitable for cinematic scenes, commercial visuals, social content, concept videos, and other prompt-driven video generation workflows.
Why Choose This?
-
Prompt-based video generation Turn natural-language scene descriptions into motion video clips with controllable style and composition.
-
Flexible format control Choose aspect ratio, duration, and resolution to match different delivery needs.
-
Optional audio saving Enable
save_audiowhen you want the generated output saved with audio. -
Seed support for reproducibility Use
seedto get more consistent outputs across repeated generations. -
Simple pricing model Cost scales clearly with duration and output resolution.
Parameters
| Parameter | Required | Description |
|---|---|---|
| prompt | Yes | Text description of the desired video scene, motion, and style. |
| aspect_ratio | No | Output aspect ratio, such as 16:9. |
| duration | No | Video duration in seconds. |
| resolution | No | Output resolution: 720p or 1080p. |
| save_audio | No | Whether to save the generated video with audio. |
| seed | No | Random seed for reproducibility. Use the same seed to get more consistent results. |
How to Use
- Write your prompt — describe the subject, environment, motion, camera movement, and overall mood.
- Choose aspect ratio — select the format that matches your target platform or composition needs.
- Set duration — choose how long the video should be.
- Choose resolution — use
720pfor lower cost or1080pfor higher quality. - Enable audio saving (optional) — turn on
save_audioif you want the saved result to include audio. - Set a seed (optional) — use a fixed seed for more reproducible generations.
- Submit — run the model and download the generated video.
Example Prompt
An adult man stands on a vast desert highway under warm sunlight, with distant mountains and dry air haze behind him. Dust moves subtly across the road, his clothes shift gently in the wind, and he looks toward the horizon before turning slightly toward the camera. The camera slowly pulls back to reveal the open landscape. Cinematic commercial travel film, realistic motion, stable identity, warm natural light.
Pricing
Pricing is based on duration and resolution.
| Resolution | Per Second |
|---|---|
| 720p | $0.02 |
| 1080p | $0.04 |
Example Costs
| Resolution | 5s | 10s | 15s |
|---|---|---|---|
| 720p | $0.10 | $0.20 | $0.30 |
| 1080p | $0.20 | $0.40 | $0.60 |
Billing Rules
720pcosts $0.02 per second1080pcosts 2× the720prate- Pricing scales linearly with
duration aspect_ratio,save_audio, andseeddo not affect pricing
Best Use Cases
- Cinematic scene generation — Create travel, lifestyle, and atmospheric video clips from prompts.
- Commercial content — Generate ad-like visuals for products, campaigns, and branded storytelling.
- Social media video — Produce short-form clips tailored to different aspect ratios and durations.
- Concept visualization — Turn written ideas into motion previews for pitching and ideation.
- Creative prototyping — Explore multiple directions quickly with prompt and seed control.
- Audio-enabled delivery — Save video outputs with audio when needed for downstream use.
Pro Tips
- Be specific in your prompt about subject, movement, camera behavior, lighting, and mood.
- Use
720pfor rapid testing, then switch to1080pfor higher-quality final outputs. - Keep the same
seedwhen you want to iterate on a concept with more consistent results. - Shorter durations are useful for fast concept validation before generating longer clips.
- Match
aspect_ratioto the final platform, such as widescreen for cinematic layouts.
Notes
promptis the only required field.- Pricing depends on
durationandresolution. save_audiocontrols whether the saved video includes audio, but does not affect pricing.seedhelps with reproducibility but may not guarantee identical results in every case.
Related Models
- Other Pruna AI video generation and image generation models may be useful when you need different quality, speed, or workflow trade-offs.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/pruna-ai/p-video/text-to-video" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"aspect_ratio": "16:9",
"duration": 5,
"resolution": "720p",
"save_audio": true,
"seed": -1
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| prompt | string | Yes | - | The positive prompt for generation. | |
| aspect_ratio | string | No | 16:9 | 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 1:1 | Aspect ratio of the generated video. |
| duration | integer | No | 5 | 1 ~ 20 | Video duration in seconds. |
| resolution | string | No | 720p | 720p, 1080p | Output video resolution. |
| save_audio | boolean | No | true | - | Save the video with audio. |
| seed | integer | No | -1 | -1 ~ 2147483647 | Random seed. -1 means random. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | string | Array of URLs to the generated content. |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |