← Back to Home
API Documentation
Integrate BrandSnap into your workflow with our REST API. Available on Agency plan.
01 Authentication
All API requests require an API key passed in the header:
Authorization: Bearer your_api_key_here
Get your API key from the Dashboard → Settings → API Keys
02 Generate Assets
POST
/api/generateRequest Body
{
"url": "https://example.com", // OR "description": "A fintech app..."
"platforms": ["twitter", "og"], // twitter, linkedin, youtube, facebook, og
"style": "brutalism", // blueprint, brutalism, isometric, fluid,
// collage, explainer, minimal, gradient,
// geometric, retro
"customColors": ["#ff0000"], // optional: override brand colors
"variants": 1, // optional: 1-3 for A/B testing
"includeFavicon": true // optional: generate favicon pack
}Response
{
"success": true,
"assets": [
{
"platform": "twitter",
"dimensions": { "width": 1500, "height": 500 },
"base64": "data:image/png;base64,iVBORw0KGgo...",
"url": "https://cdn.brandsnap.ai/assets/abc123/twitter.png"
},
{
"platform": "og",
"dimensions": { "width": 1200, "height": 630 },
"base64": "data:image/png;base64,iVBORw0KGgo...",
"url": "https://cdn.brandsnap.ai/assets/abc123/og.png"
}
],
"brandAnalysis": {
"brandName": "Example",
"industry": "Technology",
"vibe": "Modern, professional",
"brandColors": ["#1a1a2e", "#16213e", "#0f3460"],
"visualPrompt": "Clean tech aesthetic with..."
}
}Error Response
{
"success": false,
"error": "URL or description required"
}03 Download ZIP
POST
/api/downloadRequest Body
{
"assets": [
{
"platform": "twitter",
"base64": "data:image/png;base64,..."
}
],
"brandName": "MyBrand"
}Response
Returns a ZIP file with Content-Type: application/zip
// Headers: Content-Type: application/zip Content-Disposition: attachment; filename="mybrand-assets.zip"
04 Rate Limits
| PLAN | REQUESTS/MIN | GENERATIONS/MONTH |
|---|---|---|
| Free | 5 | 3 |
| Pro | 30 | Unlimited |
| Agency | 100 | Unlimited |
Rate limit headers are included in all responses: X-RateLimit-Remaining, X-RateLimit-Reset
05 SDKs & Examples
JavaScript/TypeScript
import { BrandSnap } from '@brandsnap/sdk'
const client = new BrandSnap('your_api_key')
const result = await client.generate({
url: 'https://mysite.com',
platforms: ['twitter', 'og'],
style: 'brutalism'
})Coming soon
cURL
curl -X POST https://brandsnap.ai/api/generate \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"platforms": ["og"],
"style": "minimal"
}'