AI
Brand voice training: stop re-explaining your tone every prompt
Train each project on 3–10 of its best posts. Postcrow distills the voice into one paragraph and auto-injects it into every AI compose call for that project.
When you draft AI-generated posts for multiple brands, you typically have to describe each brand's tone in the prompt every time. The output is generic without that context, and re-explaining it for each project is repetitive at scale.
Postcrow lets each project store a trained brand voice. You set it up once. Every AI compose call for that project automatically includes the voice in the system prompt. Switch project, the voice switches.
How training works
You provide 3 to 10 sample posts that represent how the brand sounds — typically the best-performing or most representative ones. Postcrow sends them to Claude with a prompt asking for a single paragraph that describes:
- Tone and register (formal, casual, blunt, poetic, etc.) and the vocabulary level
- Structural quirks: hook style, sentence length, line breaks, emoji and hashtag habits
- Two or three recurring phrases or rhetorical devices, quoted
- Conventions the brand consistently avoids
The result is 3–6 sentences of plain text, stored on the project. You can read it, edit it manually, or re-train at any time.
Why a paragraph, not a fine-tuned model
We considered fine-tuning a model per brand. The paragraph approach has a few practical advantages:
- Cost. One Claude call per training (a few cents), versus a fine-tune that costs several dollars per project.
- Speed. Training runs in seconds.
- Inspection. You can read the voice paragraph and check whether the AI captured the brand correctly. If something's off, edit the textarea directly.
- Portability. The paragraph is plain text. You can copy it between projects, version-control it, or paste it into other tools.
How it's used at compose time
When you call postcrow_ai_compose with a project_id, the backend loads that project's voice paragraph and includes it in the system prompt with an instruction to mimic it closely.
# From an MCP-connected client
> For BrandA, draft 3 LinkedIn posts about our new pricing page
# The client calls postcrow_ai_compose(project_id=BrandA, ...)
# The backend auto-injects BrandA's voice paragraph
# Returns 3 drafts that match BrandA's tone, no prompt engineering requiredThe same path is used by postcrow_smart_recycle: when it rewrites a top past post, the project's voice is included automatically so the rewrite stays on brand.
Training from your posting history
After you've published posts through Postcrow for a while, you can skip the manual copy-paste step. The brand-voice section in Settings has a Train from historybutton that pulls your last 10 published posts on the current project and uses those as the training samples.
Re-training is supported. If a brand's tone evolves — new product line, new audience, a deliberate rebrand — push fresh samples or re-train from updated history. The voice paragraph is regenerated and the change applies to all future compose calls.
Related features
Once a project has a trained voice, two features become available:
- Cross-brand campaigns — deploy one brief across multiple projects, each rendered in its own voice.
- Auto-recycle — a periodic worker that fills thin queues by rewriting top past posts, in voice.
Scope and limitations
Voice training captures register, structure, and recurring vocabulary. It does not capture your unique insights, current context, or product-specific knowledge — those still come from the brief you write. The goal is to remove the per-prompt overhead of re-explaining who the brand is, not to replace the substance of what you want to say.