Composer is Brandflux’s in-house text-overlay layer. Every word on every asset (headlines, subheads, CTAs, hooks, burned-in reel captions, legal copy, disclaimers) is rendered by Composer, never by the underlying image or video model. Composer reads typography from the Brand DNA, enforces kerning and hierarchy, and sizes text correctly per format.
Why a separate layer
Image generation models are bad at text. They produce warped letters, misspelled words, fake-looking ligatures, and inconsistent weight at scale. The industry’s coping strategy is “regenerate until the text looks readable”, which works for a one-off poster and fails at 40 variations per concept.
Composer takes text rendering off the model entirely. The visual layer generates an image with no text in it. Composer then composites the typography on top, using the brand’s actual headline and body fonts, at the correct sizes for the format. The output looks like a designer set the type, because in effect a typographic engine did.
What Composer enforces
- Typography from the DNA. Headline family, body family, weights, sizes, tracking. No model-invented fonts.
- Mandatories stamped automatically. Legal copy, disclaimers, regulatory text. Configured per-brand once; stamped on every relevant variation forever.
- Per-format sizing. Headlines that work at 1:1 Instagram size are too large at 9:16 Story. Composer scales per format without re-rendering the visual.
- Editable post-generation. Headlines can be changed without regenerating the image. Type is text, not pixels.
The technical shape
Konva server-side for stills; Remotion on Cloudflare Containers for reels. Both read typography from the published Brand DNA at render time, so a DNA change propagates to all new variations automatically.
Related on this site
- /glossary/brand-dna owns the typography Composer renders.
- /glossary/mandatories are the auto-stamped elements Composer enforces.
- /glossary/variation is the unit Composer lays type onto.