Social Media Ad Builder Docs
AI-powered ad copy generation for 8 social platforms. Pick a platform, enter your business details, choose your AI model, and get production-ready ad copy tailored to each network's format, character limits, and best practices.
Supported Platforms
| Platform | Ad Formats | Key Constraint |
|---|---|---|
| Meta (Facebook/Instagram) | Feed, Stories, Reels | Primary text 125 chars |
| Sponsored Content, Message Ads | Intro text 150 chars | |
| X (Twitter) | Promoted Tweets, Cards | Tweet text 280 chars |
| YouTube | In-stream, Bumper, Discovery | Format-dependent |
| TikTok | In-Feed, TopView | Ad text 100 chars |
| Standard Pins, Idea Pins | Description 500 chars | |
| Snapchat | Snap Ads, Story Ads | Headline 34 chars |
| Threads | Sponsored Posts | Thread text 500 chars |
Who It's For
The Social Media Ad Builder is designed for paid media specialists, social media managers, small business owners, and marketing agencies who need to produce high-quality ad copy across multiple social platforms quickly — without switching between platform-specific tools or memorizing every character limit.
- Media buyers running campaigns across Meta, LinkedIn, X, TikTok, and more
- Small business owners who need professional ad copy without hiring a copywriter
- Agencies producing ad creative for multiple clients across platforms
- Content creators promoting products, courses, or services on social media
AI Configuration
Recommended: Click "Sign in with Google" for Buddy credits — one sign-in works across all tools. Or bring your own API key from any provider:
Google Gemini
choose oneGet your key at aistudio.google.com/apikey. Starts with AIzaSy. Generous free tier — great for testing and regular use. Sign in with any Google account, click "Create API key", and copy it. No billing setup required for the free tier.
Anthropic Claude
choose oneGet your key at console.anthropic.com/settings/keys. Starts with sk-ant-api03-. Create an account → go to Settings → API Keys → "Create Key". New accounts get $5 in free credits. Add a billing method after credits are used.
OpenAI GPT
choose oneGet your key at platform.openai.com/api-keys. Starts with sk-proj-. Create an account → go to API Keys → "Create new secret key". Requires a paid account with billing enabled. Copy the key immediately — it won't be shown again.
Supported Models
| Provider | Model | Speed | Quality | Cost |
|---|---|---|---|---|
| Gemini 3 Flash | Very Fast | Good | Free tier | |
| Gemini 3 Pro | Medium | Very Good | Free tier | |
| Anthropic | Claude Sonnet 4.6 | Medium | Excellent | ~$0.003/run |
| Anthropic | Claude Opus 4.6 | Slower | Best | ~$0.015/run |
| OpenAI | GPT-5.2 | Medium | Excellent | ~$0.005/run |
| OpenAI | GPT-5.2 Pro | Slower | Best | ~$0.020/run |
Estimated costs are per generation (~2,000 input tokens + ~1,500 output tokens). Actual costs depend on prompt length and model pricing at time of use.
Meta (Facebook/Instagram)
Meta ads span Facebook Feed, Instagram Feed, Stories, and Reels. The builder generates copy optimized for feed placements where text is most visible, while keeping it punchy enough for Stories overlays.
| Element | Character Limit | Notes |
|---|---|---|
| Primary Text | 125 chars | Main ad copy shown above the creative. Text beyond 125 chars is truncated behind "See more". |
| Headline | 40 chars | Bold text below the creative. Keep it action-oriented. |
| Description | 30 chars | Secondary text below the headline. Not always shown — treat as optional reinforcement. |
| Link Description | 30 chars | Appears in the link preview area. Reinforce the CTA or add urgency. |
LinkedIn Ads
LinkedIn ads target professionals, so the tone skews business-oriented. The builder generates copy suited for Sponsored Content (single image and carousel) and adapts language for a B2B audience.
| Element | Character Limit | Notes |
|---|---|---|
| Intro Text | 150 chars | The main text above the creative. Up to 600 chars are allowed, but only ~150 show before "see more". |
| Headline | 70 chars | Bold text below the image. Longer headlines are truncated on mobile. |
| Description | 100 chars | Appears below the headline in desktop feed. Optional on mobile. |
X (Twitter)
X ads are built around the tweet format — concise, conversational, and fast. The builder generates promoted tweet copy and Website Card headlines optimized for the timeline scroll.
| Element | Character Limit | Notes |
|---|---|---|
| Tweet Text | 280 chars | The main promoted tweet. Links consume ~23 chars. Keep the core message under 257 chars if including a URL. |
| Card Headline | 70 chars | Shown on the Website Card below the tweet. Should complement, not repeat, the tweet text. |
YouTube Ads
YouTube supports multiple video ad formats, each with different text overlay and companion requirements. The builder generates companion text for three primary formats:
| Format | Duration | Text Elements | Notes |
|---|---|---|---|
| In-Stream (Skippable) | Any length | Companion banner headline, description, display URL | Viewers can skip after 5 seconds. The companion banner drives clicks after skip. |
| Bumper | 6 seconds | Overlay text, companion headline | Non-skippable. The copy must deliver one sharp message in under 6 seconds. |
| Discovery | Any length | Headline (100 chars), Description line 1 (35 chars), Description line 2 (35 chars) | Appears in search results and sidebar. Think of it like a search ad — the headline sells the click. |
TikTok Ads
TikTok ads appear in the For You feed and must feel native to the platform. The builder generates short, punchy ad text and CTA variations designed for a mobile-first, sound-on audience.
| Element | Character Limit | Notes |
|---|---|---|
| Ad Text | 100 chars | Appears below the username. Truncated aggressively on smaller screens — front-load the message. |
| CTA Text | Varies | Button text like "Shop Now", "Learn More", "Download". Choose from TikTok's CTA library or write custom. |
Pinterest Ads
Pinterest is a visual discovery engine. Ads look like organic Pins, and users are in a shopping and planning mindset. The builder generates Pin titles and descriptions optimized for search and discovery.
| Element | Character Limit | Notes |
|---|---|---|
| Pin Title | 100 chars | The main title shown on the Pin. Include relevant keywords — Pinterest search is keyword-driven. |
| Pin Description | 500 chars | Longer-form description with room for detail. Include keywords naturally, describe the value, and add a CTA. |
Snapchat Ads
Snapchat ads are full-screen, mobile-only, and ephemeral-feeling. The builder generates tight headlines and brand-forward copy for Snap Ads and Story Ads.
| Element | Character Limit | Notes |
|---|---|---|
| Ad Name | 255 chars | Internal name for the ad (not shown to users). Use for campaign organization. |
| Headline | 34 chars | The primary text overlay. Extremely tight — every word must earn its place. |
| Brand Name | 25 chars | Shown at the top of the ad. Use your brand or product name. |
Threads Ads
Threads is Meta's text-first social platform. Ads appear as sponsored posts in the feed and should feel like native Threads posts — conversational, opinionated, and text-forward.
| Element | Character Limit | Notes |
|---|---|---|
| Thread Text | 500 chars | The main post text. Threads supports longer-form text than X, so you have room to develop a thought. |
Workflow — Step by Step
Five steps from zero to production-ready social ad copy:
Choose Your Platform
Select one of the 8 supported platforms from the dropdown. The builder adjusts its prompt, character limits, and output format to match the platform's ad specifications.
Enter Business Details
Provide your business name, what you're promoting, your target audience, and any specific value propositions or offers. The more detail you give, the sharper the output.
Sign In or Select AI Model
Click Sign in with Google for Buddy credits (25 free, universal across all tools). Or expand "Advanced: Use your own API key" to choose a provider and paste your key — encrypted with AES-256-GCM, sessionStorage only.
Generate Ad Copy
Hit "Generate" and the AI creates a full set of ad copy tailored to your chosen platform's formats, character limits, and best practices. Generation typically takes 3-8 seconds depending on the model.
Review, Copy & Export
Review each generated element with its character count. Copy individual items, copy all at once, or export the full set. Run the builder again with tweaked inputs for more variations.
Tips & Best Practices
Privacy & Security
The Social Media Ad Builder uses a defense-in-depth approach to protect your API keys:
Web Crypto API Encryption (AES-256-GCM)
When you enter an API key, the browser generates a random 256-bit encryption key using crypto.subtle.generateKey(). Your API key is encrypted with this key using AES-GCM mode with a random 12-byte IV. The encrypted ciphertext is stored in sessionStorage — the plaintext API key is never stored anywhere.
Session-Only Storage
Both the encryption key and the encrypted API key are stored in sessionStorage, not localStorage. sessionStorage is scoped to the browser tab and is automatically cleared when the tab is closed. It doesn't persist across sessions, isn't shared between tabs, and can't be accessed by other sites.
Direct API Calls (No Proxy)
API calls go directly from your browser to the AI provider's endpoint. The request never passes through any intermediary server. The builder is a static HTML file — there is no backend to intercept traffic. Zero server calls.
Manual Clear
The "Clear Session" button in the app immediately calls sessionStorage.clear(), destroying both the encryption key and the encrypted API key. This is irreversible.
Troubleshooting
API Key Not Working
Symptoms
Error message mentioning "401", "unauthorized", or "invalid API key" after clicking Generate.
- Check the key format — Gemini keys start with AIzaSy, Claude keys with sk-ant-api03-, OpenAI keys with sk-proj-.
- Make sure you copied the full key — trailing spaces or truncated keys are a common cause.
- Verify the key is active — go to your provider's dashboard and confirm the key hasn't been revoked or expired.
- Check provider selection — make sure the selected provider matches the key you entered (e.g., don't paste a Gemini key with Claude selected).
Rate Limits
Symptoms
Error message mentioning "429", "rate limit", or "too many requests".
- Wait and retry — most rate limits reset within 60 seconds.
- Gemini free tier — limited to 15 requests per minute and 1,500 per day. Space out your generations.
- Claude/OpenAI — rate limits depend on your account tier. New accounts start with lower limits that increase over time.
- Switch models — if one provider is rate-limited, try generating with a different one while you wait.
Empty or Incomplete Output
Symptoms
The builder returns blank fields, partial results, or garbled text.
- Add more detail — vague business descriptions produce vague output. Include your product name, audience, offer, and differentiator.
- Try a different model — some models handle specific platforms better than others. If Gemini gives incomplete results, try Claude or GPT.
- Regenerate — AI output varies between runs. A second generation with the same inputs often produces better results.
- Check your internet connection — the browser makes a direct API call to the provider. A dropped connection mid-stream can cause incomplete output.
Browser Compatibility
Symptoms
The app doesn't load, encryption fails, or the UI looks broken.
- Use a modern browser — Chrome 90+, Firefox 90+, Safari 15+, or Edge 90+. The tool requires the Web Crypto API and modern JavaScript features.
- Disable ad blockers temporarily — some ad blockers interfere with direct API calls to AI providers.
- Clear sessionStorage — open DevTools → Application → Session Storage and clear the entries for this site, then reload.