Simple Bearer token authentication. Create and manage keys from your account settings.
Uses your existing token balance. Same pricing as the app — no separate API costs.
Every generated image uses your brand kit — logos, colors, fonts, and voice guidelines.
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"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_hereSecurity: 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.
Base URL: https://brand.design/api/v1
/account/brands/brands/brands/:id/brands/:id/brands/:id/logos/brands/:id/colors/brands/:id/fonts/brands/:id/collateral/brands/:id/generate/brands/:id/assets/brands/:id/contexts/brands/:id/contexts/brands/:id/contexts/:contextId/brands/:id/contexts/:contextId/brands/:id/generateGenerate an on-brand AI creative image.
| Parameter | Type | Required | Description |
|---|---|---|---|
| prompt | string | required | Creative brief describing what to generate. |
| productContext | string | optional | Product details, pricing, or feature description to include. |
| productUrls | string[] | optional | Array of product image or page URLs for visual reference. |
| productPageUrl | string | optional | URL of a product page to extract context from. |
| contextId | integer | optional | ID 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 |
/brandsCreate a new brand in your account.
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | required | Brand name. |
| industry | string | optional | Industry or category (e.g. Technology, Fashion, Food). |
| website | string | optional | Brand website URL for context extraction. |
| description | string | optional | Short description of the brand or business. |
| brandVoice | string | optional | Tone of voice (e.g. Professional, playful, bold). |
| targetAudience | string | optional | Who the brand is targeting. |
| designAesthetic | string | optional | Visual style and design direction. |
| legalConsiderations | string | optional | Legal requirements, disclaimers, or compliance notes. |
| dosList | string[] | optional | Brand do's — things to always include or follow. |
| dontsList | string[] | optional | Brand don'ts — things to avoid. |
| specialGuidelines | string | optional | Any special guidelines or notes for creative generation. |
/brands/:idUpdate brand details — voice, guidelines, legal, do's and don'ts. Send only the fields you want to change.
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | optional | Brand name. |
| description | string | optional | Short description of the brand or business. |
| industry | string | optional | Industry or category. |
| website | string | optional | Brand website URL. |
| brandVoice | string | optional | Tone of voice (e.g. Professional, playful, bold). |
| targetAudience | string | optional | Who the brand is targeting. |
| designAesthetic | string | optional | Visual style and design direction. |
| legalConsiderations | string | optional | Legal requirements, disclaimers, or compliance notes. |
| dosList | string[] | optional | Brand do's — things to always include or follow in creative. |
| dontsList | string[] | optional | Brand don'ts — things to avoid in creative. |
| specialGuidelines | string | optional | Any special guidelines or notes for creative generation. |
/brands/:id/contextsCreate a creative context — a curated subset of brand elements for targeted generation.
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | required | Display name for the creative context. |
| description | string | optional | What this context is for (e.g. Social media ads). |
| logoIds | integer[] | optional | Array of logo IDs to include. Must belong to this brand. |
| colorIds | integer[] | optional | Array of color IDs to include. Must belong to this brand. |
| fontIds | integer[] | optional | Array of font IDs to include. Must belong to this brand. |
| collateralIds | integer[] | optional | Array 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. |
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"
}'{
"imageUrl": "https://storage.brand.design/api-generated/abc123.png",
"brandId": 42,
"prompt": "Instagram ad for our AI writing assistant...",
"resolution": "1k",
"tokensUsed": 500
}curl -s https://brand.design/api/v1/brands/42/assets \
-H "Authorization: Bearer bd_live_your_key_here"All errors return JSON with error and message fields.
validationinvalid_authinsufficient_creditsplan_requiredbrand_limitnot_foundgeneration_failedAPI 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.
Pass any of these ISO 639-1 codes in the language field to generate text and copy in that language.
enEnglishesSpanishfrFrenchdeGermanitItalianptPortuguesejaJapanesekoKoreanzhChinesearArabichiHindinlDutchsvSwedishdaDanishnoNorwegianfiFinnishplPolishtrTurkishruRussianukUkrainianthThaiviVietnameseidIndonesianmsMalayheHebrewelGreekcsCzechroRomanianhuHungarian