Approved an avatar preview, now the hook changed: new preview
Sume's generate-video from an avatar preview keeps the script and first frame. Only quality can change, so a new hook needs a new preview.
You cannot edit the script after approving a Sume avatar preview. POST /v1/avatar-video-previews/{id}/generate-video reuses the stored request, and the docs say the structural fields (script, video_inputs, avatar_handle, scene, aspect_ratio) still require a new preview. The only thing you can change at that step is the final render quality. So if the hook line changes, create a new preview for it.
This is from Sume's Avatar video previews page, read on 2026-10-02. A preview generates the first-frame still stage without starting the full render, so you approve composition before the full spend.
What can I change at each step?
The docs separate what each of the three preview calls accepts.
| Call | Can change | Cannot change |
|---|---|---|
POST /v1/avatar-video-previews | Everything: script or video_inputs, avatar_handle, scene, product_image, quality, aspect_ratio, title, captions | (sets the stored request) |
POST .../{id}/regenerate | Refreshes the first-frame stills from the stored request | The request itself |
POST .../{id}/generate-video | Optional quality for the final render only | script, video_inputs, avatar_handle, scene, aspect_ratio |
What is the practical hook workflow?
For a hook test, treat each opening line as its own preview. Create one preview per line, look at preview_image_url (and scene_previews[] for multi-scene), then call generate-video only on the previews you want. regenerate is for a different still of the same request, not a different line. With an empty body, generate-video keeps the quality chosen at preview create, and a quality override applies to the final render only. Preview stills are tier-independent and always reused, as the docs put it.
The duration window is the same as a direct render: an estimated 4 to 60 seconds inclusive. Media inputs such as product_image and scene.image_url are public HTTPS URLs.
Where do captions fit in?
Inline captions stored on preview create are applied at generate-video time. Preview stills are never caption-burned, so a still with no captions on it is normal. The docs also say a caption stage that fails can leave the avatar job succeeded with a clean primary video_url and captions.status=failed; the standalone Video captions endpoint can caption that clean file later.
What should I do next?
Three habits that follow from the docs:
- Keep one preview id per hook line, so you can map a result back to its text.
- Decide the aspect ratio before you preview: it is structural and cannot change later.
- Use approve first, then pick the quality tier when only the tier is undecided.
Sources
Related posts
More in Developers
- Avatar video 409 avatar_not_ready: wait for the avatar to be ready
POST /v1/avatar-1.0/talking-video returns 409 avatar_not_ready when the avatar is still processing or failed. Poll the avatar's resource_status, then submit.
- Avatar video: avatar_handle or avatar_id per scene?
Sume avatar video launch requests use avatar_handle. Per scene, a character object takes avatar_id or avatar_handle, but only one avatar is allowed per video.
- Avatar video_inputs limits: 20 scenes, 2,000 characters each
Sume's avatar video video_inputs accepts 1 to 20 scenes, each text scene up to 2,000 characters and 60 seconds, inside the 4-60 second total window.
- Avatar video mode: sync waits 30 seconds, so use async or webhook
Sume's sync and subscribe modes wait at most 30 seconds. Avatar video usually takes longer. How to read the timed-out response and what to do next.
Written by Sume