Pruna P-Video 2 Pro Avatar

pruna-ai/p-video-2-pro/avatar

pruna-ai/p-video-2-pro/avatar. Jelajahi API model gambar, video, dan tukar wajah. Coba model lalu integrasikan melalui satu API REST terpadu.

Model terkait

Pruna P-Video 2 Pro Avatar Model terkait 1

Parameter lengkap, skema keluaran, dan harga terkini

Pasar API model AISatu platform untuk semuanyaPaling populerKetentuanJelajahi API model gambar, video, dan tukar wajah. Coba model lalu integrasikan melalui satu API REST terpadu.
image *Imageimage_upload—image/* · 1–1 items
promptPrompttextarea—≤ 5000 chars
resolutionResolutionselect768p480p | 768p
prompt_upsamplingPrompt Upsamplingbooleanfalse—
seedSeednumber—step 1

Parameter lengkap, skema keluaran, dan harga terkini

Pelajari lebih lanjutSatu platform untuk semuanyaJelajahi API model gambar, video, dan tukar wajah. Coba model lalu integrasikan melalui satu API REST terpadu.
videosarray<string>

API

Jelajahi API model gambar, video, dan tukar wajah. Coba model lalu integrasikan melalui satu API REST terpadu.

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);

Dokumentasi 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

Model terkait

xAI Grok Imagine Video v1.5 Image to Video
Gambar ke videoX Ai

xAI Grok Imagine Video v1.5 Image to Video

x-ai/grok-imagine-video-v1.5/image-to-video. Jelajahi API model gambar, video, dan tukar wajah. Coba model lalu integrasikan melalui satu API REST terpadu.

mulai $0.850 / per proses
Vidu Q4 Preview Image to Video
Gambar ke videoVidu

Vidu Q4 Preview Image to Video

vidu/q4-preview/image-to-video. Jelajahi API model gambar, video, dan tukar wajah. Coba model lalu integrasikan melalui satu API REST terpadu.

mulai $0.475 / per proses
vidu/q3/image-to-video-spicy
Gambar ke videoVidu

vidu/q3/image-to-video-spicy

vidu/q3/image-to-video-spicy. Jelajahi API model gambar, video, dan tukar wajah. Coba model lalu integrasikan melalui satu API REST terpadu.

mulai $0.750 / per proses
Vidu Q3 Image To Video
Gambar ke videoVidu

Vidu Q3 Image To Video

vidu/q3/image-to-video. Jelajahi API model gambar, video, dan tukar wajah. Coba model lalu integrasikan melalui satu API REST terpadu.

mulai $0.750 / per proses
Pruna P-Video 2 Pro Image-to-Video
Gambar ke videoPruna Ai

Pruna P-Video 2 Pro Image-to-Video

pruna-ai/p-video-2-pro/image-to-video. Jelajahi API model gambar, video, dan tukar wajah. Coba model lalu integrasikan melalui satu API REST terpadu.

mulai $0.175 / per proses
MiniMax H3 Spicy Image to Video
Gambar ke videoMinimax

MiniMax H3 Spicy Image to Video

minimax/h3/image-to-video-spicy. Jelajahi API model gambar, video, dan tukar wajah. Coba model lalu integrasikan melalui satu API REST terpadu.

mulai $0.200 / per proses
MiniMax H3 Image to Video
Gambar ke videoMinimax

MiniMax H3 Image to Video

minimax/h3/image-to-video. Jelajahi API model gambar, video, dan tukar wajah. Coba model lalu integrasikan melalui satu API REST terpadu.

mulai $0.650 / per proses
MiniMax H3 Lite Image-to-Video
Gambar ke videoMinimax

MiniMax H3 Lite Image-to-Video

minimax/h3-lite/image-to-video. Jelajahi API model gambar, video, dan tukar wajah. Coba model lalu integrasikan melalui satu API REST terpadu.

mulai $0.200 / per proses