Image and Video Posting Requirements
When publishing a post to the social networks, it is important to follow each network’s requirements. By following these guidelines, you can ensure your post is accepted by the social networks and reaches the intended audience. Please see the post endpoint for additional details.Accepted File Types
Files have an accepted file ending type (extension), such as jpg, jpeg, png, webp, gif, mp4, mov, or avi, with content-types such as image/jpeg or video/mp4. Additionally, LinkedIn accepts file types with the following extensions: ppt, pptx, doc, docx, and pdf. If the media URL has special characters, e.g. ñ, please encode the special characters before sending. Please see below for details on each network.Automatic image format conversion. WebP, HEIC, HEIF, and AVIF source images are automatically converted to JPEG before posting to platforms that don’t accept them natively. WebP is converted for Instagram, LinkedIn, TikTok, Google My Business, Threads, and Snapchat; HEIC, HEIF, and AVIF are converted across all supported platforms. Conversion runs transparently at send time, so you can submit any of these formats via
mediaUrls and Ayrshare will handle the format on the destination platform’s behalf. The per-platform “supported formats” lists below describe what each network ultimately accepts on the wire; you do not need to convert beforehand. See Image Format Conversion Errors for the failure modes (codes 450, 451, 452), and Image Metadata and Content Credentials for what happens to embedded metadata when an image is converted.Maximum Images
Max images accepted per platform in a single post:- Bluesky: 4 images.
- Facebook Pages: 10 images, including a carousel post.
- Instagram: 10 images.
- Google Business Profile: 1 image.
- LinkedIn: 9 images.
- Pinterest: 1 image.
- Reddit: 1 image.
- Telegram: 1 image.
- Threads: 20 images.
- TikTok: 35 images.
- X/Twitter: 4 images.
Maximum Videos
Only one video is allowed per post for Bluesky, Facebook, Instagram, LinkedIn, Pinterest, Telegram, Threads, TikTok, X/Twitter, and YouTube. Reddit does not yet support videos. We recommend for larger video files over 50 MB create a scheduled post with thescheduleDate parameter for async processing.
Be sure to also check the upload speed of your media URLs to prevent timeouts at the social networks.
If the media file cannot be downloaded within approximately 5 minutes a time out will likely occur.
Standard Social Video Requirements
Each social network has different video requirements. If you want a video that can be published to social networks such as X/Twitter, Instagram, Facebook, and TikTok use the following standards: Dimensions: 1080 x 1920 px Length: 60 seconds Size: 50 MB Format: MP4 Example Portrait Video:https://img.ayrshare.com/random/portrait5.mp4
You may also create specific sized video for networks such as YouTube that accept longer and larger files. Please see below for details of each network.
See how to create random videos for your testing.
Content Type
When posting, be sure thecontent-type is set appropriately, e.g. image/png, image/jpg, or image/jpeg.
Secure URLs
When posting your own media URL, the link must be secure by using SSL and starting withhttps://
Social Network Media Requirements
Bluesky Media Requirements
Facebook Media Requirements
Google Business Profile Media Requirements
Instagram Media Requirements
LinkedIn Media Requirements
Pinterest Media Requirements
Reddit Media Requirements
Snapchat Media Requirements
Telegram Media Requirements
Threads Media Requirements
TikTok Media Requirements
X/Twitter Media Requirements
YouTube Media Requirements
Image Metadata and Content Credentials
Images frequently carry embedded metadata: an ICC color profile, an XMP packet, EXIF camera data, or a C2PA Content Credentials manifest. When an image is generated or edited with an AI tool, the AI disclosure normally lives in the XMP packet as theIptc4xmpExt:DigitalSourceType property, and often inside a C2PA manifest as well.
Ayrshare re-encodes an image to JPEG when the destination network won’t accept the source format, as described under Accepted File Types above.
A re-encode rewrites the file, so this section states exactly what Ayrshare carries across, what it drops, and what each network does with the result.
Videos are never re-encoded and their metadata is untouched.
Metadata Retained on Conversion
- Color rendering. A wide-gamut image looks the same after conversion as it did before. How that is achieved depends on the source format, and the difference is worth knowing if you inspect the converted file. A HEIC or HEIF image keeps its original ICC color profile, which is carried into the JPEG. A WebP or AVIF image is converted to standard sRGB instead, so the colors are correct even on a network that discards embedded profiles — the converted JPEG carries no ICC profile because it no longer needs one.
- The AI disclosure, and only the AI disclosure. Ayrshare writes a small, new XMP packet
containing
Iptc4xmpExt:DigitalSourceType— the IPTC property that records whether an image was captured by a camera, edited, or produced by an algorithm — so a disclosure written by your generation tool reaches the network. The packet is built fresh rather than copied: nothing else from your image’s original XMP travels with it. Creator and copyright fields, keywords, editing history and location fields such asphotoshop:CityandIptc4xmpExt:LocationCreatedare all left behind, so nothing about you or where a photo was taken can be published by accident. See Metadata Not Retained below. - A synthesized AI disclosure. If a C2PA manifest asserts an AI origin but the XMP packet
doesn’t record it, Ayrshare writes the equivalent
Iptc4xmpExt:DigitalSourceTypevalue into the output XMP, so the disclosure isn’t lost along with the manifest. Ayrshare never infers an AI origin on its own: the value is carried across when the image already carries one, and synthesized only when a C2PA manifest asserts it. An AI-generated image that arrives with no disclosure in either place is published without one.
Metadata Not Retained
- Everything except the AI disclosure. A converted image carries no EXIF block at all — no GPS
coordinates, no camera make, model or capture time — and nothing from the original XMP packet
beyond the disclosure itself. That includes
dc:creatoranddc:rights, keywords, editing history, and every location field,exif:GPS*and authored text such asphotoshop:CityandIptc4xmpExt:LocationCreatedalike. The output packet is built from scratch rather than filtered, so the only thing that can appear in it is the disclosure. If you need authorship or copyright metadata to reach a network, publish in a format that network accepts natively so no conversion takes place. - A very long disclosure value. The packet Ayrshare writes has to fit a fixed amount of space in the JPEG, and a disclosure value long enough to push it past 60,000 bytes is left out rather than truncated. Real IPTC values are a few dozen bytes, so this does not happen in practice; it is documented because the post still succeeds and no warning is returned. Note this is a limit on the disclosure, not on your image’s original packet — a large original XMP no longer costs you the disclosure, because the original is not what gets written.
- The C2PA cryptographic signature can’t survive a re-encode. A C2PA manifest is signed over the exact bytes of the file it was attached to. Converting the image to JPEG produces different bytes, so the signature can no longer be valid and is not carried over. The disclosure survives the conversion; the signature does not. A converted image will not verify as signed content in a Content Credentials validator.
When Conversion Happens
- JPEG and PNG pass through untouched. No re-encode and no metadata change — the bytes you supply are the bytes the network receives.
- WebP is converted to JPEG for Instagram, Threads, LinkedIn, TikTok, Google Business Profile, and Snapchat.
- HEIC, HEIF, and AVIF are converted to JPEG for every network.
- Videos are never converted.
What Each Network Does With the Metadata
Retaining the metadata is only half the journey. Each network decides independently whether to keep it on ingest and whether to render an AI label. The results below come from live posts published in August 2026 with no platform AI flag set, so the embedded metadata was the only possible signal:
Meta keeps the disclosure consistently across Facebook, Instagram, and Threads, but renders the label per surface: Facebook and Instagram show it, Threads currently does not.
The two columns are independent, and Instagram is the reason it’s worth saying so: it keeps the AI disclosure while discarding the color profile. That’s also why WebP and AVIF images are converted to standard sRGB instead of being given a profile to carry — a profile only helps on a network that keeps it, whereas correct sRGB color is correct everywhere.
Networks not listed above were not measured. Network behavior can change without notice, so treat the table as observed behavior rather than a guarantee.
Uploading Media Directly
POST /media/upload stores your bytes verbatim.
Nothing is re-encoded and all metadata — including EXIF and any C2PA manifest — is stored exactly as supplied.
The retention behavior above applies only when an image is published to a network that requires a different format.