Before you start
- Script: The words the avatar should speak; replace the retained demo text.
- Custom avatar or voice identifiers (optional): Existing HeyGen identifiers, only when choosing custom selections. These fields do not create an avatar or voice.
Start with a preset speaker
Generate one Talking-head video from written text. The retained starting configuration uses Annie Lounge Standing Side with (avatar's default voice), 720p resolution, auto aspect ratio and speech speed 1. Background color and both custom ID fields are empty; export format and codec are auto. These settings avoid needing custom assets. The demo script's mention of creating a custom avatar is spoken text, not an avatar-creation feature.
The retained preparation lists the required tea-time-labs/sweet-tea-nodes node pack without a pinned version. Authentication setup and provider access conditions are not supplied, so this is not a complete service-setup guide. Supported platforms, GPU/RAM recommendations and comparable run timing are also not established. The generic 1024×1024 preparation workload does not establish this video's output dimensions. Keep the saved native seed for direct graph use; the UI seed default differs, as explained below.
- Replace Script with the words you want the avatar to speak, then run the recipe with the preset starting configuration.
Look for: The intended result is one Talking-head video with the selected avatar speaking your script. No executed example is retained.
Outputs: output:21
How the two-node path works
Node 17 (HeyGenAvatarVideoNode) holds the speaker, script, delivery and appearance inputs. Its retained branch is engine=auto and speech=script; these are the only supported branch options in this revision. Audio speech would require an audio input outside this selected graph.
Output slot 0 of node 17 connects directly to node 21 (SweetTeaPreviewVideo) through 21.video=["17",0]. The terminal exposes Talking-head video, port output:21, with cardinality one. There are no intervening editing or compositing nodes. Original terminal metadata names SaveVideo, but the actual retained terminal class is SweetTeaPreviewVideo. Preserve this video connection when changing export settings.
Generation controls belong to node 17; export controls belong to node 21. Export choices do not change the script, avatar or speech delivery. The interface port ID video_quality is the Resolution control bound to 17.resolution, not an uploaded-video input, despite its port-contract modality being labeled video.
Neither node's internal execution effects are characterized in the pack. The connection establishes the video path, not provider request handling, internal synthesis methods, runtime or resource consumption.
Choose the speaker and delivery
Script maps to 17.speech.text: it is the text to be spoken, not a separate visual prompt. Avatar maps to 17.engine.avatar; Voice maps to 17.speech.voice. Avatar and Voice accept text rather than offering selection lists. The retained selections are Annie Lounge Standing Side and (avatar's default voice); the latter uses the selected avatar's voice. Other supported HeyGen names are not cataloged in this pack.
Custom avatar ID maps to 17.custom_avatar_id; Custom voice ID maps to 17.speech.custom_voice_id. Both are schema-required string inputs saved as empty strings. Required here does not mean you must supply a custom identifier: empty is the documented configuration for regular selections. Nonempty values must identify existing HeyGen assets; these inputs do not create or train them. Precedence when custom IDs and regular selections are both populated is not established, so do not infer an override rule.
Speech speed maps to 17.speech.voice_speed: 1 is normal, lower values slow speech and higher values accelerate it. Its range is 0.5–1.5 in increments of 0.05. This establishes a delivery control, not a measured duration estimate.
- Slower speech example
- Requests slower speech than the normal-speed default. This is an executable configuration example, not a measured run.
Do you already have a custom speaker or voice identifier?
An entered avatar or voice selection is not accepted
These text fields require supported HeyGen selections; the recipe supplies no catalog of other valid names.
Check: The retained starting selections are Annie Lounge Standing Side and (avatar's default voice).
Return to those selections with custom IDs empty to isolate the changed selection. This does not diagnose provider access or authentication failures.
Separate video appearance from export
Resolution is 17.resolution, with 720p saved and 1080p as the other option. Aspect ratio is 17.aspect_ratio, saved as auto, with options auto, 16:9, 9:16, 1:1, 4:5 and 5:4. Choose an explicit ratio when the destination needs a particular shape. Automatic sizing behavior and exact pixel dimensions for each resolution/ratio combination are not specified.
Background color is 17.background_color, saved as an empty string. Empty retains the provider's default background behavior. A nonempty color must be accepted by HeyGen; this pack specifies neither its syntax nor transparency support.
Advanced File type maps to 21.format: auto, mp4, mkv or webm. Codec maps separately to 21.codec: auto, h264 or av1. Both are saved as auto. These are export choices, not generation resolution or video-shape controls. The pack does not document supported container/codec combinations or what automatic selection chooses.
Hidden Quality (CRF), 21.crf, is saved as -1; its interface range is -1–63 in steps of 1. It is described only as a Sweet Tea output transport setting. Leave it unchanged rather than inferring quality, file-size or provider-generation effects from its label.
- Generate at 1080p
- Changes the requested generation resolution, not the output container or codec. No timing or memory comparison is retained.
- Portrait video
- Requests a 9:16 video shape at the generation stage; it does not select an export container.
- MP4 container
- Selects MP4 at the export stage; codec remains a separate setting. This does not establish compatibility with every listed codec.
Does the destination require a particular video shape or file type?
- A particular shape: Choose the supported aspect ratio at node 17; changing the container will not select portrait or landscape.
Handle seed ambiguity and unsupported inputs
The saved native seed is 2028471128. Native schema facts constrain 17.seed to integers from 0 to 2147483647. Separately, the interface default and note describe -1 as randomizing each run, even though the interface also declares a minimum of 0. The retained widget list contains randomize at index 12, explicitly marked non-runtime.
These are different configuration layers, not evidence that -1 is a valid native seed. For direct native configuration, keep the saved valid seed or use another in-range integer. The pack does not establish how the UI's randomization sentinel is translated. A fixed seed does not guarantee identical HeyGen output.
There is no audio upload, reference-image input, separate language selector or selectable alternative engine/speech branch in this revision. Changing a text field cannot add missing media sockets. A workflow requiring those inputs needs another graph; no executable fallback recipe is retained.
- Restore the saved native seed
- Uses the retained in-range integer instead of sending the UI's unresolved -1 sentinel directly to the native input. It does not guarantee identical generated video.
A native seed value of -1 fails validation
The UI's documented randomization sentinel conflicts with the retained native minimum of 0.
Check: The native graph saves 2028471128, not -1. This is a configuration discrepancy, not a retained failure report.
Use the saved seed or another integer in 0–2147483647 for native input; do not assume direct native support for the UI sentinel.
A fixed seed produces different videos
The source explicitly does not guarantee identical provider-generated output for a fixed seed.
Check: A valid fixed seed is not a reproducibility guarantee.
Do not use seed equality as evidence that generated videos must match. Retain the delivered video when you need that exact result.
You need the avatar to speak uploaded audio
This retained graph selects script speech and lacks an audio input socket.
Check: The only retained speech option is script.
Where this approach stops
- Audio upload
- Reference-image input
- Separate language selector
- Alternative engine or speech branches
- Avatar or voice creation and training
- Guaranteed identical output from a fixed seed
