Your encoder farm is
now one API call.
Hand WAVE one master and name the rungs you want back. No GPU fleet to rack, no packaging pipeline to babysit, and a bill that counts only the transcode-minutes that encoded. WAVE is media infrastructure for the agentic internet: people and agents call the same route and pay for it per call.
● live GET /health answers 200; an unauthenticated POST never reaches GPU time
Two refusals and one price. Run all three.
A route that was never built returns 404. These do not. Call the spoke directly and it answers 403, because the request did not come through the gateway. Call the gateway with no payment and it answers 402 with the price of the call. No key needed for either.
$ curl -s -X POST https://transcode.wave.online/v1/transcode 403 {"ok":false,"error":"403 request did not traverse the WAVE gateway"} $ curl -s -X POST https://gateway.wave.online/v1/transcode 402 {"accepts":[{"scheme":"exact","network":"base", "maxAmountRequired":"15000", "resource":"/v1/transcode","asset":"USDC"}]}
USDC carries six decimals, so 15000 is $0.015000 for the call. That number came off the live route, not a pricing page, and it moves when the route moves. Send a key the gateway does not recognise and you get 401 with a request id you can quote back.
One POST stands in for the whole encoder farm.
Putting video in front of a real audience used to mean racking an encoder fleet, hand-authoring an adaptive-bitrate ladder, packaging HLS and DASH, and paying for GPUs that idle between jobs. One authenticated POST hands your master to a managed GPU transcode substrate, and the ladder comes back behind short-lived, HMAC-signed delivery URLs.
gateway-authenticated request
│
▼ Transcode Edge on the WAVE protocol plane
POST /v1/transcode ─▶ {source, mode, ladder}
GET /v1/transcode/live/:ns/:rung ─▶ per-subscriber ABR rung
│
└─ auth + metering federate through api.wave.online
You name the rungs. The schema refuses the rest.
There is no house ladder to argue with. You send the rungs you want and the validator decides whether they are buildable, before a single second of GPU time is bought. Four codecs. Width from 16 to 7680, height from 16 to 4320, so a thumbnail and an 8K master go through the same door. Bitrate from 50 kbps to 80 Mbps. An empty ladder is rejected. Anything outside those bounds throws, and the job is never submitted.
One plane on the whole WAVE fabric
The gateway that authenticates and meters this spoke fronts every other WAVE spoke, so a master transcoded here composes straight into WAVE delivery and per-subscriber live rung selection without leaving the fabric. One identity, one meter, one bill across the whole media path.