Skip to main content
Kynva is a deterministic design engine. Generative image models give you a different picture every time you ask; Kynva gives you the same one — down to the byte.

The guarantee

Same request + same engine version + same seed → byte-identical output.
Concretely, a request is “the same” when these are unchanged:
InputWhere it lives
Content (headline, subhead, body, CTA, points)intent.content
Brand kit (fonts, colors, logos, policies)intent.brand_kit
Style brief + design preset (version-pinned)intent.style_brief
Export target (platform, format, profile)intent.export_intent
Seedexecution.seed
Run it twice, run it next month, run it in CI — identical bytes. There are no hidden timestamps, no random layout jitter, no model temperature.

What this buys you

  • Snapshot-testable design. Render in CI, byte-compare against the committed PNG, fail the build on unexpected visual change — exactly like golden-file testing, because it is.
  • Cache forever. A rendered asset never goes stale for the same inputs. Signed image URLs are built on this: the same URL never renders twice — and is never billed twice.
  • Reviewable diffs. Change one input, and the only pixel difference is the one you caused.
  • Reproducible incidents. A customer report + their request = your exact repro, months later.

Version pinning

Determinism holds per engine version. Engine upgrades may improve layout, typography, or color decisions — which changes bytes. Two controls:
  1. Pin design presets with the slug@version syntax ("design_preset": { "preset_id": "promo-bold@3" }) so preset edits never surprise you.
  2. Pin the API version with the X-API-Version header (see API versioning). Breaking engine-output changes ship behind new versions.

Honest exclusions

  • External images you reference by URL — if the content behind your URL changes, the render changes. Upload assets to Kynva for full determinism.
  • Font catalog updates — a font file replaced upstream can shift metrics. Brand-kit fonts you upload are immutable.
  • Engine major versions — as above; pin to control when you absorb them.

Determinism ≠ idempotency

They’re related but distinct: idempotency means a retried request isn’t processed twice (billing safety); determinism means a repeated request produces identical output (rendering guarantee). Kynva gives you both — the idempotency key protects your wallet, the seed protects your pixels.