swiftimg

Image hosting for X (Twitter) — link to images outside the timeline

X (Twitter) accepts up to four image attachments per post, with format limits. Linking to a swiftimg URL adds Twitter-Card unfurl, lets you share larger files, and keeps a permanent home for the image outside Twitter's CDN.

Try swiftimg freeSee the API

Heads-up

Posts with native image attachments tend to get more engagement than link previews on X. If reach is the goal, attach natively *and* keep the original on swiftimg as a backup.

Step by step

  1. 1. Upload to swiftimg

    Drop the file at /upload — anonymous works — and copy the direct image URL or the /i/abc123 viewer URL.

  2. 2. Tweet the viewer URL for a card

    Use the /i/abc123 share page URL. swiftimg emits Twitter Card meta on viewer pages, so X expands it into a `summary_large_image` card under your tweet.

    Tweet
    Cool side project: https://swiftimg.com/i/abc123
  3. 3. Embed in a longer thread

    Posting the direct image URL inside a thread inlines a preview without using one of the four media slots, so you can stack more images per thread.

Twitter / X — FAQ

Why not just attach the image natively?

You should, when you can. swiftimg comes in handy when the file exceeds X's per-image cap, when you've already used four media slots, or when you want a permanent URL to reuse on other platforms.

Will the Twitter Card preview show on first post?

Yes, once Twitterbot fetches the URL. The fetch is fast (globally cached), and the OG metadata is on the viewer page from the moment of upload.

Does swiftimg support animated GIF / video?

Yes for animated GIF (auto-converted to animated WebP, original GIF still served) and short MP4/WebM. X may downgrade animated previews to a static thumbnail in some clients.

See also

Ready to host your Twitter / X images?

Start free, then unlock the full API, transforms, signed URLs, and a custom domain on the Developer plan.