Social
Content Writing
No items found.

Generate social media captions with AI: a sourced voice profile, truncation-checked captions & a scheduler-ready CSV

Name the brand and this month's assets, and the captions come back platform by platform, each one checked against the point where that platform cuts the text off, with tiered hashtags, functional alt text and every claim mapped to a source.

Writing captions is one of 700+ pre-built Flows in Juma. Name the brand and list the assets going out this month, and the live site and the brand's public social accounts get read before a single caption is written: how posts open, how they close, which words recur, where the emoji sit, and which claims the brand has already published evidence for.

What comes back is a branded PDF caption playbook plus an editable CSV, one row per asset per platform. Every caption is written native to its platform rather than reworded five times, and every caption is checked against the point where that platform truncates: Instagram feed cuts around 125 characters, LinkedIn around 140, and X caps at 280 including hashtags. A hook that dies mid-sentence at the cut comes back marked and rewritten, not shipped. Hashtags arrive tiered into broad, niche and branded with a reason for each tier, alt text is written to be functional rather than decorative, and any claim a caption makes that is not backed by a sourced figure is flagged before it reaches a scheduler. Strategy, taste and judgment stay human: this is the draft the social lead edits, not a publish button.

1

Write this month's social captions

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Try This Flow

Example Flow result

Hide details
  • Describe what is actually in each asset. "A flat lay of the new bar, unwrapped, showing uneven chunks" produces a caption about the chunks. "Product photo" produces a caption about nothing. The detail in the asset description is the detail that shows up in the copy.
  • Include the live site URL, not just the brand name. The voice profile is built by reading the brand's own pages and public posts. With a URL that research starts immediately and the captions come back sounding like the brand rather than like a category.
  • Name the platforms you actually publish on. Captions are written native to each one, so asking for five platforms you use beats asking for every platform that exists. A LinkedIn caption and a TikTok caption share nothing but the subject.
  • Ask for the cut-off check by name. The number that matters is not how long a caption is, it is whether the hook finishes before the platform hides the rest. Requesting a pass or fail against the truncation point turns a stylistic preference into something checkable.
  • Say which claims are already published. If the brand has a report, an impact page or a press release, point at it. Claims that map to a source stay in the copy, and claims that do not get flagged rather than quietly softened.
  • Run it once a month, against the month's assets. Saved to a Juma Project, each run carries the voice profile forward, so the second month starts from an established voice rather than rebuilding it.
2

How do you keep a caption's hook above the "see more" cut?

Every social platform hides the end of a caption behind a tap. Instagram's feed shows roughly 125 characters, LinkedIn around 140, and X stops at 280 including hashtags. This step returns, for each caption, the exact text still visible before the cut, the character count at that point, and a pass or fail on whether the hook actually completes. Captions that fail get rewritten until the first line carries a complete thought. The total character count stays as a secondary number, because length was never the thing that decided whether someone kept reading.

Prompt
Copy

For each caption, show me the exact text visible before the platform truncates it, the character count at that cut, and a pass or fail on whether the hook completes. Rewrite every caption that fails.

Try This Flow
3

How do you write captions that match a brand's actual voice?

A voice profile built from adjectives produces captions that sound like every other brand in the category. This step builds the profile from evidence instead: typical sentence length, how posts open, how they close, the emoji posture, the constructions that recur, and the words the brand never uses. Each observation arrives with a verbatim line from a real post or page and a note on where it came from. The result is a reference the whole team can check copy against, and the reason a caption can be defended in a review as on-voice rather than merely liked.

Prompt
Copy

Build the voice profile from our live site and public social accounts. For every observation, quote a real line and name the page or post it came from.

Try This Flow
4

How do you check a caption's claims before it goes out?

The claims in a caption are the part that creates risk, and they are usually the part nobody checks. This step maps every claim in every caption to a sourced figure with its date, and flags any caption carrying a claim that does not map. It also separates claims that look identical but are not: paying a reference price is a different statement from a supplier earning a living wage, and the distinction has to survive into the wording rather than sitting in a footnote. What comes back is an approval table naming, per asset, exactly what to confirm before scheduling.

Prompt
Copy

Map every claim in every caption to a sourced figure with its date, flag any claim that does not map, and give me an approval table naming what to confirm per asset before scheduling.

Try This Flow
5

How do you turn a month of captions into a scheduling sheet?

A playbook nobody can paste from is a document, not a deliverable. This step produces one CSV row per asset per platform carrying the caption, the visible-before-cut text, the cut and total character counts, the pass or fail, the hashtags with their tier, the alt text, the call to action and the posting order. Counts are recomputed rather than carried over, and the sheet is reconciled against the PDF so the two cannot disagree. The month arrives in a posting sequence with a line of reasoning for each slot, ready to load into whichever scheduler the team already uses.

Prompt
Copy

Give me the scheduler CSV: one row per asset per platform with caption, visible text before the cut, both character counts, pass or fail, hashtags with tier, alt text, CTA and posting order. Recompute every count and reconcile it against the PDF.

