REST API v1

Build with Brand.Design

Programmatically generate on-brand creative at scale. Manage brands, generate AI visuals, and retrieve assets — all through a simple REST API.

API Key Auth

Simple Bearer token authentication. Create and manage keys from your account settings.

Credit-Based

Uses your existing token balance. Same pricing as the app — no separate API costs.

Brand-Grounded

Every generated image uses your brand kit — logos, colors, fonts, and voice guidelines.

Quick Start

Get your API key from Account Settings, then make your first request:

curl -s https://brand.design/api/v1/account \
  -H "Authorization: Bearer bd_live_your_key_here"

Authentication

All API requests require a Bearer token in the Authorization header. API access requires a Pro plan (personal) or Agency plan (team) or higher. You can create up to 10 keys per account.

Authorization: Bearer bd_live_your_key_here

Security: API keys are shown once at creation. Store them securely — we hash and cannot retrieve them later. Use environment variables, never commit keys to source control.

Endpoints

Base URL: https://brand.design/api/v1

GET
/account
GET
/brands
POST
/brands
GET
/brands/:id
PATCH
/brands/:id
GET
/brands/:id/logos
GET
/brands/:id/colors
GET
/brands/:id/fonts
GET
/brands/:id/collateral
POST
/brands/:id/generate
GET
/brands/:id/assets
GET
/brands/:id/contexts
POST
/brands/:id/contexts
GET
/brands/:id/contexts/:contextId
DELETE
/brands/:id/contexts/:contextId

Parameter Reference

POST
/brands/:id/generate

Generate an on-brand AI creative image.

ParameterTypeRequiredDescription
prompt
string
required
Creative brief describing what to generate.
productContext
string
optionalProduct details, pricing, or feature description to include.
productUrls
string[]
optionalArray of product image or page URLs for visual reference.
productPageUrl
string
optionalURL of a product page to extract context from.
contextId
integer
optionalID of a creative context to use a curated subset of brand elements (logos, colors, fonts).
resolution
string
optional (default: "1k")Output image resolution.
1k (1024px)2k (2048px)4k (4096px)
aspectRatio
string
optional (default: "1:1")Output aspect ratio.
1:12:33:23:44:34:55:49:1616:921:91:44:11:88:1
language
string
optional (default: "en")ISO 639-1 language code. All generated text and copy will be in this language.
enesfrdeitptjakozharhinlsvdanofipltrruukthviidmsheelcsrohu

POST
/brands

Create a new brand in your account.

ParameterTypeRequiredDescription
name
string
required
Brand name.
industry
string
optionalIndustry or category (e.g. Technology, Fashion, Food).
website
string
optionalBrand website URL for context extraction.
description
string
optionalShort description of the brand or business.
brandVoice
string
optionalTone of voice (e.g. Professional, playful, bold).
targetAudience
string
optionalWho the brand is targeting.
designAesthetic
string
optionalVisual style and design direction.
legalConsiderations
string
optionalLegal requirements, disclaimers, or compliance notes.
dosList
string[]
optionalBrand do's — things to always include or follow.
dontsList
string[]
optionalBrand don'ts — things to avoid.
specialGuidelines
string
optionalAny special guidelines or notes for creative generation.

PATCH
/brands/:id

Update brand details — voice, guidelines, legal, do's and don'ts. Send only the fields you want to change.

ParameterTypeRequiredDescription
name
string
optionalBrand name.
description
string
optionalShort description of the brand or business.
industry
string
optionalIndustry or category.
website
string
optionalBrand website URL.
brandVoice
string
optionalTone of voice (e.g. Professional, playful, bold).
targetAudience
string
optionalWho the brand is targeting.
designAesthetic
string
optionalVisual style and design direction.
legalConsiderations
string
optionalLegal requirements, disclaimers, or compliance notes.
dosList
string[]
optionalBrand do's — things to always include or follow in creative.
dontsList
string[]
optionalBrand don'ts — things to avoid in creative.
specialGuidelines
string
optionalAny special guidelines or notes for creative generation.

POST
/brands/:id/contexts

Create a creative context — a curated subset of brand elements for targeted generation.

ParameterTypeRequiredDescription
name
string
required
Display name for the creative context.
description
string
optionalWhat this context is for (e.g. Social media ads).
logoIds
integer[]
optionalArray of logo IDs to include. Must belong to this brand.
colorIds
integer[]
optionalArray of color IDs to include. Must belong to this brand.
fontIds
integer[]
optionalArray of font IDs to include. Must belong to this brand.
collateralIds
integer[]
optionalArray of collateral IDs to include. Must belong to this brand.
includeBrandVoice
boolean
optional (default: true)Include the brand voice in generation.
includeGuidelines
boolean
optional (default: true)Include brand guidelines in generation.
includeDesignAesthetic
boolean
optional (default: true)Include design aesthetic in generation.

Examples

Request

curl -s -X POST https://brand.design/api/v1/brands/42/generate \
  -H "Authorization: Bearer bd_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Instagram ad for our AI writing assistant. Bold headline, product screenshot, clear CTA.",
    "productContext": "AI Writing Assistant - helps teams write better. $12/mo per user.",
    "productUrls": ["https://acme.com/images/ai-writer-hero.png"],
    "contextId": 5,
    "resolution": "1k",
    "aspectRatio": "1:1",
    "language": "en"
  }'

Response

{
  "imageUrl": "https://storage.brand.design/api-generated/abc123.png",
  "brandId": 42,
  "prompt": "Instagram ad for our AI writing assistant...",
  "resolution": "1k",
  "tokensUsed": 500
}

List Generated Assets

curl -s https://brand.design/api/v1/brands/42/assets \
  -H "Authorization: Bearer bd_live_your_key_here"

Error Handling

All errors return JSON with error and message fields.

400
validation
401
invalid_auth
402
insufficient_credits
403
plan_required
403
brand_limit
404
not_found
500
generation_failed

Rate Limits & Credits

API calls consume tokens from your account's monthly allowance — the same pool used by the web app.

Image Generation (1K)

500 tokens per image

Image Generation (2K)

700 tokens per image

Image Generation (4K)

1,000 tokens per image

Check your remaining balance anytime via GET /api/v1/account. Credits reset monthly based on your billing cycle.

Supported Languages

Pass any of these ISO 639-1 codes in the language field to generate text and copy in that language.

enEnglish
esSpanish
frFrench
deGerman
itItalian
ptPortuguese
jaJapanese
koKorean
zhChinese
arArabic
hiHindi
nlDutch
svSwedish
daDanish
noNorwegian
fiFinnish
plPolish
trTurkish
ruRussian
ukUkrainian
thThai
viVietnamese
idIndonesian
msMalay
heHebrew
elGreek
csCzech
roRomanian
huHungarian

Ready to build?

Create your API key and start generating on-brand creative in minutes.