Skip to main content

Brand Voice

The Brand Voice service lets you create, manage, and apply brand voices to ensure consistent tone and style across all generated content.

Concepts​

Brand Voices​

A brand voice defines how your content should sound — including tone, vocabulary, formatting rules, and writing style. Brand voices can be:

  • Created manually with detailed style settings
  • Imported from URLs, documents, or text descriptions using AI analysis
  • Duplicated from existing brand voices
  • Upgraded for enhanced quality using AI

Brands​

Brands represent the company or product associated with a brand voice. They contain contact information, social media links, and brand values.

DS Prompt​

Each brand voice can generate a "DS prompt" — a formatted system prompt that can be passed to the content generation API to apply the brand voice to generated text.

Endpoints​

All endpoints use the base path: https://app.neuroflash.com/api/brand-voice-service

Brand Voices​

MethodEndpointDescription
POST/v1/workspaces/{id}/brand-voicesCreate a brand voice
GET/v1/workspaces/{id}/brand-voicesList brand voices
GET/v1/workspaces/{id}/brand-voices/{id}Get a brand voice
PUT/v1/workspaces/{id}/brand-voices/{id}Update a brand voice
DELETE/v1/workspaces/{id}/brand-voices/{id}Delete a brand voice
POST/v1/workspaces/{id}/brand-voices/{id}/duplicateDuplicate a brand voice
POST/v1/workspaces/{id}/brand-voices/{id}/ds-promptGet DS prompt for content generation
POST/v1/workspaces/{id}/brand-voices/{id}/upgradeUpgrade brand voice quality

Brands​

MethodEndpointDescription
POST/v1/workspaces/{id}/brandsCreate a brand
GET/v1/workspaces/{id}/brandsList brands
GET/v1/workspaces/{id}/brands/{id}Get a brand
PUT/v1/workspaces/{id}/brands/{id}Update a brand
DELETE/v1/workspaces/{id}/brands/{id}Delete a brand

Imports​

Imports return a draft — a second API call is required to save it

The three import endpoints analyse your content and return a brand voice proposal. No data is written to your workspace until you call POST /brand-voices with the extracted fields. See the Persisting an Import Draft section for the complete two-step workflow.

MethodEndpointDescription
POST/v1/workspaces/{id}/brand-voice-text-importsImport from text
POST/v1/workspaces/{id}/brand-voice-url-importsImport from URL
POST/v1/workspaces/{id}/brand-voice-file-importsImport from file

Importing Brand Voices​

All three import endpoints (URL, text, file) share three required parameters beyond workspaceId that are easy to get wrong:

ParameterTypeDescription
countrystring2-letter lowercase country code (e.g. us, de, gb)
languagestring2-letter lowercase language code (e.g. en, de, fr)
audienceModelIdstringAudience embedding model ID — use the default value below if unsure

Default audienceModelId: 538b1efc6f88ad88feebf7acd8c618facb54fe82

Allowed locale pairs​

country and language must form a valid pair. The API validates this server-side and returns a 400 error if the combination is not allowed. Supported pairs:

countryValid language values
usen
gben
uken
dede
atde
chde, fr
frfr
eses, ca
mxes
itit
nlnl
plpl
ptpt
brpt
sesv
trtr
huhu
hrhr
czcs
cnzh

Safe defaults: use country: "us", language: "en" for English content or country: "de", language: "de" for German content.

Example: Import from URL​

curl -X POST "https://app.neuroflash.com/api/brand-voice-service/v1/workspaces/{workspace_id}/brand-voice-url-imports" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-brand.com",
"country": "us",
"language": "en",
"audienceModelId": "538b1efc6f88ad88feebf7acd8c618facb54fe82"
}'