Skip to main content

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.
Please be sure your video URL ends in an accepted video extension such as .mp4 or .mov, depending upon the network.For example:
  • Accepted: https://mysite.com/video.mp4
  • Not Accepted: https://mysite.com/video.mp4?code=30s93
If your video is a signed URL or cannot end in an accepted video extension, you can use the isVideo parameter when publishing the post.
We recommend for larger video files over 50 MB create a scheduled post with the scheduleDate 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 the content-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 with https://

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 the Iptc4xmpExt: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 as photoshop:City and Iptc4xmpExt:LocationCreated are 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:DigitalSourceType value 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:creator and dc:rights, keywords, editing history, and every location field, exif:GPS* and authored text such as photoshop:City and Iptc4xmpExt:LocationCreated alike. 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.
Don’t rely on a converted image to prove authorship or tamper-evidence. If a verifiable C2PA signature is a requirement, publish the image in a format the destination network accepts natively so that no conversion takes place.

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.
If you need certainty that no re-encode will happen, supply JPEG or PNG.

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.
Provenance metadata does not survive LinkedIn’s image processing. LinkedIn removes embedded metadata when it ingests an image, so the Iptc4xmpExt:DigitalSourceType disclosure is not present on the published image and no AI label is applied. Don’t treat embedded metadata as an AI-disclosure mechanism for LinkedIn.
Networks not listed above were not measured. Network behavior can change without notice, so treat the table as observed behavior rather than a guarantee.
Instagram autoResize discards the disclosure. When a post uses instagramOptions.autoResize, the image is resized to 1080×1080 by a separate step that writes a new file and carries no metadata forward — so the AI disclosure, the ICC profile and any C2PA manifest are all absent from the image Instagram receives, regardless of what the source carried. If the disclosure needs to reach Instagram, supply an image that already meets Instagram’s aspect-ratio requirements and leave autoResize off.

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.