Skip to content

DocsStart here

How OpenPromo works

How OpenPromo works: reading a website into a brand profile, ideas, creations as scenes, checks, rendering with templates and video, and what is stored.

OpenPromo turns a website into promo media in a fixed order: read the site, build a brand profile, write ideas, write a creation, check it, preview it and render it. Each step is visible and editable, and nothing is generated from a blank prompt.

Projects and the brand profile

A project is one website. When you add it, OpenPromo opens a handful of pages in headless Chrome, saves a screenshot of each, and reads the text. An AI model then writes the brand profile, while colors, fonts and the logo are measured from the rendered pages.

What the brand profile holds
PartWhat it contains
IdentityName, tagline, what the business does, its category, website and social links.
AudienceWho it is for, their problems and the outcomes they want, and common objections.
PositioningSelling points, each with the exact sentence and page it came from, plus calls to action and offers.
VoiceTone, how casual and playful it is, sample lines and words to avoid.
VisualBrand colors, text and background colors, heading and body fonts, the logo and its color.
ProductsProducts or plans the site describes.
FlowsGetting-started steps a new customer takes, for tutorials.

Every field is editable. OpenPromo remembers which fields you changed, so reading the site again later keeps your edits unless you ask for a reset.

Ideas

Ideas are short plans for posts: a title, a hook, a caption, hashtags, a call to action and the selling points they use. Write a batch by goal (launch, offer, tip, social proof, feature or behind the scenes) and channel. Make it turns an idea into a creation.

Creations are storyboards

A creation is an image, carousel, reel, promo video or tutorial. It is stored as a list of scenes, each with a layout, on-screen text, an optional picture, narration and a duration, plus a style, audio settings and a post caption. Renders are outputs of that storyboard: edit a scene and render again.

Creation types and sizes
TypeSizesOutput
ImageSquare 1:1, portrait 4:5, story 9:16, link banner 1200×628, X header 1500×500, LinkedIn banner 1584×396PNG
CarouselSquare or portraitPNG per slide and a PDF
ReelStory 9:16MP4, poster and SRT
Promo video16:9, 1:1 or 9:16MP4, poster and SRT
Tutorial16:9 or 9:16MP4, poster and SRT

There are ten scene layouts: hero, statement, big number, list, quote, screenshot in a device frame, product, picture and text, offer, and call to action, each in a clean, bold or photo look.

Checks

Every creation is checked when it is written and again on every save. Errors block rendering; warnings do not.

  • Hype words such as “revolutionize” or “seamless”.
  • Figures that cannot be found on your website, to stop invented claims.
  • Missing pictures, reading time per scene and voiceover pace.
  • A missing hook or call to action.

Rendering

Scenes are HTML and CSS templates rendered in headless Chrome, so text is always real text in your brand fonts. A fit pass shrinks text until nothing overflows, and color pairs below WCAG AA contrast are fixed automatically. Videos are put together with Hyperframes (Apache-2.0) and FFmpeg, which add the voiceover, music and word-by-word captions.

Renders run in the background. Generated pieces (voice lines, music, AI pictures and clips) are cached, so rendering again after an edit only makes, and pays for, what changed. See Costs, caching and limits.

The library

Every file of a project is in its library: website screenshots, the logo, uploads, AI pictures, voice, music and finished media. Use any of them in a scene.

What is stored, and where

Accounts, encrypted YepAPI keys, API keys and the usage log live in one Postgres database; projects, brand profiles, ideas, creations and renders in a second one. Files live in a media folder (MEDIA_DIR, a Docker volume when self-hosted) and are served only to their owner. See Self-hosting.