Where ad creative lives.
Every hook, cut, and static in one library. Your team and your clients approve from a link. The winners go live on Meta and TikTok in a click, without ever opening Ads Manager.
7 days free. No credit card required.
Frame.io for review. Dropbox for storage. Email for approvals. Ads Manager for publishing. Birch for automations.
One workspace instead.From feedback
to Approved.
Comments pin to the exact frame. Versions stack on the same creative, and one click marks it Approved. Clients review from a share link with no account, and reviewers are always free, on every plan.
Kills the losers
while you sleep.
Set a threshold and walk away. Spent $50 with nothing to show for it, the ad pauses. A test picks a winner, its budget scales. Your rules watch the real numbers on Meta and TikTok and act on them, so a dud stops burning money at 3am instead of whenever you next open the tab.
Every ad remembers who made it. Spend, CTR, and ROAS flow back from Meta and TikTok to the editor behind each creative, so you can sort by what actually converts and reward the people whose work prints, on data instead of gut feel.
See which editor
makes the winners.
What protects your ad accounts.
You are handing us access to accounts that spend real money. Here is what stands behind that, on every plan.
Your ad platform access tokens are the keys to your accounts, so they never sit in our database in a form anyone can read.
- Encrypted before they are written
- Meta, TikTok, Google Drive and Dropbox tokens are AES-256-GCM encrypted on the way into the database.
- The key is kept somewhere else
- It lives as an encrypted platform secret, never in the database. A stolen copy of our data decrypts nothing.
- Plaintext exists only in memory
- A token is decrypted for the length of one API call. It is never written to disk and never written to a log.
- It fails loudly, not quietly
- Production refuses to start without a valid key, and refuses to read any token that is not encrypted.
- We never see your platform password
- You log in on Meta or TikTok and approve us there. Your password is never typed into us and never reaches our servers.
There is no password on your account, so there is nothing to reuse across sites, nothing to leak, and nothing to crack.
- A code or a passkey
- Sign in with a six-digit code that expires in ten minutes, or with a passkey using Face ID, Windows Hello, or a hardware key.
- Two-factor that means something
- Codes from an authenticator app, with single-use backup codes. Email is deliberately not offered as a second factor, since the first one is already an email.
- Enforced for the whole workspace
- Owners can require two-factor from everyone, checked on every page and every API route, not just at the login screen.
- Nobody can flood your inbox
- A bot check plus per-address and per-network ceilings on how many sign-in codes can be sent in a day.
- Guessing a code is hopeless
- Six digits, ten minutes, single use, and a hard cap on how many attempts a network gets per minute.
A stolen browser session is not enough to take the account. Everything that would lock you out needs more than the session.
- Step-up on every sensitive change
- Turning off two-factor, swapping the authenticator, removing a passkey, or minting new backup codes each demand a current code first.
- Codes cannot be replayed
- A code that has been used is refused for the rest of its window, and backup codes burn the moment they are accepted.
- Your email cannot be moved silently
- Changing the sign-in address is approved at the current address, and the old one is notified once the change lands.
- Deletion always goes through email
- A session alone can never erase the workspace. Deleting the account requires a confirmation link.
- You hear about it in minutes
- A sign-in from an unfamiliar browser or network emails you and is recorded in the workspace activity log.
Freelancers and clients get exactly the slice of the workspace you choose, enforced on the server rather than hidden in the interface.
- Permissions, not just roles
- Owner, admin and member, plus separate grants for uploading, editing, approving, deleting, sharing, creating ads, and spending money.
- Folder scoping
- A scoped member sees their folders and nothing else, the same way in the app, the API, and every file request.
- Ad account scoping
- Credentials load only for the accounts a member may act on, so anything out of scope is refused rather than merely hidden.
- The owner keeps the keys
- Only the owner invites admins or changes roles, and an admin has to be demoted before anyone can remove them.
- Offboarding is immediate
- Removing someone revokes their API keys, disconnects their AI tools, and drops their live sessions on the spot.
Reviewers never need an account, and a link only ever exposes the work it covers.
- Passwords are properly hashed
- Salted PBKDF2-SHA256 over 100,000 iterations, compared in constant time so the hash cannot be guessed a character at a time.
- Unlocks cannot be forged
- The unlock is signed with our server secret, so even a leaked database row will not open a locked link.
- Changing the password locks everyone out
- Every unlock already handed out stops working the moment you set a new one.
- Expiry and revocation are real
- Both are re-checked on every single request, not just when the page first loads.
- Files are checked too
- Media requests are matched against the link scope, so nothing outside the shared folder can be pulled by guessing a URL.
Anything a script or an AI assistant can reach is held to the same permissions as the person who authorized it.
- Keys are stored as hashes
- An API key is shown once. After that even we can only see the first four characters, enough to tell your keys apart and nothing more.
- A key is never more powerful than its owner
- It acts with the intersection of its own scopes and its creator’s permissions, and stops working the moment their membership ends.
- AI clients ask before they connect
- They authorize over OAuth through a consent screen that cannot be skipped, pinned to the workspace you approved.
- The CLI signs in without a secret to paste
- A device code you approve in the browser, expiring in ten minutes.
- Guessing gets you nowhere
- Per-account rate limits, and a penalty box that stops key guessing at the edge before it ever reaches the database.
The unglamorous layer underneath, where a lot of real breaches actually happen.
- Hardened responses
- Strict transport security, no MIME sniffing, framing denied, and a tight referrer policy on everything we serve.
- Uploads are judged by their bytes
- We identify a file by reading it, never by trusting its name or the type the client claims it is.
- We will not fetch just any address
- Outbound requests to URLs you supply are limited to public HTTPS hosts, with redirects refused.
- Card details never reach us
- Checkout and billing are hosted by Stripe, so your payment information is not ours to lose.
- Leaving is complete
- Deleting your account cancels billing, removes the workspace and its data, and purges the stored files.
From Approved
to spending.
Pick the approved creative and build the whole ad around it: campaign, ad set, budget, copy variants, A/B test. No exporting, no re-uploading, no retyping it all into another tab. Go live now, start paused, or schedule it for Monday.
Your creatives live on a canvas
go on, grab one
these go live tuesday
bts_cut.mov

