image-rehoster avatar

image-rehoster

Pricing

from $1.00 / 1,000 image hosteds

Go to Apify Store
image-rehoster

image-rehoster

Re-host any image at a stable, public Apify URL. Provide a URL or base64 data and get back a permanent retrieval link. Supports JPEG, PNG, WebP, GIF, AVIF, SVG, and more. Up to 50 MB per image.

Pricing

from $1.00 / 1,000 image hosteds

Rating

0.0

(0)

Developer

NativeFoundation, inc.

NativeFoundation, inc.

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

4 days ago

Last modified

Share

Image Rehoster

Re-host any image at a stable, public Apify URL. Provide a URL or base64 data and get back a permanent retrieval link.

Keywords: image hosting, image rehosting, permanent image URL, image URL generator, base64 to URL, base64 image to URL, vision model image input, GPT-4o image URL, Claude vision image URL, Gemini vision image URL, AI agent image pipeline, MCP image tool, hotlink bypass, image CDN alternative.

What it does

Image Rehoster downloads an image from a URL (or decodes base64 input) and stores it in Apify Key-Value Store, returning a publicly accessible retrieval URL. The URL requires no authentication and works anywhere images are accepted.

Trigger phrases — use this actor when you see

  • "Host this image" / "Give me a URL for this image"
  • "I need a permanent URL for this image"
  • "Convert this base64 image to a URL" / "Host this base64 PNG/JPEG"
  • "This presigned S3 URL is expiring — rehost it"
  • "Pass this image to GPT-4o / Claude / Gemini Vision"
  • "Store a scraped image so I can reference it later"
  • "Embed an image URL in a Slack message / email / webhook"
  • "The vision model needs a URL, not base64"
  • "Mirror / proxy / cache this image before it disappears"

Use cases

  • Vision-model APIs (GPT-4o, Claude, Gemini) that need a public image URL
  • Re-hosting ephemeral URLs that expire or require auth
  • AI-agent pipelines that pass images between steps
  • Stable links for images behind CDNs with short-lived tokens

How it compares

Image Rehoster (this actor)Image CDN Upload (apivault_labs, Apify Store)imgbbCloudinary (free tier)
Permanent URLs✅ default, never expires❌ temporary only — 5 days guaranteed, up to ~1 month unguaranteedPro plan only
Base64 input❌ URL/file onlyVia API (Pro only)
SetupZero — one actor callZero — one actor callSignup + API key (Pro for API access)Account + SDK setup
PricingPay-per-event, $0.003/imagePay-per-event, $0.002/image + ~$0.00005 run-init feeFree (32 MB limit, ads) or $7.99–12.99/mo ProFree 25 credits/mo, then metered
Egress feesNone — served from Apify KVS readsNone stated (temporary CDN)n/aBandwidth counted against credits
MCP / AI-agent ready
Max file size50 MBNot specified32 MB (free) / 64 MB (Pro)Plan-dependent
Stays inside Apify billing❌ separate account❌ separate account

Bottom line: the closest comparison is Apify's own Image CDN Upload — same category, same marketplace, and cheaper per-image ($0.002 vs. $0.003). But its links are temporary only (5 days guaranteed, unguaranteed up to a month) and it doesn't accept base64 input. If you need a URL that's actually permanent, or need to pass raw base64 bytes straight out of a vision-model pipeline, that's the gap this actor fills. Off-platform, imgbb and Cloudinary both require their own account/API key and aren't MCP/agent-discoverable — you'd be adding a second billing relationship and a manual integration step for a job this actor does in one call.

Competitor figures reflect publicly listed pricing/features as of July 2026 — verify current specs before quoting.

Input

FieldTypeDescription
imageUrlstringDirect URL of the image to download and host (up to 50 MB)
imageBase64stringBase64-encoded image data (alternative to imageUrl)
filenamestringOptional filename stem (extension added automatically)
permanentUrlbooleanDefault: true — store in a named KVS for a permanent URL
storeNamestringNamed store override (default: hosted-images)

Provide either imageUrl or imageBase64.

Output

