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"
}'