Skip to main content
Core.Today
|
Pruna AIMediumHigh

Pruna P-Video Avatar

Pruna AI's talking-avatar video model โ€” animates a single input image to speak provided text (voice_script) or an uploaded audio track, with selectable Gemini-family preset voices, language, and visual delivery prompt.

870 credits
per video, flat rate tiered by resolution
Talking-avatar animation from a single input image
Text-to-speech via 29 Gemini-family preset voices, or drive speech from an uploaded audio track
10-language voice selection with adjustable delivery style via voice_prompt
Optional negative prompt and safety-filter/prompt-upsampling controls
Flat per-video pricing tiered only by resolution โ€” not billed per second

Run it right now

Test this model instantly in the Console Playground โ€” no code required

Sign in to try

Use with AI Assistant

Copy usage instructions for Claude, ChatGPT, or other AI

Quick Start

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "prunaai/p-video-avatar",
  "input": {
    "image": "https://example.com/presenter-photo.jpg",
    "voice_script": "Welcome to our new product launch. Today we're excited to show you what we've been building.",
    "voice": "Kore (Female)",
    "voice_language": "English (US)",
    "resolution": "1080p"
  }
}'

Parameters

ParameterTypeRequiredDefaultDescription
imagestringYes-Input image (first frame). Supports jpg, jpeg, png, webp.
resolutionstringNo720pResolution of the video.
720p1080p
audiostringNo-Optional uploaded audio to drive avatar speech. If provided, this is used instead of voice_script and voice settings.
voicestringNoZephyr (Female)Voice to use when generating speech from voice_script.
Zephyr (Female)Puck (Male)Charon (Male)Kore (Female)Fenrir (Male)Leda (Female)Orus (Male)Aoede (Female)Callirrhoe (Female)Autonoe (Female)Enceladus (Male)Iapetus (Male)Umbriel (Male)Algenib (Male)Despina (Female)Erinome (Female)Laomedeia (Female)Achernar (Female)Algieba (Male)Schedar (Male)Gacrux (Female)Pulcherrima (Female)Achird (Male)Zubenelgenubi (Male)Vindemiatrix (Female)Sadachbia (Male)Sadaltager (Male)Sulafat (Female)Alnilam (Male)Rasalgethi (Male)
voice_scriptstringNo-Exact words the avatar should say. Required when no audio file is uploaded.
voice_promptstringNoSay the following.Optional style instructions for how to speak voice_script, such as tone, pacing, accent, or emotion. These instructions are not spoken.
voice_languagestringNoEnglish (US)Language/accent target for generated speech.
English (US)English (UK)SpanishFrenchGermanItalianPortuguese (Brazil)JapaneseKoreanHindi
seedintegerNo-Random seed. Set for reproducible generation.
video_promptstringNoThe person is talking.Optional visual prompt describing how the person should appear or behave while speaking.
negative_promptstringNo-Disabled if empty.Mention what you do NOT want in the video, e.g. "subtitles, text, blurry, low quality, frames, watermark, titles, scene change". We recommend using multiple keywords at once.
strength_negative_promptnumberNo0.5Strength of the Negative Prompt. Optimal value can differ for different video lengths (Experimental Feature)
disable_safety_filterbooleanNotrueDisable safety filter for prompts and input image. When disabled, prompts are not checked for unsafe content before generation.
disable_prompt_upsamplingbooleanNofalseWhen true, skip automatic enhancement of the visual video prompt and use video_prompt directly.
no_opbooleanNofalseHealth check mode - returns status without inference.

How to Provide File Input

There are 3 ways to provide files for the imageaudio parameters:

Recommended

Direct Upload (Multipart)

Attach files directly to POST /v1/predictions/upload. No separate upload step needed.

curl -X POST "https://api.core.today/v1/predictions/upload" \
  -H "X-API-Key: cdt_your_api_key" \
  -F "model=prunaai/p-video-avatar" \
  -F 'input={"prompt":"your prompt here"}' \
  -F "file:image=@your_file.png"

Image URL

Pass a publicly accessible URL directly. You can also use file_url from the Storage API.

{
  "model": "prunaai/p-video-avatar",
  "input": {
    "prompt": "your prompt here",
    "image": "https://example.com/image.jpg"
  }
}
See the File Upload docs for more upload methods including Presigned URLs.

Common Parameters

Common parameters used when calling POST /v1/predictions.

ParameterTypeRequiredDefaultDescription
modelstringYes-Model identifier
inputobjectYes-Object containing the model-specific parameters from the table above
output_folderstringNo-Folder path for output files (max 256 chars, '..' not allowed)
webhook_urlstringNo-Webhook URL to call on completion
is_publicbooleanNofalseIf true, output files are also available via permanent public URLs

Examples

AI presenter reading a script

Animate a headshot photo to deliver a scripted message with a preset voice.

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "prunaai/p-video-avatar",
  "input": {
    "image": "https://example.com/presenter-photo.jpg",
    "voice_script": "Welcome to our new product launch. Today we're excited to show you what we've been building.",
    "voice": "Kore (Female)",
    "voice_language": "English (US)",
    "resolution": "1080p"
  }
}'

Avatar driven by an existing voiceover

Skip text-to-speech entirely and drive the avatar's lip-sync from an uploaded audio recording.

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "prunaai/p-video-avatar",
  "input": {
    "image": "https://example.com/presenter-photo.jpg",
    "audio": "https://example.com/voiceover.mp3",
    "resolution": "720p"
  }
}'

Tips & Best Practices

1If you already have a voiceover recording, upload it via `audio` instead of `voice_script` โ€” it takes priority and skips text-to-speech.
2`voice_script` is only required when no `audio` file is provided; leave it empty when driving the avatar from audio.
3Because pricing is a flat per-video rate by resolution, a longer line of speech doesn't cost extra โ€” only the resolution tier matters.
4Use `voice_prompt` to shape delivery (tone, pacing, emotion) without changing the actual words in `voice_script`.

Use Cases

AI spokesperson / presenter videos for product launches
Automated explainer or onboarding videos from a script
Multilingual marketing avatars using the same source image
Turning an existing voiceover recording into a talking-avatar video via the audio input