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

Pruna P-Video 2 Pro Avatar Mô hình liên quan 1

Đầy đủ tham số, lược đồ đầu ra và giá hiện tại

Chợ API mô hình AIMột nền tảng cho mọi thứPhổ biến nhấtĐiều khoảnDuyệ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 *Imageimage_upload—image/* · 1–1 items
promptPrompttextarea—≤ 5000 chars
resolutionResolutionselect768p480p | 768p
prompt_upsamplingPrompt Upsamplingbooleanfalse—
seedSeednumber—step 1

Đầy đủ tham số, lược đồ đầu ra và giá hiện tại

Tìm hiểu thêmMộ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.
videosarray<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

ParameterRequiredType / allowed values / default
imageRequiredarray; max count: 1. Portrait image for the talking video.
audioRequiredstring. Speech audio. The output duration follows this input, up to 180 seconds.
promptOptionalstring; max 5000 characters. Optional directions for the person's movement and framing.
resolutionOptionalstring; 480p / 768p; default: "768p".
prompt_upsamplingOptionalboolean; default: false. Enhance the movement and expression prompt automatically.
seedOptionalinteger; 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

WaveSpeed

Mô hình liên quan

xAI Grok Imagine Video v1.5 Image to Video
Ảnh thành videoX Ai

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.

từ $0.850 / mỗi lượt chạy
Vidu Q4 Preview Image to Video
Ảnh thành videoVidu

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.

từ $0.475 / mỗi lượt chạy
vidu/q3/image-to-video-spicy
Ảnh thành videoVidu

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.

từ $0.750 / mỗi lượt chạy
Vidu Q3 Image To Video
Ảnh thành videoVidu

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.

từ $0.750 / mỗi lượt chạy
Pruna P-Video 2 Pro Image-to-Video
Ảnh thành videoPruna Ai

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.

từ $0.175 / mỗi lượt chạy
MiniMax H3 Spicy Image to Video
Ảnh thành videoMinimax

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.

từ $0.200 / mỗi lượt chạy
MiniMax H3 Image to Video
Ảnh thành videoMinimax

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.

từ $0.650 / mỗi lượt chạy
MiniMax H3 Lite Image-to-Video
Ảnh thành videoMinimax

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.

từ $0.200 / mỗi lượt chạy