{
"key": "my-image.png",
"retrievalUrl": "https://api.apify.com/v2/key-value-stores/<id>/records/my-image.png",
"permanent": true,
"size": 102400
}
  • retrievalUrl — public, no-auth URL to the hosted image
  • permanenttrue for named-store URLs (never expires); false for default-store URLs (expires with plan retention)
  • size — image size in bytes

Permanent vs temporary URLs

By default, images are stored in a named Key-Value Store (hosted-images), giving you a permanent URL that never expires. You pay for that storage as long as it exists.

Set permanentUrl: false for a temporary URL that auto-deletes with your Apify plan's data-retention window (approx. 7-30 days) at no ongoing cost.

Pricing

Pay-per-event + usage — $0.003 per image hosted ($3 per 1,000), plus Apify platform usage (compute + storage) at cost. You are charged once per image you host (the run cost is typically ~$0.0003 at 512 MB).

Retrieving the image afterwards is billed as standard Apify Key-Value Store read operations on your own account (~$0.0045 per 1,000 reads). There is no per-GB egress charge for serving the public URL.

FAQ

Why use this instead of hosting the image myself (S3, Cloudinary, imgbb)? Because it's one actor call with no separate account, no API key, and no egress bill — the URL is live immediately and billed entirely through your existing Apify usage. Rolling your own means standing up a bucket/CDN or signing up for a third-party host before you've hosted a single image.

Is the URL really permanent, or does it expire eventually? By default, yes — images go into a named Key-Value Store that Apify never auto-cleans, so the URL keeps resolving indefinitely. You only pay the tiny ongoing storage/read cost (roughly $0.66/month per GB of images, plus ~$0.0045 per 1,000 reads — see Pricing). Set permanentUrl: false if you actually want it to expire with your plan's retention window instead.

Can I pass base64 image data instead of a URL? Yes — set imageBase64 (a data URI or raw base64) instead of imageUrl. This is the one thing Apify's own Image CDN Upload actor doesn't support, which matters if your pipeline produces raw image bytes (e.g. straight out of a generation or screenshot step) rather than an existing URL.

Does this work with GPT-4o, Claude, or Gemini vision APIs? Yes — that's the primary use case. Vision-model APIs need a public image URL; this actor turns any image (URL or base64) into one in a single call, ready to drop into a vision request.

Can I use this to rehost a presigned or hotlink-protected URL before it expires? Yes — the actor sends realistic browser headers (User-Agent, Referer, Sec-Fetch-*) to get past most hotlink protection, then re-hosts the result at a stable Apify URL that doesn't depend on the original link staying alive.

Is there a file-size or format limit? 50 MB max, in any binary image format (JPEG, PNG, WebP, GIF, AVIF, SVG, BMP, TIFF, ICO, and others). It's not for video or files over 50 MB.

How is this different from Apify's own Image CDN Upload actor? Image CDN Upload is cheaper per-image and also zero-setup, but its links are temporary only (5 days to ~1 month, unguaranteed) and it doesn't take base64 input. Use this actor when you need a URL that's actually permanent, or need to feed it raw base64 bytes. See How it compares above.

What does it cost to host 1,000 images, and to keep serving them? $3 to host 1,000 images ($0.003 each), plus Apify's own storage cost for a named store (roughly $0.66/month per GB of images) and ~$0.0045 per 1,000 reads whenever those URLs get fetched afterwards. There's no per-GB egress fee.

Can an AI agent call this directly, without me setting anything up? Yes — it's automatically discoverable through the Apify MCP server, so any MCP-compatible agent (Claude Desktop, Cursor, etc.) can call it with no configuration beyond an Apify token.

What happens if the image URL is unreachable, or isn't actually an image? The run fails with an error — for example a DNS failure, a 4xx/5xx response from the source server, or a file over the 50 MB limit. If neither imageUrl nor imageBase64 is provided, the run exits without producing output.

Supported formats

JPEG, PNG, WebP, GIF, AVIF, SVG, BMP, TIFF, ICO, and any other binary image format. Maximum file size: 50 MB.