Name what you sell. Ad Studio reads your own Ounie brain and writes a pack of angles — each one rewritten per placement, at that placement's real frame and character budget. A square feed unit, a full-screen story, a wide LinkedIn image, and a Google RSA component pool that respects Google's actual 30-character limit.
One run gives you a matrix. Every row is a different reason to care — not the same promise reworded — and every column is that angle rewritten for a frame it actually has to fit.
Pick the Ounie brain that holds your product — docs, notes, transcripts, whatever you already fed it. Retrieval is free; nothing is invented that your brain doesn't hold.
What you sell, who for, the objective, how many angles (up to 6), which placements, and how many images (up to 4).
Headline, primary text, description and CTA per placement, plus a validated RSA pool and any generated creative — as JSON, CSV, or on the page.
These are drawn from the same table the generator writes against, so what you see is what the API enforces.
Facebook / Instagram feed
Square. Primary text is cut with a “See more” at about 125 characters on mobile, so the hook has to land in the first line.
Instagram / Facebook stories & reels
Full-screen vertical. Copy overlays the image and competes with a swipe, so it is written shorter than the feed version of the same angle.
LinkedIn sponsored content
Wide landscape. The image model has no 1.91:1 in its aspect list, so the render is 16:9 and centre-cropped to exactly 1.91:1 before delivery.
Google Search
Not an image unit. Google assembles headlines and descriptions at auction time and REJECTS an over-length component, so nothing over 30 / 90 characters is ever emitted.
Google rejectsa responsive search ad component over 30 characters, so a headline that runs long is worthless. Ad Studio drops it rather than truncating it into half a sentence, and tells you in the response when that happened. Meta and LinkedIn only truncate — those numbers are the point past which nobody reads the rest, so we write to them and cap at the platform's cut.
Not a caption generator. The output is the thing you paste into an ads manager.
One product, one brain, one run. Six angles across feed, story, LinkedIn and search — every unit already the right length for the box it goes in.
Feed the client's material into a brain, then generate first-round concepts that cite which client document each angle came from. No invented claims to walk back.
Same product, different angle dial. Ask for angles you have not tested and get them in the exact placements already live.
RSA pools are tedious and unforgiving. Get fifteen distinct headlines under 30 characters and four descriptions under 90, validated before you see them.
Call it over MCP with your Ounie master key, or keyless over x402 with the product brief as source text. Same generator, same prompt, both rails.
Pair it with what you already know about a competitor's positioning — Ad Studio is the creation half; put the research in the brain and the angles come out grounded.
Every rail runs the same generator and the same validator, so an agent and a browser get the same ad units.
POST /api/packsSession cookie or a Bearer key — header or ?api_key=. Reserve refuses before it runs, so a key can never overdraw.
https://ads.ounie.com/api/mcpClaude, Cursor, ChatGPT and the Ounie AI Team. Brain-grounded writing needs your Ounie master key; reads work with either.
POST /api/x402/adpackNo account. Pay USDC on Base and supply the material as source_text. The price is computed from your payload and quoted in the 402.
curl -sX POST https://ads.ounie.com/api/packs \
-H "Authorization: Bearer ounie_live_..." \
-H "Content-Type: application/json" \
-d '{
"product": "A CRM for solo real-estate agents",
"objective": "signups",
"brain_ids": ["<brain-uuid>"],
"placements": ["meta_feed","meta_story","google_rsa"],
"angles": 3,
"images": 2
}'Full reference, error shapes and the x402 payload in the docs.
Whole Ounie credits from the wallet you already have. One credit is one cent.
Every angle × every placement you asked for, plus the Google RSA pool. The number of angles and placements does not change the price.
Rendered at the placement's real frame. An image that fails to render is never billed — the reserve is taken on what you asked for and settled on what arrived.
Reading a pack, re-signing an expired download link, and CSV export are free forever. Only a fresh generation bills again.
If your brain doesn't hold enough about the product to write honest ads, the run returns thin and refunds in full. We would rather hand back nothing than hand back invented claims you have to defend later.
Your own Ounie brain. Ad Studio retrieves the pages that match the product you named and writes only from those, citing which page each angle came from. It never adds a feature, a number, a customer or a guarantee your material doesn't support — if there isn't enough there, the run comes back thin and refunds rather than inventing something.
Because the boxes are different. A Meta feed unit gets cut with a “See more” at about 125 characters; a story has two seconds and a swipe competing with it; a LinkedIn headline has room for a full thought. Writing once and pasting everywhere is how ads end up truncated mid-sentence, so each variant is written for its own frame.
Real and enforced by Google: headlines 30 characters, descriptions 90. Ad Studio validates every component and drops anything over — never truncates it — and tells you in the response when that happened and how many survived. Google needs at least three headlines and two descriptions to run the ad; if the pool falls under that, the response says so instead of handing you an ad that won't upload.
12 credits each. The reserve is taken on the images you asked for and the settlement is computed on the images that actually rendered, so a failed render costs you nothing and the difference comes back to the same credit pool it left. On the keyless x402 rail there is no refund at all, so that rail is all-or-nothing: if it can't deliver every image quoted, it doesn't settle and you aren't charged.
Yes — over x402. POST /api/x402/adpack takes your material inline as source_text and pays in USDC on Base, so an agent with a wallet and no account gets the same generator and the same validator. It quotes the price from your payload before you sign anything.
Up to 6 angles across all four placements, and up to 4 generated images spread across angles so a small image budget covers different ideas rather than variations of the first one. The copy pack is a flat 8 credits regardless of how many angles or placements you ask for.
No, and it never will. A responsive search ad is a pool of text components Google assembles at auction time — there is no image slot. Asking for images against a placement set that is RSA-only is refused up front rather than billed for a pack with nothing in it.
Ounie credits from the wallet you already have across every Ounie app — no subscription, no plan, no per-app billing. Buy them on ounie.com. One credit is one cent.
One brain, one product, one run — and every unit already fits where it has to go.