static_promo.png
2 notes
In review
ugc_hook_a.mp4
Approved
ugc_hook_b.mp4
v2
Approved
Your client gets a link.
That's the whole setup.
This is what they see: a share link that opens in their browser, no account and no install. Password protect it, set an expiry, allow downloads or not. They comment on the exact frame and it lands in your inbox instantly.
Run your pipeline from your chat.
Connect upload.ad to Claude or ChatGPT once, then just ask. Upload batches, check review status, and publish to Meta or TikTok, right in the conversation.
See how it worksOn it. All 12 are on their way to your Meta ad account. I will tell you when the batch lands.
Build it into your pipeline.
A REST API, a CLI, and an MCP server for agents. Everything the app can do, your scripts and tools can do too.
Read the docs# push a batch from your terminal $ uploadad upload hook_a.mp4 hook_b.mp4 --wait # expose upload.ad to your agent $ claude mcp add --transport http \ uploadad https://upload.ad/mcp
One price for the whole pipeline.
Plans are metered on connected ad accounts, never on seats or spend. Reviewers on share links are free and unlimited on every plan.
Starter
For Brands
$59/mo
Billed monthly
- 1 ad account
- 2 team seats
- 250 GB storage then $5.99/250 GB per month
- 100 AI tokens per month
- Unlimited ad launches
- Publish to Meta and TikTok
- Batch launches with one ad per creative
- Carousels, existing posts, and Spark Ads
- Lead ads and Advantage+ enhancements
- Scheduled launches and drafts
- Folders, tags, and AI tagging
- Versions and approval statuses
- Review links with comments, passwords, and expiry
- Unlimited free reviewers
- Creative and team performance analytics
- Shareable client report links
- Automations with a visual flow builder
- Creative tests and budget scaling
- Ad comment inbox for Meta and TikTok
- Roles, permissions, and folder scoping
- Watched folders in Google Drive and Dropbox
- Slack, Discord, and Teams notifications
- API, CLI, MCP, and webhooks
- Desktop app
7 days free, no credit card
Growth
For Freelancers
$199/mo
Billed monthly
- 3 ad accounts
- 5 team seats
- 1 TB storage then $5.99/250 GB per month
- 300 AI tokens per month
- Unlimited ad launches
- Publish to Meta and TikTok
- Batch launches with one ad per creative
- Carousels, existing posts, and Spark Ads
- Lead ads and Advantage+ enhancements
- Scheduled launches and drafts
- Folders, tags, and AI tagging
- Versions and approval statuses
- Review links with comments, passwords, and expiry
- Unlimited free reviewers
- Creative and team performance analytics
- Shareable client report links
- Automations with a visual flow builder
- Creative tests and budget scaling
- Ad comment inbox for Meta and TikTok
- Roles, permissions, and folder scoping
- Watched folders in Google Drive and Dropbox
- Slack, Discord, and Teams notifications
- API, CLI, MCP, and webhooks
- Desktop app
7 days free, no credit card
Pro
For Small Agencies
$449/mo
Billed monthly
- 10 ad accounts
- 15 team seats
- 2 TB storage then $5.99/250 GB per month
- 600 AI tokens per month
- Unlimited ad launches
- Publish to Meta and TikTok
- Batch launches with one ad per creative
- Carousels, existing posts, and Spark Ads
- Lead ads and Advantage+ enhancements
- Scheduled launches and drafts
- Folders, tags, and AI tagging
- Versions and approval statuses
- Review links with comments, passwords, and expiry
- Unlimited free reviewers
- Creative and team performance analytics
- Shareable client report links
- Automations with a visual flow builder
- Creative tests and budget scaling
- Ad comment inbox for Meta and TikTok
- Roles, permissions, and folder scoping
- Watched folders in Google Drive and Dropbox
- Slack, Discord, and Teams notifications
- API, CLI, MCP, and webhooks
- Desktop app
7 days free, no credit card
Agency
For Large Agencies
$799/mo
Billed monthly
- 15 ad accounts then $15/month each
- Unlimited team seats
- 4 TB storage then $5.99/250 GB per month
- 1000 AI tokens per month
- Whitelabel review links Your branding on your own domain
- Unlimited ad launches
- Publish to Meta and TikTok
- Batch launches with one ad per creative
- Carousels, existing posts, and Spark Ads
- Lead ads and Advantage+ enhancements
- Scheduled launches and drafts
- Folders, tags, and AI tagging
- Versions and approval statuses
- Review links with comments, passwords, and expiry
- Unlimited free reviewers
- Creative and team performance analytics
- Shareable client report links
- Automations with a visual flow builder
- Creative tests and budget scaling
- Ad comment inbox for Meta and TikTok
- Roles, permissions, and folder scoping
- Watched folders in Google Drive and Dropbox
- Slack, Discord, and Teams notifications
- API, CLI, MCP, and webhooks
- Desktop app
7 days free, no credit card
The AI assistant
Included on every plan. Your monthly tokens are what it runs on.
- Launches whole ad batches to Meta and TikTok
- Runs creative tests and scales the winners
- Digs through performance data for you
- Builds automations that watch your ads
- Replies to and moderates ad comments
- Writes and rewrites ad copy
7 days free. No credit card required.
Still on the fence?
Fair. Here is what most teams ask before they switch.
Something else? Ask us directly.


