User wants to upload NEW images for Meta campaigns. This tool validates images and uploads them to Meta to get image hashes.
This tool validates image URLs against Meta’s specifications and uploads them to get image hashes needed for campaign creation. It stores validated assets in a temporary bundle (60-minute TTL).
Returns:
When to use this tool:
Parameters:
Execution time: 5-15 seconds (depends on image count and size) Data source: Meta Ad Image Upload API
Image Requirements:
| Placement | Aspect Ratio | Min Dimensions | Max Size |
|---|---|---|---|
| Feed | 1:1 or 4:5 | 600x600 | 30MB |
| Stories/Reels | 9:16 | 500x888 | 30MB |
| Carousel | 1:1 | 1080x1080 | 30MB |
Workflow:
validate_and_prepare_meta_assets with image URLsasset_bundle_idcreate_meta_image_campaignAPI key from https://adspirer.ai/keys. Prefix sk_live_. Treat as a secret — never commit.
Client-generated UUID to make writes idempotent. Strongly recommended for write tools. A repeat call with the same key returns the cached result instead of re-executing. Example: 550e8400-e29b-41d4-a716-446655440000
All tool arguments are wrapped in an arguments object. The fields accepted inside arguments are listed below — required fields are marked with a red asterisk.
Input schema for validating and uploading Meta ad images
Tool executed successfully. data.text carries the human-readable result (markdown-friendly). data.quota shows your current usage against the plan limit. data.structured appears when the tool emits machine-parseable structured content. data.content appears for tools that return non-text blocks (images, resources).
Returned on HTTP 200. data.text is the primary human-readable output. data.quota is always present for billable calls. data.structured is set only when the tool emits machine-parseable structured content. data.content is set only when the tool emits non-text content blocks.