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.
Test this model instantly in the Console Playground โ no code required
Copy usage instructions for Claude, ChatGPT, or other AI
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"
}
}'| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
image | string | Yes | - | Input image (first frame). Supports jpg, jpeg, png, webp. |
resolution | string | No | 720p | Resolution of the video. 720p1080p |
audio | string | No | - | Optional uploaded audio to drive avatar speech. If provided, this is used instead of voice_script and voice settings. |
voice | string | No | Zephyr (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_script | string | No | - | Exact words the avatar should say. Required when no audio file is uploaded. |
voice_prompt | string | No | Say the following. | Optional style instructions for how to speak voice_script, such as tone, pacing, accent, or emotion. These instructions are not spoken. |
voice_language | string | No | English (US) | Language/accent target for generated speech. English (US)English (UK)SpanishFrenchGermanItalianPortuguese (Brazil)JapaneseKoreanHindi |
seed | integer | No | - | Random seed. Set for reproducible generation. |
video_prompt | string | No | The person is talking. | Optional visual prompt describing how the person should appear or behave while speaking. |
negative_prompt | string | No | - | 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_prompt | number | No | 0.5 | Strength of the Negative Prompt. Optimal value can differ for different video lengths (Experimental Feature) |
disable_safety_filter | boolean | No | true | Disable safety filter for prompts and input image. When disabled, prompts are not checked for unsafe content before generation. |
disable_prompt_upsampling | boolean | No | false | When true, skip automatic enhancement of the visual video prompt and use video_prompt directly. |
no_op | boolean | No | false | Health check mode - returns status without inference. |
There are 3 ways to provide files for the imageaudio parameters:
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"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"
}
}Common parameters used when calling POST /v1/predictions.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
model | string | Yes | - | Model identifier |
input | object | Yes | - | Object containing the model-specific parameters from the table above |
output_folder | string | No | - | Folder path for output files (max 256 chars, '..' not allowed) |
webhook_url | string | No | - | Webhook URL to call on completion |
is_public | boolean | No | false | If true, output files are also available via permanent public URLs |
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"
}
}'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"
}
}'POST /v1/predictions