account | DynamicAccount | Yes | - | Ad account to upload the media into. Accepts an account ID with or without the ‘act_’ prefix (for example ‘act_1234567890’ or ‘1234567890’) |
image_url | string | No | - | Image to upload. Accepts a direct image URL or a Google Drive share link (set to ‘Anyone with the link’); Markifact resolves it automatically. Provide exactly one of image_url, video_url or source_instagram_media_id. Returns an image_hash to use in an ad creative. |
video_url | string | No | - | Video to upload. Accepts a direct video URL or a Google Drive share link (set to ‘Anyone with the link’); Markifact resolves it automatically. Provide exactly one of image_url, video_url or source_instagram_media_id. Returns a video_id plus an auto-generated thumbnail_url (a video creative’s video_data needs both: video_id and image_url). Note: video upload waits for Meta to finish processing. |
source_instagram_media_id | string | No | - | Import the original Instagram video/Reel into the ad account through Meta’s native Instagram import flow. Provide the Instagram media ID, not a URL or a newly uploaded Facebook video ID. Use instead of image_url/video_url. For existing-post partnership ads, use this when Meta requires the Instagram video to be uploaded to Facebook; retain the original source Instagram media reference when creating the creative. Meta checks access and partnership permissions. |
partnership_ad_ad_code | string | No | - | Actual creator-provided partnership ad code for the Instagram import, when available. Used with source_instagram_media_id; do not substitute a media ID or invent a code. Omit when using permissions without an ad code. |
is_partnership_ad | boolean | No | - | Optional native Meta partnership-ad flag for the Instagram import. Used with source_instagram_media_id. Omitted unless explicitly supplied; does not grant permissions or create an ad. |
name | string | No | - | Name shown for the image or video in the Meta media library, e.g. ‘Codex0006 - Rapunzel V2 - 9x16’. Defaults to the file name in the URL; Google Drive share links carry no file name, so set it for those. |