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.

🔐 Privacy First This tool runs entirely in your browser. Your API keys are AES-256 encrypted in sessionStorage and never sent to any server other than your chosen AI provider's API. Zero server calls.

Supported Platforms

PlatformAd FormatsKey Constraint
Meta (Facebook/Instagram)Feed, Stories, ReelsPrimary text 125 chars
LinkedInSponsored Content, Message AdsIntro text 150 chars
X (Twitter)Promoted Tweets, CardsTweet text 280 chars
YouTubeIn-stream, Bumper, DiscoveryFormat-dependent
TikTokIn-Feed, TopViewAd text 100 chars
PinterestStandard Pins, Idea PinsDescription 500 chars
SnapchatSnap Ads, Story AdsHeadline 34 chars
ThreadsSponsored PostsThread 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.

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 one

Get 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 one

Get 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 one

Get 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.

⚠️ Key Security Your key is used for a single direct API call from your browser to the provider. It is never proxied through any server. The key is encrypted in sessionStorage — closing the tab destroys it. We recommend using keys with restricted permissions (rate limits, spend caps) as a best practice.

Supported Models

ProviderModelSpeedQualityCost
GoogleGemini 3 FlashVery FastGoodFree tier
GoogleGemini 3 ProMediumVery GoodFree tier
AnthropicClaude Sonnet 4.6MediumExcellent~$0.003/run
AnthropicClaude Opus 4.6SlowerBest~$0.015/run
OpenAIGPT-5.2MediumExcellent~$0.005/run
OpenAIGPT-5.2 ProSlowerBest~$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.

💡 Model Recommendation Start with Gemini 3 Flash for fast iteration on the free tier. Move to Claude Sonnet 4.6 or GPT-5.2 when you need more nuanced, platform-specific copy. Opus and Pro models are best for complex B2B campaigns or when tone precision is critical.

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.

ElementCharacter LimitNotes
Primary Text125 charsMain ad copy shown above the creative. Text beyond 125 chars is truncated behind "See more".
Headline40 charsBold text below the creative. Keep it action-oriented.
Description30 charsSecondary text below the headline. Not always shown — treat as optional reinforcement.
Link Description30 charsAppears in the link preview area. Reinforce the CTA or add urgency.
💡 Meta Best Practices Lead with the hook in the first line — most users won't tap "See more". Use social proof ("Join 10,000+ marketers"), specific numbers ("Save 40%"), and direct CTAs ("Shop Now", "Get Started Free"). Avoid walls of text; the algorithm favors concise primary text in feed placements.

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.

ElementCharacter LimitNotes
Intro Text150 charsThe main text above the creative. Up to 600 chars are allowed, but only ~150 show before "see more".
Headline70 charsBold text below the image. Longer headlines are truncated on mobile.
Description100 charsAppears below the headline in desktop feed. Optional on mobile.
💡 LinkedIn Best Practices Speak to the professional outcome — career growth, revenue impact, efficiency gains. Name the job title or industry when possible ("For VP-level marketers at SaaS companies"). LinkedIn audiences respond to thought leadership framing over hard-sell language. Use "Learn more" or "Download" CTAs over "Buy now".

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.

ElementCharacter LimitNotes
Tweet Text280 charsThe main promoted tweet. Links consume ~23 chars. Keep the core message under 257 chars if including a URL.
Card Headline70 charsShown on the Website Card below the tweet. Should complement, not repeat, the tweet text.
💡 X Best Practices Write like a human, not a brand. Tweets that feel native to the timeline outperform polished ad copy. Use line breaks for readability. Ask questions to drive engagement. Hashtags are optional — one or two relevant ones at most. Avoid hashtag-stuffing.

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:

