Create a talking avatar from one portrait and a short script or speech track. This AI presenter and digital human video workflow can prepare narration with a selected voice or use a supplied recording, then direct a stable talking-head clip with restrained expression, natural movement, clear delivery, and focused lip-sync review. Use it for AI spokesperson videos, product explainers, training, course lessons, announcements, onboarding, social talking-head content, and photo-to-talking-video messages, with narration-driven facial motion and a focused review of identity, clarity, lip sync, and motion stability.
设计与多媒体
Talking Avatar
试用Make a person, portrait, or avatar talk on camera. Use when the user says "make this photo talk", "talking head video", "lip-sync this to my audio", "turn my...
它能做什么
Make a person, portrait, or avatar talk on camera. Use when the user says "make this photo talk", "talking head video", "lip-sync this to my audio", "turn my script into a presenter", "avatar reads this text", "sync this video to a new voiceover", or wants a spokesperson, explainer, or presenter driven from a script or audio file. For a full creator-style ad built around the talking head, use ugc-ad. For only the spoken audio with no video, use voiceover.
技能文档
Talking avatar
Drive a talking-head video from a still portrait or a registered avatar. Two ways in: write a script and let the model speak it (text-to-speech), or hand the model your own audio and it lip-syncs the face to it. The output is a video of someone delivering your words. Use this for presenters, explainers, spokespeople, and re-voicing footage. For a full ad or a standalone voice track, compose with the sibling skills below.
Inputs to collect
- The face. A portrait image of the person, or a registered avatar ID for catalog-based models. (Ask only if none provided.)
- The words. Either a script (you generate the voice) or an audio file (you supply the voice). One or the other, not both.
- Voice if going the script route: which TTS voice reads it, plus optional target language.
- Where it plays: orientation and resolution for the target platform (16:9 for web/YouTube, 9:16 for Reels/TikTok/Shorts).
- Optional: a background to composite behind the speaker, and whether to burn in captions.
Models
Confirm the live model + its schema via runware-models + runware-run before calling. Never hardcode a stale choice. All carry the io:audio-to-video capability.
Portrait / avatar driven (a still image or registered look becomes the speaker):
- HeyGen Avatar V (
heygen:avatar@5): registered-avatar presenter with the richest composition controls (background, framing, captions, multilingual TTS). Best general pick for a polished spokesperson. - OmniHuman-1.5 (
bytedance:5@2): image + audio, strong expressive full-body motion from a single portrait. - KlingAI Avatar 2.0 (
klingai:avatar@2.0-standard): expressive avatar video from image + audio.
Lip-sync onto existing footage (re-voice a person already on camera):
- sync-3 (
sync:3@0): full-scene lip sync with obstruction handling. Accepts a script or audio. - lipsync-2-pro (
sync:lipsync-2-pro@1): high-resolution diffusion lip-sync editing up to 4K. - PixVerse LipSync (
pixverse:lipsync@1): realistic lip sync from audio onto any reference video.
Workflow
These are video tasks, so they run asynchronously.
- Pick the model + path. Portrait/avatar to a talking head: HeyGen / OmniHuman / Kling. Re-syncing existing footage: sync-3 / lipsync-2-pro / PixVerse. Resolve the schema (
runware-run) and confirm the exactinputsfield names before calling. - Choose exactly one drive mode:
- TTS path: set
speech.text(the script) andspeech.voice. The model generates the voice. - Audio path: set
inputs.audio(a public URL or an uploaded asset UUID). The model extracts phonemes and animates the mouth to match. - Sending both errors. Not every model exposes
speech, so on those use the audio path.
- TTS path: set
- Provide the face. Upload the portrait into the image field (
inputs.image), pass a cataloginputs.avatarID where the model uses one, or for lip-sync pass the source footage (inputs.video/inputs.referenceVideos). - Compose for the platform (HeyGen): set
width/heightfor the orientation, optionallyinputs.background+settings.removeBackgroundto replace the scene,settings.fitto resolve aspect mismatch,settings.captionto burn in subtitles. - Run async and poll. Submit
videoInference, get ataskUUID, pollgetResponseuntil terminal. Read the result fromvideoURL.
Technique
- The face and the voice are independent. Pick the avatar/portrait and the voice separately. Lip sync adapts to whatever face you pair the audio with. A masculine voice on a feminine avatar will sync correctly but reads as a jarring mismatch, so pair them deliberately.
- TTS path for iterating on copy. Two requests with different
speech.textgive two videos in minutes, andspeech.languagelocalizes the same voice across locales (BCP 47 codes likeen-US,es-ES). This is the cheapest way to A/B copy or fan a script out across languages. Translate, don't transliterate. The language code alone won't fix awkward source copy. - Audio path for brand voices. When you already have the exact delivery (a recording, a voice clone, a separate TTS pass), feed it as
inputs.audioand let the lip sync wrap it. You give up the TTS tuning knobs on this path, so shape the voice upstream instead. - Lock the avatar and voice before iterating. Both are visible-in-the-output decisions. Test the pairing on a short 10-second script first, then send the full read once it feels right.
- Background and framing are where it reads as production. Most of the polish lives around the speaker, not in the face.
settings.removeBackgroundonly matters paired with a replacement (settings.backgroundColorhex, or an image ininputs.background). Alone it falls back to the source environment. Match the background image's aspect to the output canvas to avoid crop or letterbox. - Pick orientation before the look. A wide-framed avatar forced into a 9:16 canvas needs
fit: coverand still looks awkward. For mobile-first output, choose a look that frames vertically.coverfills and crops,containletterboxes, and omittingfitlets the server choose.
Fill this in before building the request:
Drive mode (pick ONE):
[ ] TTS -> speech.text = "", speech.voice = "" (no inputs.audio)
[ ] Audio -> inputs.audio = "" (no speech block)
Face: avatar = "" | portrait = "" | lip-sync source video = ""
Orientation + resolution: <16:9 or 9:16> @ <720p / 1080p / 4K>
Background: (+ removeBackground if replacing)
Fit: Captions:
For full worked requests covering each drive path, load references/examples.md.
Parameters that matter
- One of
speechorinputs.audio, never both.speech.text+speech.voiceare required together on the TTS path. speech.speed(HeyGen0.5to1.5, default1.0),speech.pitch(-50to+50, default0, keep adjustments small),speech.volume(0.0to1.0). TTS-path only.speech.language: a BCP 47 locale that adapts the voice's pronunciation to the target language.inputs.image(portrait),inputs.avatar(catalog ID, validated against an enum on avatar models),inputs.video/inputs.referenceVideos(lip-sync source),inputs.audio(URL or UUID).width/height: HeyGen outputs fixed 16:9 or 9:16 resolutions (720p / 1080p / 4K). 1080p is the production default, 720p for previews.settings.removeBackground,settings.backgroundColor,inputs.background,settings.fit(cover/contain),settings.caption: HeyGen composition controls. Burned-in captions are permanent and use a fixed style.- Confirm exact field names and ranges against the live schema (
runware-run). They vary across these models. Never guess.
Quality bar
- Lip sync tracks the audio cleanly, with no drift or mouth artifacts across the clip.
- Exactly one drive mode was sent (script or audio), so the request validated.
- Orientation and resolution match the destination platform, and
fitresolves any aspect mismatch without ugly letterboxing. - If a background was replaced,
removeBackgroundran with a real replacement and the background aspect matches the canvas. - No fabricated endorsements or on-screen claims. Only use copy the user supplied.
Related skills
runware-run, runware-models, runware-prompting; voiceover (generate or clone the audio you feed in), ugc-ad (wrap the talking head into a full ad), character-consistency (keep the same presenter across videos).
相关技能
用一张人像图和一段音频,生成最长 10 分钟、口型同步的说话头像视频。
Turn one HR or founder portrait and a job brief into one talking-avatar hiring video per open role. This hiring avatar studio and recruitment avatar workflow can clone or pick a voice, then produce a hiring talking head clip that walks through the role, requirements, and next step. Use it for recruiting video, job posting video, job opening presenter clips, and a hiring video studio that keeps each new role on camera.
Turn one authorized founder or expert portrait and a weekly script into a talking-head IP video in that person's likeness and voice. This founder avatar and digital avatar studio can clone that person's voice and produce a stable founder talking head clip for founder updates, expert explainers, and brand announcements. Use it for a digital human spokesperson, talking head founder series, expert avatar video, brand digital human, AI presenter, AI spokesperson video, and recurring presenter video.
Turn one shop portrait and short welcome, product, FAQ, and close scripts into talking-avatar clips a store can loop overnight. This unattended live avatar and night-shift avatar studio can clone or pick a voice, then produce a talking avatar livestream set for welcome, product, FAQ, and close so an unattended livestream or digital human livestream can keep a shop loop presenter on camera. Use it for overnight digital human clips, live room avatar loops, and a night-shift talking-head that keeps the room open.
Make a pet talk by animating one clear pet photo with a short message or prepared voice clip. This talking pet video and talking dog and cat generator workflow turns a single pet photo into a shareable talking-pet clip from one pet image and a short spoken line, and reviews breed and face identity, mouth motion, speech clarity, and synchronization. Use it for pet greetings, funny pet dialogue, pet reactions, pet stories, festive pet messages, and pet-creator content.