Pruna P-Video 2 Pro Text-to-Video
pruna-ai/p-video-2-pro/text-to-video
pruna-ai/p-video-2-pro/text-to-video. Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất.
Mô hình liên quan
Đầy đủ tham số, lược đồ đầu ra và giá hiện tại
| Chợ API mô hình AI | Một nền tảng cho mọi thứ | Phổ biến nhất | Điều khoản | Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất. |
|---|---|---|---|---|
| prompt *Prompt | textarea | — | ≤ 5000 chars | |
| durationDuration | slider | 5 | 5 ~ 15 · step 1 | |
| aspect_ratioAspect Ratio | select | 16:9 | 16:9 | 9:16 | 4:3 | 3:4 | 3:2 | 2:3 | 1:1 | |
| resolutionResolution | select | 768p | 480p | 768p | |
| modeMode | select | speed | speed | quality | cost | |
| prompt_upsamplerPrompt Upsampler | select | turbo | off | turbo | max | |
| seedSeed | number | — | step 1 |
Đầy đủ tham số, lược đồ đầu ra và giá hiện tại
| Tìm hiểu thêm | Một nền tảng cho mọi thứ | Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất. |
|---|---|---|
| videos | array<string> |
API
Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất.
cURL
# 1) Submit — returns { "task_uuid": "..." }
curl -X POST "https://www.namifusion.com/api/v1/marketplace/run/pruna-ai/p-video-2-pro/text-to-video" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"prompt": "A cinematic portrait, dramatic rim light, shallow depth of field",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "768p",
"mode": "speed",
"prompt_upsampler": "turbo"
}
}'
# 2) Poll until status is "completed", then read the output URLs
curl "https://www.namifusion.com/api/v1/marketplace/run/tasks/TASK_UUID" \
-H "Authorization: Bearer YOUR_API_KEY"Python
import time, requests
API_KEY = "YOUR_API_KEY"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}
# 1) Submit
resp = requests.post(
"https://www.namifusion.com/api/v1/marketplace/run/pruna-ai/p-video-2-pro/text-to-video",
headers=HEADERS,
json={
"input": {
"prompt": "A cinematic portrait, dramatic rim light, shallow depth of field",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "768p",
"mode": "speed",
"prompt_upsampler": "turbo"
}
},
)
resp.raise_for_status() # 401/402/429/5xx stop here instead of polling a bad task
task = resp.json()
# 2) Poll until a terminal state (completed / failed / cancelled).
# This model is allowed up to 1800s server-side.
deadline = time.time() + 1860
while task.get("status") not in ("completed", "failed", "cancelled"):
if time.time() > deadline:
raise TimeoutError(f"still {task.get('status')} — keep the task_uuid and poll later")
time.sleep(3)
poll = requests.get(f"https://www.namifusion.com/api/v1/marketplace/run/tasks/{task['task_uuid']}", headers=HEADERS)
poll.raise_for_status()
task = poll.json()
print(task["status"], task.get("output"))JavaScript
const API_KEY = "YOUR_API_KEY";
const HEADERS = { Authorization: `Bearer ${API_KEY}` };
// 1) Submit
const resp = await fetch("https://www.namifusion.com/api/v1/marketplace/run/pruna-ai/p-video-2-pro/text-to-video", {
method: "POST",
headers: { ...HEADERS, "Content-Type": "application/json" },
body: JSON.stringify({
"input": {
"prompt": "A cinematic portrait, dramatic rim light, shallow depth of field",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "768p",
"mode": "speed",
"prompt_upsampler": "turbo"
}
}),
});
if (!resp.ok) throw new Error(`submit failed: ${resp.status} ${await resp.text()}`);
let task = await resp.json();
// 2) Poll until a terminal state (completed / failed / cancelled).
// This model is allowed up to 1800s server-side.
const deadline = Date.now() + 1860 * 1000;
while (!["completed", "failed", "cancelled"].includes(task.status)) {
if (Date.now() > deadline) throw new Error(`still ${task.status} — keep the task_uuid and poll later`);
await new Promise((r) => setTimeout(r, 3000));
const poll = await fetch(`https://www.namifusion.com/api/v1/marketplace/run/tasks/${task.task_uuid}`, { headers: HEADERS });
if (!poll.ok) throw new Error(`poll failed: ${poll.status}`);
task = await poll.json();
}
console.log(task.status, task.output);Tài liệu API
Pruna P-Video 2 Pro Text-to-Video
Generate 5–15 second videos with audio at 480p or 768p, with cost, speed and quality modes.
Inputs
| Parameter | Required | Type / allowed values / default |
|---|---|---|
prompt | Required | string; max 5000 characters. Text prompt describing the video to generate. |
duration | Optional | integer; min: 5.0; max: 15.0; step: 1.0; default: 5. Video duration in seconds, from 5 to 15. |
aspect_ratio | Optional | string; 16:9 / 9:16 / 4:3 / 3:4 / 3:2 / 2:3 / 1:1; default: "16:9". Aspect ratio of the generated video. |
resolution | Optional | string; 480p / 768p; default: "768p". Output video resolution. |
mode | Optional | string; speed / quality / cost; default: "speed". Generation mode: cost for lower-cost generation with the same output quality as speed, speed for faster generation, or quality for higher-quality generation. Default: speed. Independent of prompt_upsampler. |
prompt_upsampler | Optional | string; off / turbo / max; default: "turbo". Prompt expansion mode. Independent of the cost, speed, or quality generation mode; does not change the price. |
seed | Optional | integer; step: 1. Optional random seed for reproducible generation. Omit for a random seed. |
Nami accepts up to 5000 prompt characters to match the current MaaS contract. Required prompts must be non-empty.
Listing price
1 USD = 100 credits. Account discounts are applied separately.
Price = requested output seconds × the selected resolution/mode rate. Duration: 5–15 whole seconds; default 5. Generated audio and prompt_upsampler add no charge. mode defaults to speed; prompt_upsampler defaults to turbo.
| Resolution | cost (USD/s) | speed (USD/s) | quality (USD/s) |
|---|---|---|---|
| 480p | $0.01 | $0.02 | $0.04 |
| 768p | $0.025 | $0.035 | $0.075 |
API usage
Use reachable media URLs. Submit once, then poll task_uuid until completed or failed; successful output.videos contains the video URLs.
POST https://www.namifusion.com/api/v1/marketplace/run/pruna-ai/p-video-2-pro/text-to-video
Authorization: Bearer YOUR_NAMIFUSION_API_KEY
Content-Type: application/json
{
"input": {
"resolution": "768p",
"prompt": "A colorful scene with gentle natural movement.",
"duration": 5,
"aspect_ratio": "16:9",
"mode": "speed",
"prompt_upsampler": "turbo"
}
}
GET https://www.namifusion.com/api/v1/marketplace/run/tasks/{task_uuid}
Authorization: Bearer YOUR_NAMIFUSION_API_KEY
Mô hình liên quan
xAI Grok Imagine Video v1.5 Text to Video
x-ai/grok-imagine-video-v1.5/text-to-video. Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất.
MiniMax H3 Text to Video
minimax/h3/text-to-video. Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất.
MiniMax H3 Lite Text-to-Video
minimax/h3-lite/text-to-video. Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất.
MiniMax H3 Highspeed Text-to-Video
minimax/h3-highspeed/text-to-video. Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất.
ltx-2.5/text-to-video
ltx-2.5/text-to-video. Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất.
Kling Omni Video O3 Standard Text-To-Video
kwaivgi/kling-video-o3/text-to-video. Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất.
Kling 4.0 Text to Video
kwaivgi/kling-v4.0/text-to-video. Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất.
Kling 3.0
kwaivgi/kling-v3.0/text-to-video. Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất.