Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.letmepost.dev/llms.txt

Use this file to discover all available pages before exploring further.

What it checks

For images: mimeType ∈ { image/jpeg, image/png, image/webp }. For videos: mimeType ∈ { video/mp4, video/quicktime }. The mime is sniffed from the resolved bytes, not trusted from the file extension.

Why

Meta’s Threads create-container endpoint rejects HEIC, BMP, AVI, etc. with opaque code 100 errors. Catching the mime mismatch locally surfaces a useful rule + remediation.

Failure response

{
  "error": {
    "code": "preflight_failed",
    "rule": "threads.media.mime_allowed",
    "platform": "threads",
    "message": "Image mime type 'image/heic' is not allowed on Threads.",
    "remediation": "Use one of: image/jpeg, image/png, image/webp."
  }
}

Remediation

Re-encode the asset:
# HEIC → JPEG
magick input.heic output.jpg

# AVI → MP4
ffmpeg -i input.avi -c:v libx264 -c:a aac output.mp4