FormatDurationText ElementsNotes
In-Stream (Skippable)Any lengthCompanion banner headline, description, display URLViewers can skip after 5 seconds. The companion banner drives clicks after skip.
Bumper6 secondsOverlay text, companion headlineNon-skippable. The copy must deliver one sharp message in under 6 seconds.
DiscoveryAny lengthHeadline (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.
💡 YouTube Best Practices For in-stream, front-load your value prop in the first 5 seconds — that's all you get before skip. Bumper ads should focus on a single memorable message or brand impression. Discovery ads compete with organic thumbnails, so write headlines that spark curiosity.

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.

ElementCharacter LimitNotes
Ad Text100 charsAppears below the username. Truncated aggressively on smaller screens — front-load the message.
CTA TextVariesButton text like "Shop Now", "Learn More", "Download". Choose from TikTok's CTA library or write custom.
💡 TikTok Best Practices Don't make ads — make TikToks. The copy should feel casual, authentic, and platform-native. Use language your audience actually uses. Emojis work well. Pair the ad text with a strong visual hook in the first 1-2 seconds of the video.

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.

ElementCharacter LimitNotes
Pin Title100 charsThe main title shown on the Pin. Include relevant keywords — Pinterest search is keyword-driven.
Pin Description500 charsLonger-form description with room for detail. Include keywords naturally, describe the value, and add a CTA.
💡 Pinterest Best Practices Think SEO. Pinterest is a search engine as much as a social platform. Use descriptive, keyword-rich titles ("Modern Farmhouse Kitchen Ideas — Under $500"). Descriptions should paint a picture and include natural keywords. Seasonal content (holiday gifts, summer recipes) performs especially well.

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.

ElementCharacter LimitNotes
Ad Name255 charsInternal name for the ad (not shown to users). Use for campaign organization.
Headline34 charsThe primary text overlay. Extremely tight — every word must earn its place.
Brand Name25 charsShown at the top of the ad. Use your brand or product name.
💡 Snapchat Best Practices 34 characters is brutal — write the shortest possible version of your value prop. Use action verbs ("Get", "Try", "Save"). Snapchat's audience is young (13-34), so match the tone accordingly. Avoid corporate language entirely.

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.

ElementCharacter LimitNotes
Thread Text500 charsThe main post text. Threads supports longer-form text than X, so you have room to develop a thought.
💡 Threads Best Practices Write like you're posting on your own feed. Threads rewards authenticity and conversation-starters. Take a stance, share an opinion, or ask a thought-provoking question. The best Threads ads don't look like ads — they look like posts from a smart friend.

Workflow — Step by Step

Five steps from zero to production-ready social ad copy:

1

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.

2

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.

3

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.

4

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.

5

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.

💡 Iteration is the strategy Don't stop at one generation. Run the builder 2-3 times per platform with slightly different business descriptions or target audiences, then cherry-pick the best elements from each batch. Try different AI models for variety.

Tips & Best Practices

💡 Be specific about your audience "Small business owners in the US" is fine. "Female founders running DTC ecommerce brands doing $1-5M revenue" is much better. The AI writes sharper copy when it knows exactly who it's talking to.
💡 Include your unique selling proposition Tell the AI what makes you different. "We're 60% cheaper than Salesforce", "Only organic ingredients", "Built by former Google engineers" — specifics beat generics every time.
💡 Mention your current offer If you're running a promotion, discount, or limited-time offer, include it in the business details. "20% off with code SPRING" or "Free trial, no credit card required" gives the AI concrete CTAs to work with.
💡 Try different models for the same brief Claude tends toward precise, structured output. GPT generates more creative variations. Gemini is the fastest and works well for quick iteration. Use all three and mix the best results.
💡 Match the platform's native tone The builder adjusts tone per platform, but your input matters too. Describe your brand voice — "professional but approachable" for LinkedIn, "casual and fun" for TikTok, "bold and direct" for X. The AI follows your lead.
💡 Use the output as a starting point AI-generated copy is a strong first draft, not the final product. Edit for your brand voice, check that claims are accurate, and A/B test multiple variants. The builder saves you 80% of the writing time — spend the remaining 20% on polish.

Privacy & Security

The Social Media Ad Builder uses a defense-in-depth approach to protect your API keys:

1

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.

2

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.

3

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.

4

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.

🔍 Verify It Yourself The entire tool is a single HTML file. Right-click → View Source and you'll see every line of code. There are no hidden endpoints, no analytics, no tracking pixels, no external scripts (beyond Google Fonts and GTM for analytics).

Troubleshooting

API Key Not Working

Symptoms

Error message mentioning "401", "unauthorized", or "invalid API key" after clicking Generate.

Rate Limits

Symptoms

Error message mentioning "429", "rate limit", or "too many requests".

Empty or Incomplete Output

Symptoms

The builder returns blank fields, partial results, or garbled text.

Browser Compatibility

Symptoms

The app doesn't load, encryption fails, or the UI looks broken.

⚠️ Still stuck? Open your browser's DevTools console (F12 → Console tab) and look for red error messages. The error details will usually tell you exactly what went wrong — whether it's a network issue, an API error, or a browser compatibility problem.