meta_ads_creatives_upload_image
Uploads an image from a public HTTPS URL to a Meta Ads account and returns the image_hash required to create ads, dynamic ads, or carousels that reference it.
Instructions
Uploads an image to the Meta Ads account by fetching it from a public HTTPS URL. Returns the image_hash that can be referenced in meta_ads_creatives_create / create_dynamic / create_carousel. Mutating — the image is persisted in the account library. For uploads from local files (not URLs) use meta_ads_images_upload_file instead.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Why this change is being made: one or two sentences naming the evidence and the expected effect. Stored in the journal and on the action_log entry this call produces, for the operator and the next session. | |
| approval | No | External approval this change carries out (recorded and shown, never verified) | |
| expected | No | Expected effects [{metric, direction, target?, horizon_days?, primary?}], exactly one primary:true when several; metric cpa/cpc/cpl/cpm/conversions/cvr/ctr/roas/cost/spend/clicks/impressions; direction up/down/hold. | |
| image_url | Yes | Public HTTPS URL of the image. Meta fetches it once at upload time — subsequent changes to the source URL do not affect the stored asset. | |
| account_id | No | Meta Ads account ID in the format 'act_XXXXXXXXXX' (e.g. 'act_1234567890'). Optional — falls back to META_ADS_ACCOUNT_ID from the configured credentials. The leading 'act_' prefix is required. | |
| decision_id | No | A proposed decision this change carries out. |