upload_media
Upload a user's own photo or video for posting. The user must provide an HTTPS link to their media (e.g. from Google Drive, Dropbox, iCloud, Imgur, or any public URL). Processes images to Instagram-optimal 1080x1080 and uploads to blob storage. Creates a suggestion ready for post_content or schedule_content. Costs 0 credits. If the user pastes an image directly instead of a link, ask them to share the image as a public URL (e.g. upload to Google Photos or Imgur and share the link).
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Optional hashtags (without # prefix). | |
| title | No | Optional title. Defaults to first 50 characters of caption. | |
| caption | Yes | Caption text for the post. | |
| mediaUrl | No | HTTPS URL to the image or video. The user should share a public link from Google Drive, Dropbox, iCloud, Imgur, etc. Max 8MB images, 100MB videos. For CAROUSEL use mediaUrls instead. | |
| mediaUrls | No | For CAROUSEL only: array of 2-10 HTTPS image URLs. | |
| businessId | Yes | Business ID. Call list_businesses first to get this. | |
| contentFormat | Yes | Media format: IMAGE (photo post), VIDEO (video post), CAROUSEL (multi-image), REEL (short video), STORY (ephemeral). TikTok only accepts VIDEO. |