# P-Video Avatar > PrunaAI's avatar/lipsync video model that generates talking-head videos from a single portrait image, driven either by a voice script (with built-in TTS) or an uploaded audio clip ## Quick Reference - Model ID: p-video-avatar - Creator: PrunaAI - Status: active - Family: p-video - Base URL: https://api.lumenfall.ai/v1 ## Specifications - Max Resolution: 1920x1080 - Input Modalities: text, image, audio - Output Modalities: video, audio - Supported Modes: Image to Video ## Model Identifiers - Primary Slug: p-video-avatar ## Tags video-generation, image-to-video, audio-to-video, avatar, lipsync, audio-generation ## Available Providers ### Replicate - Config Key: replicate/p-video-avatar - Provider Model ID: prunaai/p-video-avatar - Pricing: Free/second, Free/second - Note: Replicate currently lists both 720p and 1080p as free during launch campaign through Sunday night CET. - Note: Normal README pricing is 720p at $0.025/second and 1080p at $0.045/second. - Source: https://replicate.com/prunaai/p-video-avatar ## Image Gallery 1 images available for this model. Browse all at https://lumenfall.ai/models/prunaai/p-video-avatar/gallery ### Arena Video Results - : Elo . Prompt: "Create a short 10–12 second talking avatar video from the provided input image: a futuristic but ..." ## Example Prompt The following prompt was used to generate an example video in our playground: Create a short 10–12 second talking avatar video from the provided input image: a futuristic but realistic female AI avatar with a small capybara sitting calmly on her shoulder. Scene detail: The avatar stands in a sleek futuristic command room with soft holographic interface panels glowing behind her. One floating holographic panel clearly displays the model slug: “p-image-avatar”. The text should be visible in the scene, integrated naturally into the sci-fi interface, not as a subtitle or overlay. Camera directions: - Start with a medium close-up, avatar centered, shoulders visible. - Slow subtle push-in toward the avatar’s face as she speaks. - Maintain steady eye contact with the camera. - Add natural facial animation, lip sync, soft blinking, and slight head movement. - The capybara stays perched on her shoulder, occasionally blinking or making a tiny head movement. - Background remains softly out of focus, but the holographic “p-image-avatar” label should remain readable. - Lighting: cool blue-white key light with gentle rim lighting, realistic skin and eye detail. - End on a confident half-smile, with the capybara gently nuzzling closer. Dialogue: “Hello, human. I’m your next-generation AI companion. I analyze, adapt, and occasionally receive strategic advice from my capybara co-pilot. Together, we make the future feel a little calmer.” Performance notes: - Voice: warm, intelligent, calm, lightly playful. - Pace: clear and conversational. - Emotion: confident, friendly, subtly amused. - No exaggerated gestures or cartoon movement. - Keep the capybara cute but realistic. ## Code Examples ### Image to Video (/v1/videos/generations) — Async #### cURL # Step 1: Submit image-to-video request VIDEO_ID=$(curl -s -X POST \ https://api.lumenfall.ai/v1/videos \ -H "Authorization: Bearer $LUMENFALL_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "p-video-avatar", "prompt": "", "image_url": "https://example.com/start-frame.jpg", "duration": "10", "aspect_ratio": "16:9" }' | jq -r '.id') echo "Video ID: $VIDEO_ID" # Step 2: Poll for completion while true; do RESULT=$(curl -s \ https://api.lumenfall.ai/v1/videos/$VIDEO_ID \ -H "Authorization: Bearer $LUMENFALL_API_KEY") STATUS=$(echo $RESULT | jq -r '.status') echo "Status: $STATUS" if [ "$STATUS" = "completed" ]; then echo $RESULT | jq -r '.output.url' break elif [ "$STATUS" = "failed" ]; then echo $RESULT | jq -r '.error.message' break fi sleep 5 done #### JavaScript const BASE_URL = 'https://api.lumenfall.ai/v1'; const API_KEY = 'YOUR_API_KEY'; // Step 1: Submit image-to-video request const submitRes = await fetch(`${BASE_URL}/videos`, { method: 'POST', headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'p-video-avatar', prompt: '', image_url: 'https://example.com/start-frame.jpg', duration: '10', aspect_ratio: '16:9' }) }); const { id: videoId } = await submitRes.json(); console.log('Video ID:', videoId); // Step 2: Poll for completion while (true) { const pollRes = await fetch(`${BASE_URL}/videos/${videoId}`, { headers: { 'Authorization': `Bearer ${API_KEY}` } }); const result = await pollRes.json(); if (result.status === 'completed') { console.log('Video URL:', result.output.url); break; } else if (result.status === 'failed') { console.error('Error:', result.error.message); break; } await new Promise(r => setTimeout(r, 5000)); } #### Python import requests import time BASE_URL = "https://api.lumenfall.ai/v1" API_KEY = "YOUR_API_KEY" HEADERS = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } # Step 1: Submit image-to-video request response = requests.post( f"{BASE_URL}/videos", headers=HEADERS, json={ "model": "p-video-avatar", "prompt": "", "image_url": "https://example.com/start-frame.jpg", "duration": "10", "aspect_ratio": "16:9" } ) video_id = response.json()["id"] print(f"Video ID: {video_id}") # Step 2: Poll for completion while True: result = requests.get( f"{BASE_URL}/videos/{video_id}", headers=HEADERS ).json() if result["status"] == "completed": print(f"Video URL: {result['output']['url']}") break elif result["status"] == "failed": print(f"Error: {result['error']['message']}") break time.sleep(5) ## Frequently Asked Questions ### How much does P-Video Avatar cost? P-Video Avatar is free to use through Lumenfall's unified API. ### How do I use P-Video Avatar via API? You can use P-Video Avatar through Lumenfall's OpenAI-compatible API. Send requests to the unified endpoint with model ID "p-video-avatar". Code examples are available in Python, JavaScript, and cURL. ### Which providers offer P-Video Avatar? P-Video Avatar is available through Replicate on Lumenfall. Lumenfall automatically routes requests to the best available provider. ### What is the maximum resolution for P-Video Avatar? P-Video Avatar supports videos up to 1920x1080 resolution. ## Links - Model Page: https://lumenfall.ai/models/prunaai/p-video-avatar - About: https://lumenfall.ai/models/prunaai/p-video-avatar/about - Providers, Pricing & Performance: https://lumenfall.ai/models/prunaai/p-video-avatar/providers - API Reference: https://lumenfall.ai/models/prunaai/p-video-avatar/api - Benchmarks: https://lumenfall.ai/models/prunaai/p-video-avatar/benchmarks - Use Cases: https://lumenfall.ai/models/prunaai/p-video-avatar/use-cases - Gallery: https://lumenfall.ai/models/prunaai/p-video-avatar/gallery - Playground: https://lumenfall.ai/playground?model=p-video-avatar - API Documentation: https://docs.lumenfall.ai