Overview
Batch mode lets you upload multiple ads in a single session. Instead of running the upload chain manually for each ad, you define all ads in a JSON configuration file and Meta Ads Kit processes them sequentially.When to Use Batch Mode
- Launching a new campaign with 5+ ad variants
- Testing multiple image + copy combinations
- Refreshing creatives across an entire ad set
- Migrating ads from another platform
Batch Configuration File
Location
Format
batch-upload.json
Required Fields
Ad Definition Object
Asset Feed Spec Format
Each ad references anasset_feed_spec JSON file generated by the ad-copy-generator skill:
notes-app.json
You typically generate these files using the
ad-copy-generator skill rather than writing them manually.Running a Batch Upload
Natural Language
Processing Flow
For each ad in the batch:- Validate - Check copy length, image dimensions, file exists
- Upload Image - POST to
/adimagesendpoint, get hash - Create Creative - POST to
/adcreativeswith asset_feed_spec - Create Ad - POST to
/adsin PAUSED status - Log Result - Save to
{ad-name}.upload.json
Progress Output
Validation Rules
Before uploading, Meta Ads Kit validates each ad:Copy Validation
- Headlines
- Body
- Description
- CTA
- Max 40 characters (soft limit)
- Hard stop at 50 characters
- Error if truncation would occur on mobile
Image Validation
Valid CTA Types
Error Handling
If any ad fails validation or upload, the batch pauses:Retry from Failure Point
Meta Ads Kit tracks which ads completed successfully. When you fix the error and re-run, it skips already-uploaded ads:Dry Run Mode
Test your batch configuration without hitting the API:- Validation results for each ad
- Exact JSON payloads that would be sent
- Estimated creative/ad names
- No API calls made, no IDs returned
Advanced: Multiple Images per Ad
You can test multiple images with the same copy by providing an array of image paths:Output Files
After batch upload completes, Meta Ads Kit saves results:upload.json Format
notes-app.upload.json
workspace/brand/assets.md for tracking:
assets.md
Performance Considerations
Rate Limits
Meta’s Marketing API uses score-based rate limiting. Batch uploads consume more of your rate limit budget.Recommended batch sizes:
- Small account: 5-10 ads per batch
- Medium account: 10-20 ads per batch
- Large account: 20-50 ads per batch
Sequential vs Parallel
Batch mode processes ads sequentially by default to avoid rate limits. For large batches (50+), you can enable parallel upload:batch-upload.json
Example Workflow
Step 1: Generate Copy
Step 2: Create Batch Config
batch-upload.json
Step 3: Dry Run
Step 4: Upload
Step 5: Review & Activate
Open Ads Manager, review each ad, activate the ones you want to run.Next Steps
Graph API
Direct API usage and rate limits
OpenClaw Integration
Natural language ad management