Try This Flow

Set up your client project: brand voice guide, claim evidence, and the asset calendar

Teams build one Juma Project per client and add context over time. Every flow the team runs for that client pulls from the same project, so a caption run in month three starts from the voice profile, the approved claims and the posting patterns that months one and two established.

What to add

Brand Voice Guide

The brand's social voice in its own words: how posts open, how they close, the constructions that recur, the emoji posture, and the words to avoid. Add it and the voice profile step starts from the team's own reference instead of rebuilding it from scratch each month.

Claim Evidence Library

Impact reports, product pages, press releases and any published figure the brand stands behind, each with its date. This is what caption claims get mapped against, and it is what turns "we think this is fine" into a sourced line.

Asset Calendar

What is going out this month and what each asset actually shows. The more specific the description, the more specific the caption, and the less the copy defaults to generic product language.

Previous Caption Sets

Past months saved as reference. Recurring hooks, hashtags that keep appearing and formats that have been used recently all surface, so the new month varies rather than repeating itself.

Guide Juma with project info

Add a short description to each knowledge item in the project's info field so Juma knows what each file contains and when to use it. For example:

  • Brand Voice Guide: "Our social voice. Check every caption against this before proposing it."
  • Claim Evidence Library: "Every published figure we stand behind, with dates. Map caption claims to this and flag anything that does not map."
  • Previous Caption Sets: "The last three months of captions. Avoid repeating hooks and hashtags that appear here."
Juma Logo
Write this month's captions in one chat

Frequently Asked Questions

What does the social media caption playbook include?

The playbook includes a voice profile built from the brand's live site and public posts, one caption per asset per platform, the visible-before-cut text and character count for each, a pass or fail on the hook, tiered hashtags, functional alt text, and an approval table naming what to confirm per asset.

It arrives as a branded PDF plus an editable CSV with one row per asset per platform. The CSV is the source of truth: every count in it is recomputed rather than carried over, and the PDF is reconciled against it before delivery, so the two cannot disagree halfway through a scheduling session. The posting order for the month comes with a line of reasoning per slot rather than an arbitrary sequence.

How is this different from a generic social media caption generator, or from writing the posts themselves?

A generic caption generator writes from the brand name and a topic. This Flow starts from assets that already exist and writes the copy that goes with them, checked against three things a generator does not check: whether the hook survives the platform's truncation point, whether each claim maps to a sourced figure, and whether the alt text is functional.

That starting point is also what separates this from the Flows that build social content from scratch. Create a social media calendar, Create Instagram content and Write X threads all begin with a topic or a content pillar and invent the post. This one begins with the photograph already sitting in the folder. If the team needs to decide what to post, those Flows come first; if the assets are shot and the captions are what is missing, this is the one to run.

The truncation check is the one that changes the copy most. Character limits are widely known, but the number that decides whether someone taps "more" is the cut-off, not the cap: Instagram's feed hides text after roughly 125 characters regardless of how long the caption runs. Writing to the cap and writing to the cut produce different first lines.

How much time does this save compared to writing captions manually?

A month of five assets across five platforms is 25 captions. Written by hand with voice checks, character counting and hashtag research, that is most of a day. This Flow returns the full set with counts, alt text, claim flags and a scheduling sheet in minutes, and the social lead spends that day editing rather than drafting.

The saving compounds inside a Juma Project, because the voice profile and the claim evidence carry forward. Month two does not rebuild the voice, it checks against it. Strategy, taste and judgment stay human: which assets earn a post, which hook is actually funny, and whether a claim is worth making are decisions the team keeps. Juma augments the team, it does not replace it.

Does this work for brands that publish on only two or three platforms?

Yes. Name the platforms the brand actually publishes on and captions come back for those only. Each one is written to its own conventions rather than adapted from a master caption, so a two-platform run produces two genuinely different pieces of copy rather than one caption and a trim.

This matters more than platform count suggests. A LinkedIn caption and a TikTok caption for the same asset share a subject and almost nothing else: one leads with context and a takeaway, the other with a spoken first line built for on-screen pacing. Asking for every platform a brand does not use produces copy nobody publishes, and dilutes the copy for the platforms that matter.

Can the captions be written without a brand's social accounts being connected?

Yes. The voice profile is built from public sources, the brand's live site and its public posts, so no account connection or login is needed. Nothing is uploaded, and the Flow runs from the brand URL and the asset list alone.

Connecting nothing does have one limit worth naming: public posts show what a brand published, not which posts performed. If the team has performance data, adding it to the project as a knowledge item lets the posting order and hook choices reflect what has actually worked rather than what has simply been posted. Without it, the profile still captures voice accurately, since voice is visible in the copy itself. Human review on every output.

Don't take our word for it

Ask AI about us

400+ marketing teams trust Juma. ChatGPT, Claude, and Perplexity know why. Ask them.

Ready when you are

What's on your plate today?

Start typing a task and Juma will figure out the rest.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.