# Voice and tone

> Which brand context APIs return the voice of a brand, in what form, and how to pass it to a model: a Brandfetch summary, Firecrawl words, a Rainbrand guide.

Three of the eight endpoints return information about how Linear sounds. Each returns something different: a paragraph with a list of tones to avoid, three single words, or written rules.

| Endpoint | Key | What it returned for linear.app |
| --- | --- | --- |
| Brandfetch Brand Context API | `brand.voice` | A paragraph, four attributes ("precise", "measured", "craft-focused", "technical") and two tones to avoid ("breathless hype", "folksy banter") |
| Firecrawl branding | `personality` | `tone`: "minimalist", `energy`: "low", `targetAudience`: "developers" |
| Rainbrand Brief | `guidance` | Guidance written for the task: "plain, direct, purposeful, concise, confident but not inflated", and how to spell the names |
| Rainbrand Brand Skill | `references/copywriting.md` | The Linear copywriting guide: plain and specific, "confident and thoughtful, not inflated", and a naming rule |

The Brandfetch Brand API, Context.dev Brand and Styleguide, and Logo.dev returned no voice.

`GET /v2/context/linear.app` (Brandfetch Brand Context API)

```json
{
  "brand": {
    "voice": {
      "summary": "Linear speaks to product and engineering teams in a composed, exacting register …",
      "attributes": ["precise", "measured", "craft-focused", "technical"],
      "avoid": ["breathless hype", "folksy banter"]
    }
  }
}
```

1. `summary`: Built from linear.app pages. It quotes the Linear About page.
2. `avoid`: Tones to leave out. Pass them as instructions.

## Read from the site, or written by the brand?

Brandfetch and Firecrawl read the voice from the website. Brandfetch says that every field is "grounded in source data", not guessed by a model. This is useful when you have no other source, for example when you write to a prospect. But it is a description of the copy, not the rules of the company for the copy. The Firecrawl words "minimalist" and "low energy" describe the page more than the writing.

Rainbrand returns the copywriting guide in the Linear brand. The guide includes a rule that a read of the site does not give. The rule is to write "Linear" with a capital L, and to "never write 'Linear app' or lowercase 'linear'".

## How to pass it to a model

- Put the voice in the system prompt as instructions, for example "Write plainly. Avoid breathless hype." Attributes alone, such as "precise, measured", give a model little to act on.
- Keep `avoid` lists. In most observed responses, which are read from a public website, they are the only "don't".
- If a voice summary and a written guide disagree, pass only the guide. The [system prompt template](https://brandcontextapi.com/templates/system-prompt) shows one layout.

---

Source: https://brandcontextapi.com/fields/voice-and-tone
Last updated: 2026-11-12
Published by The Brand Object. The Brand Object is run by Rainbrand, which makes two of the endpoints described here. Their pages follow the same rules as the others.
