Portal: https://projects.jbnx.io/framework/ai-media-cost-framework Markdown for agents: https://projects.jbnx.io/framework/ai-media-cost-framework?format=md Source: AI_MEDIA_COST_FRAMEWORK.md · dated examples in AI_MEDIA_COST_RATES.json Updated: 2026-10-25 · version 3
Choose the lowest effective cost that passes the required realism, identity, motion and audio checks. A cheap rejected render is waste. A more expensive model is justified only when it measurably improves the accepted result.
Use for TTS and voice-agent budgets, consistent fictional presenters, narration and lip-sync, image-to-video production, API-versus-subscription comparisons, and provider routing. Applies to providers such as xAI, ElevenLabs, HeyGen, Google, OpenAI, Kling, MiniMax, FLUX and LTX, including authorized hosting platforms.
Record the finished duration, aspect ratio, delivery resolution, frame rate, required realism, allowed cuts, speech/lip-sync needs, deadline, intended use and hard spending cap. Separate the cost of reusable reference assets from the marginal cost of each finished video. Set explicit acceptance checks for face, body, hands, feet, motion, voice, lip-sync and frame continuity.
Use the smallest architecture that satisfies the brief:
| Architecture | Default design | What to compare |
|---|---|---|
| Narration over images or footage | One pinned stock TTS voice and edited visuals | TTS, editing and asset reuse; no presenter engine unless needed |
| Talking presenter | Locked face/body references, pinned voice track, compatible lip-sync or avatar endpoint | Identity, mouth timing, speech quality, framing and complete rendered-video cost |
| Cinematic or physical action | Approved scene first frame and a reference-capable video endpoint | Motion, identity through turns, anatomy and usable seconds |
| Realtime voice agent | Native speech-to-speech or a measured STT/LLM/TTS stack | Total metered session cost, reasoning/tool fees, latency and reliability |
Do not compare a silent motion draft with a lip-synced presenter as if they were equivalent products.
Keep one versioned character identity authority: neutral face close-up, neutral full-body anchor, supporting angles, expression references, hairstyle and designed body proportions. Use feet flat and a relaxed neutral stance for the baseline; keep stylized poses separate. Record fictional height as a design target, never as a measurement recovered from an image.
Attach the exact anchor or matching approved scene image to each supported request. Preserve reference file hashes and exact endpoint/model revision. A seed is useful for replay only when the provider supports it; it does not lock identity across prompts, resolutions, models, versions or scenes. Independent generated angles remain interpretations, not a calibrated 3D scan.
For speech, pin provider, stock voice_id, model/version, language, accent, speaking rate, relevant settings and a reference audio sample. Verify the voice's commercial-use terms. Generate the approved master script audio once, cache it, then split the same track at edit boundaries. Regenerate only changed lines with matched context when a full retake is unnecessary. A voice ID alone does not prevent changes after provider model updates.
Use the pinned track to drive compatible presenter/lip-sync endpoints. Native generated dialogue is acceptable for a one-off clip if continuity is not required; for a recurring character, verify actual voice-reference support or replace the generated speech. Do not promise that a text description such as “warm British voice” establishes cross-clip voice identity.
Compare first-party APIs, authorized hosted APIs, existing subscriptions and self-hosting under the same deliverable and quality criteria. Direct APIs are not always cheaper; hosted providers may have different models, discounts, infrastructure or minimums. Do not assume a universal aggregator markup.
Separate consumer subscription access from developer API entitlements. Confirm current quotas, rate limits, commercial rights, automation permissions, credit expiry and overages. Use the subscription only through a supported authorized workflow; do not assume a web plan includes API credits or bypass a native-login requirement.
Self-hosted open weights have no provider inference charge only when the relevant license allows it. Include GPU rental or depreciation, idle time, electricity, storage, setup, maintenance and operator time. Marginal API charge of zero is not total cost of zero.
Calculate:
project cost = reference setup + voice + all submitted video attempts
+ lip-sync + editing/upscale compute + storage/egress
+ applicable subscription allocation + taxes/fees
effective cost per accepted second = actual project cost / accepted seconds
forecast = remaining attempts × verified billable units × current rate
+ remaining fixed and finishing costs + explicit contingency
Use exact script character counts for character-priced TTS. Convert to cost per audio minute only with a stated character-count and spoken-duration assumption. Include minimum clip duration, billed rounding, request count, resolution/audio multipliers, aspect constraints, rejected-but-billed work and paid retries. Show low/base/high estimates with their attempt and acceptance assumptions; do not present an estimated acceptance rate as measured performance.
Every recommendation must contain:
AI_MEDIA_COST_RATES.json is a dated evidence snapshot, not permanent pricing policy. Refresh it before a paid decision. The original supplied examples are not default tariffs: xAI's published TTS rate checked on 2026-10-25 is $15 per million characters, and ElevenLabs offers USD-priced API TTS. Provider products and billing tiers must not be mixed.
For Kayla model 001, apply this framework to the reference pack, stock voice sample, shortest four motion tests and shot ledger at https://jbnx.io/design/m/001. Use an explicit small test budget; production quality remains pending until actual clips pass inspection.
Six provider requests used 266 credits ($1.33 at listed rates; cash unreconciled) within a $1.65 allowance, including the rejected turn. Four curated motion baselines (18.6667s) and a 7.4667s voice proof passed scoped checks. Voice waveform and transcript matched; full-clip SyncNet passed 177 windows (−40ms offset; confidence 7.5897). Human listening was not performed. These short references do not guarantee future clips. Setup and local compute costs remain unknown. Evidence: https://jbnx.io/design/m/001.