Upload media (from URL)
Add an image or video to a business's MEDIA library by giving Marky a URL to fetch.
PREFER THIS whenever the media has any http(s) URL (a generated-image output URL, a web image, a CDN or file-host link). It is the simplest, most reliable path: Marky downloads it server-side, so it works even when your runtime can't make outbound requests. Only reach for create_media_upload (a local file AND your runtime has outbound network) or upload_media_from_reference (ChatGPT only, auto-filled) when you do NOT have a URL. Pass the http(s) URL; we store a durable copy. Private and internal addresses (and redirects to them) are rejected.
Send an Idempotency-Key header to make a retry safe (a resend that fetches the same bytes returns the original media asset instead of a duplicate).
Supported formats: JPEG, PNG, WebP, GIF, MP4, MOV. Images are automatically optimized. Max size: 20 MB for images, 500 MB for video.
Errors: 400 invalid_value: The business_id is not a valid UUID, the URL is not fetchable (bad scheme, private address, HTTP error), or the content is not a supported image or video. 401 authentication_required: API key or token is missing, invalid, or revoked. 403 permission_denied: Your plan does not include API access, or this business is not in your org. 404 resource_not_found: No business with that ID exists. 413 FILE_TOO_LARGE: The fetched media is larger than the size limit. 422 IDEMPOTENCY_KEY_CONFLICT: The Idempotency-Key was reused with a different body. 429 rate_limit_exceeded: You sent too many requests this minute.
Request
- Base URL: https://api.mymarky.ai
- URL: https://api.mymarky.ai/api/media/from-url
- Auth: HTTP bearer
Headers
Optional. Send a unique value (e.g. a UUID) to make this create request safe to retry. A repeat with the same key returns the original response instead of creating a duplicate. Cached for 24h, scoped to your org. Reusing a key with a different body returns 422.
Opt into a dated API version. Omit to stay on the floor (2026-04-08) forever — unpinned clients never break. Pin to a newer date (e.g. 2026-08-06) to receive the newest response shapes. Unknown values fall back to the floor. See https://docs.mymarky.ai for the versioning model.
Request body
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.