Skip to content

Release 4.9.4

Latest

Choose a tag to compare

@dylanuys dylanuys released this 21 Jul 18:02
cbc916c

Resolution-Tiered Challenges & Rewards

Generation challenges now request a resolution tier, and rewards are priced by the tier actually delivered. Resolution and audio presence are covered by the C2PA hard binding (assertion.bmffHash.match) we already require, making them the only cryptographically attested quality signals available beyond the signing cert. A miner cannot upscale, re-encode, or mux in an audio track without invalidating the manifest.

Challenge tiers

Each challenge carries parameters={"resolution": <tier>}, sampled per challenge:

Modality Tiers Weights
Video 480p / 720p / 1080p 20% / 40% / 40%
Image 1K / 2K / 4K 40% / 40% / 20%

Video tiers match the OpenRouter /videos API resolution strings; image tiers refer to minimum pixel dimension (nominal 1024 / 2048 / 4096). Tier classification of delivered media uses the minimum dimension, so portrait and landscape orientations classify identically.

Pricing rule: min(observed, requested)

Every verified generation is priced at the lower of the tier requested and the tier delivered:

  • Overshooting never pays more — ignoring the requested tier is never profitable.
  • Undershooting degrades gracefully — a miner whose model can't reach the requested tier delivers a lower one and earns that tier's price. No failure state, no capability negotiation.
  • Unknown resolution earns baseline — no premium without a verifiable resolution.

Requested and observed tiers are stored on every challenge outcome (requested_resolution on outcomes, resolution + has_audio on media), so per-miner compliance is queryable.

Video pricing

Reward multipliers are sqrt(price / baseline) where baseline is $0.03/s (veo-lite 720p, no audio).

Veo family (C2PA-blind — manifests hide the variant). Priced as the middle variant (veo-3.1-fast) at the delivered (tier, audio) combination. Flooring at lite would have credited every real fast/full generation at lite rates and capped the family at 1.63x; pricing at fast bounds a lite miner's overcredit at ~2x on price (~1.4x on multiplier after the sqrt taper) while Google-certified content earns a fair mid-family rate. Veo cannot produce sub-720p output, so a 480p-tier challenge served by Veo (a real 720p generation) pays the uniform bottom-tier rate rather than the bare baseline.

Seedance (C2PA exposes the variant via params.model_name). Priced from per-tier provider quotes (2026-07, per 5s): seedance-2-0 $0.50 / $2.00 / $2.40 at 480p / 720p / 1080p; seedance-2-0-fast $0.35 / $0.76 at 480p / 720p. The spread is not pixel-proportional, so these are explicit tables; pixel-ratio scaling of the flat 720p reference remains as fallback for named models without a table. A tier absent from a model's table (fast at 1080p) pays the model's top priced tier — no extrapolated premium.

Resulting multipliers:

Generation $/s Multiplier
480p tier (any family) 0.07 1.53x
Veo 720p 0.08 1.63x
Veo 720p + audio 0.10 1.83x
Veo 1080p + audio 0.12 2.00x
Seedance fast 720p 0.152 2.25x
Seedance 2.0 720p 0.40 3.65x
Seedance 2.0 1080p 0.48 4.00x

Veo price tables are parsed live from OpenRouter pricing_skus at module load (hardcoded fallbacks included), so provider price changes self-correct.

Image pricing

Image C2PA manifests rarely expose a usable model variant, so images are priced purely by delivered tier under the same min(observed, requested) rule, with relative prices 1x / 2x / 4x at 1K / 2K / 4K (sqrt taper → 1x / 1.41x / 2x multipliers).

Audio detection

Miner-submitted videos are probed (ffprobe) for an audio track at storage time; audio presence feeds the (tier, audio) price lookup. With/without audio SKUs differ ~1.25–1.7x across the Veo family.

Miner Notes

  • Honor parameters["resolution"] on incoming challenges — delivering the requested tier is always reward-optimal. The reference miner's video path already forwards it to providers and snaps to the nearest supported resolution; no update required for video.
  • Generating above the requested tier costs you provider fees for no extra reward; generating below it is safe but earns the lower tier's price.
  • 4K video is deliberately not a tier in this release: it is never requested, and 4K output classifies (and prices) as 1080p.

Deploy Notes

  • Schema migration (requested_resolution on generator_challenge_outcomes, has_audio on media) auto-applies on validator start.
  • Reward stats now include structured image_generations / video_generations lists; the legacy model-name pricing path remains as fallback for stats predating tiered challenges.