Talking photo
video Queued Runs in the background — you get a link when it is ready.
Turn a single photo of a person into a 1080p video of them speaking your audio.
Built for
Built for
- Spokesperson videos
- Personalized outreach
- Explainers without a shoot
How it works
You provide
A photo of a person facing the camera, and an audio track you uploaded (or one made with a voice capability).
You get back
A 1080p video of the person speaking, as long as the audio.
What this means for you
- Billed per second of audio, rounded up — up to 30 seconds per run.
- Any photo works as the face; the audio must come from your uploads or assets.
- Pairs with the voice capabilities: write it, voice it, then make it speak.
Try it
Details
What you can set
| Setting | Type and limits | What it means |
|---|---|---|
prompt optional | text, 0–1000 characters | Optional direction for the performance (calm, animated, looking left…). |
audio_url required | text, 1–2048 characters | The speech: the file_url of one of your uploads or the URL of one of your assets. Its length is what you are billed for (up to 30 seconds). |
image_url required | text, 1–2048 characters | The photo to animate — a person, facing the camera. An upload file_url, one of your assets, or any image URL. |
resolution optional | text, one of: 1080p | Fixed to 1080p. |
- What you get back
- An MP4 video
- Limits
- Up to 30 seconds of media
- How it runs
- Queued — Runs in the background — you get a link when it is ready.
- Alias
oneup/talking-photo
For developers
The same request as an API call, with this capability's example input:
curl -X POST https://api.oneupai.com/v1/queue/submit/oneup/talking-photo \
-H "Authorization: Bearer $ONEUP_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"audio_url": "https://media.oneupai.com/u/oneup_upload_youraudio/1790000000/sig",
"image_url": "https://example.com/portrait.jpg",
"resolution": "1080p"
}'Show input schema (JSON)
{
"type": "object",
"required": [
"image_url",
"audio_url"
],
"properties": {
"prompt": {
"type": "string",
"maxLength": 1000,
"description": "Optional direction for the performance (calm, animated, looking left…)."
},
"audio_url": {
"type": "string",
"maxLength": 2048,
"minLength": 1,
"description": "The speech: the file_url of one of your uploads or the URL of one of your assets. Its length is what you are billed for (up to 30 seconds)."
},
"image_url": {
"type": "string",
"maxLength": 2048,
"minLength": 1,
"description": "The photo to animate — a person, facing the camera. An upload file_url, one of your assets, or any image URL."
},
"resolution": {
"enum": [
"1080p"
],
"type": "string",
"description": "Fixed to 1080p."
}
},
"additionalProperties": false
}Other video capabilities
Photo to video clip
Bring a still photo to life as a short motion clip.
20 credits per second of clip
Cinematic clip (720p)
Our most cinematic photo-to-video, at 720p — the affordable tier for social.
55 credits per second of clip
Cinematic clip (1080p)
Our most cinematic photo-to-video, in full HD — for listings, ads and anything shown on a big screen.
125 credits per second of clip
Cinematic clip (4K)
Our most cinematic photo-to-video, at 4K — when the footage has to hold up on the largest screens.
280 credits per second of clip
Photo to full-motion clip
Turn a photo into a short clip with real motion and a soundtrack — optionally traveling to an end frame.
30 credits per second of clip
Lip-sync a video (studio)
Our highest-fidelity lip-sync — for close-ups and anything a customer will look at twice.
15 credits per second of your media (rounded up)
Lip-sync a video
Make the person in your video say your audio — mouth movements matched to the words.
8 credits per second of your media (rounded up)
Rendered short video
Cut your photos and clips into a finished short — cuts, punch-ins, captions, seamless transitions — the same result every time.
15 credits per started 10 seconds of output
Captions on your video
Burn captions from your own transcript onto your video, word for word.
15 credits per started 10 seconds of output