Marsam
An Arabic content studio that runs inside the AI assistant you already use. Describe a topic and it writes the carousel, lays out eight 1080x1350 slides, writes the caption, and produces the reel script and story frames from the same brand file. One payment, no subscription.
$199
Founding price · rises to $499
Founding price ends
Why Arabic templates break
Almost every Arabic carousel template on sale was designed left to right, in English, and then mirrored. Mirroring flips alignment and nothing else. It cannot keep a Latin product name anchored inside an Arabic sentence, stop a paragraph from stranding its last word, shrink a headline that runs longer than the designer sample, or make eight slides end at the same height.
Those four failures are the difference between designed and filled in, and a reader feels all four without being able to name one. Marsam is built right to left from the first line of code, so none of them are your job.
The first ten minutes
Open the folder with the AI agent you already use (Claude Code, Cowork, Codex, or anything that can read files and run node) and say:
"I just installed Marsam. Please onboard me."
Onboarding takes about ten minutes across a few rounds, covering your brand, your content strategy, and how often you want to publish. A demo brand ships inside, so you can render real slides and look at them before you set up your own.
What one sentence gets you
After that, the whole workflow is "Make a carousel about the new Instagram update."
What comes back is 8 to 10 slides written in your brand voice, laid out and exported as eight 1080x1350 PNGs in their own folder, plus a caption of 150 to 250 words carrying the call to action you chose. Revisions are plain language: "make slide 3 more direct", or "that headline is too long". The system rewrites, re-renders, and runs the whole quality pass again. You never open a file and you never type a command.
Every draft is saved for you to look at first. Nothing posts by itself.
Reels and stories come from the same file
A topic is rarely one post. The same brand file also produces reel scripts, structured as hook, body and call to action, with the hook written word for word instead of described. And story sequences of 3 to 5 frames, with guidance on where the stickers go.
There are two content modes. One reacts to news and trending topics. The other rotates through the content pillars you set at onboarding, for the weeks when nothing is happening.
The four templates
Structural lanes, not mood presets, so you pick by what the content actually is.
| Template | Arabic | Use it for | Needs an image |
|---|---|---|---|
| Dispatch | البريد المعرفي | news that arrived: a launch, an update, a change | no |
| Catalog | الفهرس | evergreen explainers, still true next year | no |
| Broadcast | النشرة | numbers, comparisons, moving parts | no |
| Plate | لوحة | posts where an image carries the story | yes, yours or generated |
One file is a brand
State three colours (ink, accent, paper) and a handle. The system derives the rest in OKLab so hues stay true: gradient ends, four panel surfaces, tint ramps, the accent darkened until small type reads on paper, the same accent lifted until it reads on ink. Then it audits nine colour pairings for contrast and reports any shortfall before you render a slide.
The same file holds your brand voice, your audience, your content pillars and your formatting preferences, all editable by talking instead of by editing config. Change it and all four templates re-skin. Brand files are unlimited, so adding a client takes about five minutes.
Arabic typography, at the code level
Right to left is built into the engine itself. It was not added afterwards. Five Arabic families ship inside: Almarai, Tajawal, Cairo, Amiri and Reem Kufi. A full Arabic typography reference sits underneath, so the judgment calls that make Arabic type read well are encoded instead of guessed at. Non-breaking spaces go in before render so no paragraph strands its last word, and every Latin run is isolated automatically, which is why ChatGPT or Notion or your own handle stays exactly where you put it.
On image slides, the generated image references Arabic type that was rendered first. No model is ever asked to draw Arabic letterforms, and that is the specific reason the glyphs do not come back broken.
It checks its own work
Ten measured checks run on the rendered pixels, not on the source: margin overhang, safe-area breaches, heading lines colliding, blocks overlapping, dead air at the foot of a page, a stranded last word, a duplicated handle or page number, an un-isolated Latin run, prose below the phone readability floor, and copy so long the type hit its floor and still does not fit.
Several of those defects are impossible while the layout passes are running, which means a silent checker and a broken checker look identical. So the kit ships a self-test that renders a deliberately broken fixture with the preventions switched off, and fails unless every check still fires. There is also an inspect command that crops every wrapped heading at double size, for when you want to look rather than be told.
It can run on a schedule
You can leave it generating: daily or weekly, driven either by trending news or by a content calendar you set, and falling back to your content pillars when there is nothing to react to.
It also remembers. Your corrections and preferences are saved between sessions, so the output moves toward what you want the more you use it, instead of resetting every time you open a new chat.
Three ways to make an Arabic carousel
| By hand in Canva | A designer per job | Marsam | |
|---|---|---|---|
| Who decides type size and line breaks | you, on every slide | the designer | computed on every render |
| Latin words inside Arabic sentences | you nudge them back | fine until you edit it | isolated automatically |
| Eight slides ending on one baseline | by eye | yes | measured and distributed |
| Caption, reel script, story frames | separate jobs | a separate brief | the same run |
| The twentieth carousel this month | the same work again | the twentieth invoice | the same one sentence |
What it needs, and what it costs to run
Node 22 or higher, and any Chrome, Chromium, Edge or Brave you already have. There are no npm packages to install and no account to create. The base cost of running it is zero.
The only optional cost in the whole system is image generation, about two US cents per image through an external provider, quoted to you before it runs. Only the Plate template uses it, and Plate also accepts photos you already own.
What is in the download
The four templates, the layout engine, the brand token layer, the ten checks with their self-test, the reel and story templates, five Arabic font families under an open licence, worked example carousels, a demo brand, the full documentation, and an Instagram strategy guide covering what actually gets saved and shared beyond the carousel format itself.
Licence
One licence, perpetual, no subscription. It covers your own brands and your client work: unlimited carousels for yourself and for people who pay you, unlimited brand files, and full rights to sell what you make. The single restriction is that you cannot resell or redistribute Marsam itself.
Everything described on this page is included at one price. There is no separate tier holding back reel scripts, scheduling, or extra brand slots.