Media

Money

Dispatch

Company

WAVE · Enhance

AI super-resolution as one POST. No inference service to stand up.

Send a clip to /v1/enhance. Every frame lands on the model's fixed 224×224 canvas and comes back at 672×672, upscaled 3× by ESPCN running in-graph inside FFmpeg 9's ONNX Runtime backend. $0.60 per minute of output rendered.

The fixed canvas

One pixel in becomes nine pixels out. Every artifact leaves at 672×672.

ESPCN 3× linear 224 × 224 canvas in 672 × 672 artifact out

Each square stands for 28 pixels and is drawn the same size on both sides, so what changes between them is the count: 8 across becomes 24 across. The outlined cell on the left is the outlined block on the right. The exact 3× factor lives in ESPCN's trained sub-pixel convolution layer, not in a runtime flag, which is why the output resolution is fixed rather than negotiated. The two hairlines resolve at 672 and smear at 224. Resolution is the product.

$0.60per minute of output rendered, metered as wave_enhance_minutes
672 × 672every artifact, every input, fixed
1280 × 720largest input frame accepted
200 MBlargest request body accepted

One call back

curl -X POST https://api.wave.online/v1/enhance \
  -H "Authorization: Bearer <key>" \
  -F "file=@clip.mp4" \
  -F "model=espcn"
→ 672×672 super-resolved video, billed per minute of output rendered
no pipelineIn-graph ONNX inference inside FFmpeg 9. No model server to run.
one keyThe same WAVE gateway key and meter as every other spoke.
or no keyAn agent can pay the 402 quote per call instead of holding a key.

Before the model sees it

up to 1280 × 720 224 × 224

Aspect is preserved, never stretched. A 1280×720 frame fits to 224×126 and takes a 49px pad bar top and bottom.

FFmpeg 9's ONNX backend reads a concrete input shape out of this model and holds every frame to it, so v1 letterboxes first and upscales after. Native-resolution tiling needs an overlap-blend pass to keep seams out of the output, and that work is named as the next release rather than attempted quietly here.

The spec

endpointPOST /v1/enhance ?model=espcn → enhanced video
authAuthorization: Bearer <key> (via gateway)
modelESPCN super-resolution, Apache-2.0, ONNX opset 10, pinned by sha256 in the image.
healthGET /v1/enhance/healthz
statusThe route, the key check and the meter are live. Health reports activated:false until the inference backend is switched on, and a call returns a typed 501 that names every remaining blocker. Never a fabricated result.

WAVE is media infrastructure for the agentic internet: one call shape moves live and on-demand media across every transport, and both kinds of user, people and agents, discover it, call it, and pay for it per call.