freetier

Will it fit?

A free tier is not a smaller paid tier. It is a different shape. Some work fits it beautifully — streaming a model response costs almost no CPU, because time spent waiting on a socket is not CPU time — and other work cannot fit at all, no matter how you arrange it.

Here are the limits that decide the answer, checked against the platforms' own documentation by CI rather than remembered.

Loading verified limits…

Want your agent to do this for you?

shipfree is the Agent Skill version of this page. It teaches any AI coding agent how to deploy an AI service on a free tier — the limits, the architecture that fits inside them, and the traps.

/plugin marketplace add AryanRajMaurya/shipfree
/plugin install shipfree@shipfree

Pick a platform

Comparison of free hosting platforms for AI services
Platform Best for WebSockets Streaming Card Cold start

The limits that actually bite

Every number below is asserted in a single file and re-checked against upstream documentation on every push. When a limit moves, the build fails and the drift is reported.

Will your workload fit?

What breaks, and what to do about it

10 ms of CPU is not 10 ms of wall clock

Time spent waiting on a socket is not CPU time. A fetch() to a slow model costs almost nothing even when the model takes eight seconds to answer. What costs CPU is work: JSON parsing, string manipulation, crypto.

So: stream the response. Never buffer it.

Durable Objects are the escape hatch

30 seconds of CPU per request against a Worker's 10 ms. Anything stateful, anything realtime, anything that needs real sockets goes in a Durable Object. Use the WebSocket Hibernation API so an idle agent session is not billed.

Queues get five minutes of CPU

A queue consumer gets 5 minutes against a Worker's 10 ms — thirty thousand times more. Embedding, summarising, scraping and transcoding belong in a queue, never in the request path.

Reads are cheap, writes are not

KV gives you 100,000 reads a day and 1,000 writes a day, and only one write per second to any single key. That asymmetry is the trap. KV is a cache; D1 is a database.