Ten FAQ answer clips from one avatar: cost and re-rendering one
Ten 20-second answers from one Sume avatar cost $49 at plus quality plus $0.95 for the avatar. When one answer changes, you re-render only that clip, for $4.90.
Ten 20-second FAQ answers at plus quality cost 10 x 20 x $0.245 = $49, plus a one-time $0.95 to create the avatar. When one answer changes, re-render that clip only: 20 x $0.245 = $4.90.
Why separate clips
One long video forces a viewer to scrub for their question, and any change to one answer means a new render of the whole video, with a 60-second cap per job anyway. One clip per question can sit under its own FAQ entry and be updated alone.
| Quality | Per second | Per clip | Ten clips | Re-render one |
|---|---|---|---|---|
| standard | $0.184 | $3.68 | $36.80 | $3.68 |
| plus | $0.245 | $4.90 | $49.00 | $4.90 |
| max | $0.55 | $11.00 | $110.00 | $11.00 |
Write answers that age well
- Open with the answer, then one reason.
- Keep prices and dates out of the spoken text where you can; put them in the page copy.
- Name each job with the question id so you can find it later.
- Keep each script to a length you are sure is between 4 and 60 seconds.
Submitting the set
Use a key per question and version, like faq-07-v2. If you change the text, bump the version, because the same key with a different body returns 409 idempotency_conflict.
import json, os, urllib.request
answers = {
"faq-01-v1": "You can cancel any time from your account page.",
"faq-02-v1": "Refunds are sent to your original payment method.",
}
for key, text in answers.items():
body = {"avatar_handle": os.environ["AVATAR_HANDLE"], "script": text,
"aspect_ratio": "16:9", "quality": "plus"}
req = urllib.request.Request(
"https://api.sume.com/v1/avatar-1.0/talking-video",
data=json.dumps(body).encode(), method="POST",
headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}",
"Content-Type": "application/json",
"Idempotency-Key": key},
)
with urllib.request.urlopen(req, timeout=30) as r:
print(key, r.status)Capacity
Ten submits are normally fine, but a workspace has a cap on accepted work. On 429 queue_full, wait for running jobs and retry with the same key.
What to do
Start with your three most common questions. Measure how many people watch them before you render the other seven.
Sources
Related posts
More in Use cases
- Ten hook variants of a 9:16 ad from one curl loop on Seedance 2.5
Ten opening hooks, one shared body prompt, ten Video Router jobs. A shell loop with stable Idempotency-Keys and how to plan the cost of 12-second 9:16 clips.
- Ten-shot 21:9 storyboard test on Seedance 2 Mini: $3.52 at 480p
Test a ten-keyframe sequence before the Kling 4.0 launch: ten 4-second 480p shots on Seedance 2 Mini cost $3.52 on Sume, against $10.75 on Seedance 2.5.
- Tenant Notice Video With Captions: AI Avatar for Property Managers
A property manager's tenant notice as a captioned avatar video: scene script, caption option and 60-second cap, request JSON, and Sume cost by quality tier.
- Threads 250 posts in 24 hours: budget your Sume clips per day
A Threads profile can publish 250 posts in 24 hours, and a carousel counts as one. Work out how many Sume clips fit under that cap with a short script.
Written by Sume