Bulk upload Meta Ads: launch 1,000 creatives in one pass

From raw files to live ads, in a single pass.

Included on the free plan Reviewed on 26 August 2026

Publishing one creative on Meta takes about ten clicks. Publishing two hundred takes two thousand. Bulk upload reduces that work to a single configuration, replicated across the whole batch.

Where your creatives come from

Four sources, with no download and re-upload in between.

SourceWhat you can do
Your computerDrag and drop, or multi-select from the system file picker
Frame.ioBrowse projects, folders and version stacks inside Apogee, or paste a URL that resolves into assets
Google DriveBrowse via the official picker, with My Drive, Shared with me and Shared Drives. A folder URL resolves into all its media
DropboxBrowse with thumbnails, select all, or paste a file or folder link

File extensions and MIME types are repaired on import, which avoids the file Meta refuses on a format technicality. Heavy Drive videos are streamed server-side, so the browser never freezes.

What you see during import

A grid of selected files, each with an auto-generated thumbnail, its weight, and an aspect-ratio badge (1:1, 9:16, 16:9, 4:5). Clicking a video opens a full-size player.

The progress panel shows the global bar, imported and failed counters, elapsed and remaining time, transfer speed, and one row per file. Failures retry from a single button.

The pre-flight check

Before anything is published, a structure tree unfolds exactly what will be created in Meta: campaign, ad sets, ads, formats, with status dots, budgets, thumbnails, and names editable right in the tree.

Next to it, a required-fields checker lists precisely what blocks the launch, with a shortcut to the setting in question. And if anything changed since the configure step, a banner counts the fields to revisit.

The launch

Four phases run in sequence with a live activity log: uploading media, creating ad sets, creating ads, finalizing.

When part of it fails, the results banner groups identical errors and names the principal cause in plain language, such as video upload failed, missing lead form, policy violation or permission denied, with a block explaining the fix. Retry failed re-posts only the affected creatives, not the whole batch.

What this does not solve

Bulk upload does not make your creatives and does not judge their quality. It also does not compensate for an inconsistent naming convention: if your file names carry neither concept nor iteration, the generated campaign structure will be clean but unreadable in reporting. That is the job of AI naming detection, which runs first.

Meta’s rate limits still apply. Apogee handles them and retries, but does not remove them.

Frequently asked questions

Questions fréquentes

How many files can I send at once?

The flow is sized for 50 to over 1,000 files per batch. The real constraint is not the count but the weight per file: 500 MB. A heavier file is listed in a rejection panel with its reason and the fix to apply, never dropped silently.

What happens if my connection drops mid-upload?

Uploads are resumable: the transfer restarts where it stopped instead of sending everything again. Heavy video batches get up to 15 minutes.

Do I have to stay on the page during a launch?

No. A floating widget keeps the launch running while you navigate elsewhere in the app, and several simultaneous launches stack.

Launch 167 creatives in 47 seconds

Bulk upload, AI naming detection, campaign structure. No credit card.

Talk to Founder