15 · Sales and marketing · Creative and media · preview
Disclosed UGC ads
Eval results
Not held outRun 24 Sep 2026
- Watermark survival on the two example ads (metadata stripped / CRF 28 re-encode / 50% resize)receipt id recovered in all 6 checks (6/7 to 7/7 frames vote)syntheticn = 6
- Brand safety, automated check (RapidOCR rule) on 12 H3 clipsflagged 1 of 2 clips a person rejected, 0 of 10 approved clipsdev (tuned on)n = 12calibration set
Dataset
Two example ads for watermark robustness, and 12 H3 clips reviewed by a person to calibrate the brand-lettering check (our server, 2026-09-24).
Caveats
- Ad quality not measured with a metric; the lite tier was judged not usable for presenter ads by owner review.
- The brand check was calibrated on the same 12 clips it is scored on, and it missed 1 of 2 rejected clips.
- Lip-sync quality not measured yet.
Nightly smoke check
Loading the nightly status…
- Result
- partial
- Run
- 25 Sep 2026
- Latency, this run
- n/a
- p50 over passed runs
- 6.7 s
- Receipts
- 6
- Model calls
- n/a
- Tokens
- n/a
- Cost per run
- $0.003
Self-host verification
partial on 25 Sep 2026: Fresh clone of decosa-api, api image plus the prompt's extras, compose from the assemble prompt with llm and comfy pointed at an already-running Qwen3.8-27B vLLM and ComfyUI on the same box.
Verified on 2026-09-25: images build, the service starts, /ugc/policy, the refused brief (no model call), a plain brief (seven lanes, six receipts signed by the box's key, status attested, 7.6 s) and pricing all work against local model servers equivalent to the documented ones; model-server startup was not re-verified. The Kokoro voice-over helper ran on CPU in the container (2 s line in 6 s). A Wan2.1 ad render (about 13 minutes per shot on the GPU) was not run. Fixed on the way: the image left out services/ (first render failed with 'tts exited 2'); self-hosted boxes defaulted to the fal render path; Kokoro's spaCy model download. Worked around locally (fixed in the shared self-host pass): data folders owned by root, and a curl health check the image cannot run.
Rehearsal bundle: ugc.zip (2 KB, 11 checks). Mock inputs plus the expected results, so you can prove your own setup works before any real data touches it.
Known limits
- The same brief can plan with render_allowed true on one run and false on the next: the writer is a model. The server revises a script once; after that, plan again or add evidence.
- Hosted renders need the fal account to have credit; while it is empty, plans still work and renders are refused up front with a clear message.
- Hosted plan latency depends on the shared model server: about 7 s when quiet, 16-40 s when busy.
- Frames are checked for brand lettering by OCR, not by a person; the published example ads were also reviewed by a person.
Models and licences
Standard tier. Licence posture: community licence (check the terms).
- Lane model (brief check, hooks, script, claims review, disclosure text, storyboard)Qwen3.8-27B (NVIDIA NVFP4)Apache-2.0
- Hosted default video: presenter still, lip-synced presenter shots and reference-consistent B-roll (with audio)MiniMax H3 Max (via fal)H3's own licence excludes the US; used here only through fal's hosted endpoints, listed as commercial use under fal's MiniMax partnership
- Voice-over (preset synthetic voices only)Kokoro-82MApache-2.0
- Content credential and render receipt (provenance kit)c2pa-rs via c2pa-pythonMIT OR Apache-2.0
- Invisible watermark on every frame (payload: the receipt id)TrustMark variant QMIT
All quality evidence
Every sourced number on the tool’s Stack tab, by tier. Some are proxies from another task; their labels say so.
Lite · fully open (Apache-2.0), on your own GPU (2)
- Ad quality: judged not usable next to H3 or LTX-2.3 for presenter ads (owner review, 25 Sep 2026); not measured with a metricowner review
- Render time: 788 s per 5 s shot at FP8 weights, 30 steps (one RTX PRO 6000)measured on our server 2026-09-23
Standard · the hosted default, MiniMax H3 via fal at cost (3)
- Watermark survival on the two example ads (metadata stripped / CRF 28 re-encode / 50% resize): receipt id recovered in all 6 checks (6/7 to 7/7 frames vote)measured on our server 2026-09-24, <data>/ugc/watermark-robustness-h3.json
- Brand safety, automated check (RapidOCR rule) on 12 H3 clips: flagged 1 of 2 clips a person rejected, 0 of 10 approved clipscalibration 2026-09-24, decosa_api/verticals/ugc/brand_check.py
- Ad quality: not measured yet
Best for self-host · MiniMax H3 (licence pending) or LTX-2.3 on your own GPU (1)
- Lip-sync and ad quality: not measured yet in this product
Wanted · MiniMax H3 on two cards, no offload (1)
- render time per clip against one card with offload: not measured yet