Upload images directly to Metadata platform library to create image creatives.
Downloads images from provided URLs and uploads them to the platform.
REQUIRED STEP IN AD CREATION WORKFLOW:
This tool MUST be called between generate_brand_creative and create_update_image_ad.
**WORKFLOW INTEGRATION:**
This tool is part of the ad creation workflow and should be used:
1. BEFORE creating ads with create_update_image_ad (which requires imageLibraryId/creativeID)
2. IN COMBINATION with generate_brand_creative to create AI-generated images first, then upload them
3. When you need to upload existing images from external sources
**COMMON WORKFLOWS:**
- Upload existing images → Get imageLibraryId → Use in create_update_image_ad
- Generate image with generate_brand_creative → Download generated image → Upload with this tool → Use in create_update_image_ad
- Batch upload multiple creative assets for campaign preparation
**IMPORTANT:** The returned image ID (imageLibraryId/creativeID) is REQUIRED when creating ads.
Every ad needs a creative asset, so you must upload images first before calling create_update_image_ad.
REQUIRED PARAMETERS:
- images: Array of image URLs to upload
IMAGE REQUIREMENTS:
- URLs must be valid and publicly accessible
- Supported formats: PNG, JPG, JPEG, GIF, WebP, and others
- Images will be downloaded and then uploaded to platform
- Filenames with spaces will have spaces replaced with underscores
EXAMPLES:
Single Image:
upload_image([
"https://my-bucket.s3.amazonaws.com/images/sample-image.png"
])
Multiple Images:
upload_image([
"https://my-bucket.s3.amazonaws.com/images/logo.png",
"https://example-assets.s3.us-west-2.amazonaws.com/photos/banner.jpg",
"https://content-bucket.s3.eu-west-1.amazonaws.com/uploads/hero image.webp"
])
RESPONSE FORMAT:
Returns array of objects for each image:
[
{
"url": "https://original-url.com/image.png",
"name": "image.png",
"id": 12345,
"success": true
},
{
"url": "https://failed-url.com/bad.png",
"name": "bad.png",
"id": null,
"success": false,
"error": "Download failed: Connection timeout"
}
]
ERROR HANDLING:
- If one upload fails, others will continue
- Each result includes success status
- Failed uploads include error message
- Successful uploads include platform image ID
USE CASES:
- Upload creative assets before creating ads
- Import images from external sources
- Batch upload multiple campaign images
- Migrate images from other platforms