How to Make AI Captions Sound Like Your Brand

Set up a brand voice once (tone sliders, words to avoid, example posts) and every AI caption and image in PostBoost follows it. UI steps and API calls.

Three social media captions in the same voice side by side, with tone sliders for formality, playfulness and technical depth above them

Guide · By PostBoost team · · Updated · Markdown

AI captions sound generic when the model knows nothing about you. The fix is not a longer prompt each time but a stored brand voice: who you are, who you write for, how formal and playful you are, which words you never use, and a few real posts as examples. In PostBoost you set this once per workspace, and every AI feature that writes for you reads it automatically.

This guide covers what to put in each field, how to draft it from your own past posts, and how to check that a caption actually used it.

Where the brand voice applies

Feature Uses the brand voice
Blog-to-social captions (POST /ai/blog-to-social) Yes, by default
Repurpose tool (article, video or PDF into a post) Yes, unless you untick "Use the workspace brand voice"
Image prompt and image generation Yes, as a short visual tone line
Image edit Only with use_brand_voice: true
Image variations, alt text Never (alt text must describe the image literally)
Claude or another assistant via MCP When it calls get-brand-voice before writing

When you pass an explicit tone to blog-to-social, that tone is kept, but the brand voice wins on vocabulary, words to avoid and calls to action.

Set it up in the app

Open Brand Voice in the workspace sidebar (it appears when AI is enabled for the workspace). The form has four steps:

  1. Identity: business name, mission, industry and personality. Write the personality as one or two plain sentences ("Warm and curious about every bean. Never pushy."). The first sentence also feeds image prompts, so make it describe a mood, not a slogan.
  2. Audience & Topics: audience segments, preferred topics and topics to avoid (up to 20 each).
  3. Tone & Style: three sliders from 1 to 5 (formality, playfulness, technical depth), emoji style (none, rare, moderate, abundant), hashtag strategy (none, generic, niche, branded, mix), words to avoid and preferred calls to action.
  4. Example Posts: up to five real posts you are proud of.

You can paste your website URL to fill the identity fields automatically, then edit what it found. Save, and use Test Your Brand Voice on the same page to generate a sample post before you rely on it.

What makes a brand voice actually work

Three fields do most of the work:

  • Example posts beat adjectives. "Friendly but professional" describes half the internet. Five real posts show sentence length, how you open, whether you use questions, how you link. Pick posts that performed and that you would publish again today.
  • Words to avoid are the fastest quality win. List the phrases that make a caption read as machine-written for your audience (for many brands: "game-changer", "unlock", "dive in", "elevate") plus anything legally or tonally off-limits. To find candidates, paste a few of your recent AI drafts into the free AI text cleaner: it lists stock phrases such as "delve" or "game-changer" without rewriting them, and the ones that keep showing up belong on your list.
  • Sliders should disagree with the default. A voice with every slider on 3 adds little. Decide where you really sit: a developer tool may be formality 2, playfulness 2, technical depth 4.

Keep "topics to avoid" for real exclusions (competitor names, pricing promises, politics), not for style.

Draft the voice from your past posts (API)

If your workspace already has published posts, PostBoost can propose a voice from them. It reads your latest published posts (default 10, between 3 and 20) and returns a draft in the same shape as the saved voice. Nothing is saved unless you send apply: true.

curl -X POST "https://postboost.co/app/api/$WORKSPACE_UUID/brand-voice/learn" \
  -H "Authorization: Bearer $POSTBOOST_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "limit": 10 }'

The response's meta lists posts_used, learned_fields and credits_used. It needs at least 3 published posts (otherwise 422 with code: not_enough_posts) and costs one AI text credit per AI call. Without overwrite: true, learned values only fill fields you left empty, so it is safe to run on top of a half-finished voice. The first five sampled posts become the example posts.

Review the draft, then save it with "apply": true, or set fields directly:

curl -X PUT "https://postboost.co/app/api/$WORKSPACE_UUID/brand-voice" \
  -H "Authorization: Bearer $POSTBOOST_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "personality": "Plain, specific and a little dry. We show the product doing a real thing.",
    "tone_formal": 2, "tone_playful": 2, "tone_technical": 4,
    "emoji_style": "none", "hashtag_strategy": "none",
    "avoid_words": ["game-changer", "unlock", "seamless"]
  }'

Fields you leave out keep their current value.

Check that a caption used it

Generate captions from a blog post with the voice applied (it is on by default):

curl -X POST "https://postboost.co/app/api/$WORKSPACE_UUID/ai/blog-to-social" \
  -H "Authorization: Bearer $POSTBOOST_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://example.com/blog/launch", "platforms": ["linkedin", "twitter"], "create_post": false }'

The response includes meta.brand_voice_applied. If it is false, the workspace has no voice yet or you sent use_brand_voice: false. Each platform's caption costs one AI credit. Run the same call once with "use_brand_voice": false and compare: the difference shows you whether your example posts and words to avoid are doing their job. For a second check that does not depend on taste, paste both versions into the free post readability checker: if your voice asks for plain, short sentences, the branded caption should score easier to read and flag fewer long sentences.

Use it from Claude

With the PostBoost MCP connector, ask: "Read our brand voice, then write three LinkedIn posts about [topic] and save them as drafts." Claude calls get-brand-voice first, and update-brand-voice can change single fields ("add 'leverage' to the words we avoid") while keeping the rest. The tool list is in the MCP docs.

Agencies: one voice per client

A workspace has exactly one brand voice. Give every client its own workspace, and captions for one client never borrow the tone of another. See how plans compare on /compare.

Do this in PostBoost

Free tools for this guide

FAQ

Which PostBoost AI features use the brand voice?

Blog-to-social captions, the repurpose tool, image prompts and image generation use it automatically; image editing uses it when you ask. Image variations and alt text never use it, because alt text must describe the image literally.

Can I turn the brand voice off for one request?

Yes. Send use_brand_voice: false on the API call, or untick "Use the workspace brand voice" on the repurpose page. Responses report meta.brand_voice_applied so you can see whether it was used.

Does setting up a brand voice cost AI credits?

Reading and saving it is free. Learning it from your past posts costs one AI text credit per AI call.

Can I have different voices for different clients?

Each workspace has one brand voice, so agencies give each client its own workspace and voice.

Sources

Related guides

Try PostBoost free

API, webhooks and MCP on every plan, including Free. No credit card required.