Pruna P-Video 2 Pro Avatar
pruna-ai/p-video-2-pro/avatar
pruna-ai/p-video-2-pro/avatar. 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. |
|---|---|---|---|---|
| image *Image | image_upload | — | image/* · 1–1 items | |
| promptPrompt | textarea | — | ≤ 5000 chars | |
| resolutionResolution | select | 768p | 480p | 768p | |
| prompt_upsamplingPrompt Upsampling | boolean | false | — | |
| 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/avatar" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"image": "https://example.com/input.jpg",
"resolution": "768p",
"prompt_upsampling": false
}
}'
# 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/avatar",
headers=HEADERS,
json={
"input": {
"image": "https://example.com/input.jpg",
"resolution": "768p",
"prompt_upsampling": False
}
},
)
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/avatar", {
method: "POST",
headers: { ...HEADERS, "Content-Type": "application/json" },
body: JSON.stringify({
"input": {
"image": "https://example.com/input.jpg",
"resolution": "768p",
"prompt_upsampling": false
}
}),
});
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 Avatar
Create a talking-avatar video from a portrait and speech audio, up to 180 seconds.
Inputs
| Parameter | Required | Type / allowed values / default |
|---|---|---|
image | Required | array; max count: 1. Portrait image for the talking video. |
audio | Required | string. Speech audio. The output duration follows this input, up to 180 seconds. |
prompt | Optional | string; max 5000 characters. Optional directions for the person's movement and framing. |
resolution | Optional | string; 480p / 768p; default: "768p". |
prompt_upsampling | Optional | boolean; default: false. Enhance the movement and expression prompt automatically. |
seed | Optional | integer; step: 1. |
Nami accepts up to 5000 prompt characters to match the current MaaS contract. Required prompts must be non-empty.
The image and last_image fields use one-element URL arrays in Nami; they are forwarded as single URLs upstream. Omit last_image when unused.
Use a portrait (JPG/JPEG/PNG/WebP, up to 20 MiB) and a 1–180 second speech audio file (up to 64 MiB). Prompt is optional; when omitted, upstream uses its default talking instruction. There is no duration or mode input for this endpoint.
Listing price
1 USD = 100 credits. Account discounts are applied separately.
Billed seconds = min(max(ceil(input audio seconds), 1), 180). 480p: $0.02 per billed second (2 credits); 768p: $0.04 (4 credits). Output duration follows the audio. Prompt, prompt_upsampling and seed add no charge.
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/avatar
Authorization: Bearer YOUR_NAMIFUSION_API_KEY
Content-Type: application/json
{
"input": {
"resolution": "768p",
"image": [
"https://example.com/portrait.png"
],
"audio": "https://example.com/speech.mp3",
"prompt_upsampling": false
}
}
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 Image to Video
x-ai/grok-imagine-video-v1.5/image-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.
Vidu Q4 Preview Image to Video
vidu/q4-preview/image-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.
vidu/q3/image-to-video-spicy
vidu/q3/image-to-video-spicy. 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.
Vidu Q3 Image To Video
vidu/q3/image-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.
Pruna P-Video 2 Pro Image-to-Video
pruna-ai/p-video-2-pro/image-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 Spicy Image to Video
minimax/h3/image-to-video-spicy. 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 Image to Video
minimax/h3/image-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 Image-to-Video
minimax/h3-lite/image-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.