Explore
The live Replicate catalogue, mirrored through the API. Same models, same inputs, same outputs — the difference is that every run is signed and costed.
Model not in the results?
owner/name. It resolves through GET /v1/models/{owner}/{name}, which reaches every model on Replicate — including ones published this morning and private models on the office account.—
Gallery
Everything generated through the console, newest first. Click any of them to see it full size, with who made it and what it cost.
Activity & cost
Replicate groups every prediction together with no user and no project on it. Once runs go through the console, both are yours.
Cost by person
Cost by project
Every run
Projects
What a project cost, what it's billed at, and the statement the client receives.
—
Weekly spend
By tool
Prediction ledger
Projects & people
Create a project, set its rate card, and choose who can bill to it. Only a project that exists here can be selected at sign-in.
All projects
People
How it works
The console sits in front of Replicate and proxies it. Users get the same catalogue and the same inputs they'd get on replicate.com — they just never touch the API token, and every run lands in your ledger with a name and a project on it.
You sign into this, not Replicate
There is one Replicate account — the office one — and nobody signs into it. Signing in here identifies you, so the run you're about to make can carry your name. Google Workspace or a password account; an admin creates projects and assigns members, and a member's picker shows only theirs. No project selected, no run.
Proxy, never hand out the key
The office token lives in server-side config. The app calls Replicate on everyone's behalf. Nobody holds a personal key, so nothing runs off-ledger.
Mirror the whole catalogue
GET /v1/search?query=… is the ranked search across everything public — models, collections and docs, with tags. QUERY /v1/models is the older model-only search and GET /v1/models pages the full list. Cache it nightly so the grid is instant.
The form builds itself
GET /v1/models/{owner}/{name} returns the latest version with its openapi_schema. The Input properties are the form — types, defaults, ranges, enums, help text. Render them generically and every model works, including ones published after you ship.
Tag before you call
The ledger row — project_id, user_id, prediction_id, model, inputs — is written before the create call returns, and ?project=… goes on the webhook URL as a second path.
Close the row on the webhook
webhook_events_filter=["completed"] brings back metrics.predict_time, status and output URLs. Replicate retries up to five times — upsert on prediction_id, never insert.
Price it yourself
Replicate returns no cost. Your rate card does it: GPU seconds × hardware rate (H100 $0.001525/s, A100 $0.0014/s, L40S $0.000975/s, T4 $0.000225/s) or units × per-output price. Stamp the rate-card version on the row so old rows never re-price.
Markup in a second column
cost_aud and client_price_aud sit side by side. The client statement renders one and never selects the other.
cover_image_url and its owner an avatar — render those and the grid looks exactly like replicate.com, with no logos to redraw. This prototype can't load external images, so it stands in generated covers and owner monograms.owner/name that resolves straight through GET /v1/models/….Prototype with representative data. Catalogue is a 17 Sep 2026 snapshot of the live Replicate model list; runs, schemas and search are simulated locally. Hardware rates are Replicate's published per-second prices. Charles Elena.