CI & fixtures · RealVisXL

CI and Fixtures: Keep RealVisXL Out of the Pipeline

CI should be deterministic. Live RealVisXL calls in tests and Storybook make snapshots flaky and bills noisy—especially for photoreal people and lifestyle shots where visual regression is the whole point.

Where image API costs go off the rails

Weekend prototypes become production habits

The RealVisXL call you pasted into a demo stays forever—and keeps billing.

Error handling re-generates

Naïve retries after timeouts double RealVisXL spend without improving UX.

Multi-model routing multiplies keys

Falling back across hosts still bills; it rarely asks whether stock would do.

You need a cheap default path

Epochal-style flat stock is the default; RealVisXL is the exception for unique finals.

Scenario: CI & fixtures with RealVisXL

A PR pipeline regenerates images through RealVisXL for visual tests, email previews, or README builds. Network blips retry jobs; each retry can bill again. Snapshots never stabilize because the model is non-deterministic. Instead, download licensed fixtures once from Epochal, commit or cache them, and assert against fixed bytes. Keep RealVisXL experiments in a manual or nightly job with hard budgets—not on every push. Your teammates get green checks; finance gets a flat image line instead of a surprise inference spike.

The fix: Epochal Stock at $50 USD/month (no per-image fee)

Epochal Stock Developer Image API is a single plan at $50 USD/month: full catalog access, 30 requests/minute per account, and unlimited original downloads with one concurrent transfer. There is no per-image fee and no free tier in v1. Use it wherever the picture does not need a unique RealVisXL synthesis—prototypes, fixtures, placeholders—so generative spend stays reserved for finals. Authenticate server-side with a Bearer key only; never put keys in browser JavaScript.

  • Price: $50 USD/month — single plan
  • Per-image billing: none
  • Rate limit: 30 requests/minute per account
  • Downloads: unlimited originals, one concurrent transfer
  • Best for: tests, prototypes, and placeholders instead of another RealVisXL generation
curl -sS "https://epochalstock.com/api/v1/images?tags=workspace,startup&limit=12" \
  -H "Authorization: Bearer $EPOCHAL_API_KEY"

Keys stay on your server. Never pass ?api_key= or ship secrets to the browser.

Get the Epochal developer API See pricing details

Stock examples for CI & fixtures

Pulled server-side from Epochal tags: server, technology, portrait. Previews are cached; API keys never hit the browser.

Father Holds Child Close in Dark Room With Gentle Light — stock example for CI & fixtures for RealVisXL
Father Holds Child Close in Dark Room With Gentle Light
Energy Consultant With Thermal Imaging Camera in Neon-Lit Setting — stock example for CI & fixtures for RealVisXL
Energy Consultant With Thermal Imaging Camera in Neon-Lit Setting
Child Using Laptop at Home With Packed Bags and Flowers — stock example for CI & fixtures for RealVisXL
Child Using Laptop at Home With Packed Bags and Flowers
Man Interacts With Child in Soft Light With Warm Expressions — stock example for CI & fixtures for RealVisXL
Man Interacts With Child in Soft Light With Warm Expressions
Sustainability Team at Workshop Repairing Electronics With Smiles — stock example for CI & fixtures for RealVisXL
Sustainability Team at Workshop Repairing Electronics With Smiles
Elderly Man Stands by Boats at Sunset With City Lights Behind Him — stock example for CI & fixtures for RealVisXL
Elderly Man Stands by Boats at Sunset With City Lights Behind Him

FAQ

Why is RealVisXL a bad fit for CI?

Generative outputs are non-deterministic and often metered. CI needs stable fixtures; RealVisXL is for intentional creative runs.

How many Epochal downloads can CI use?

Original downloads are unlimited serially with one concurrent transfer per account. Plan parallel jobs so they do not fight the single-transfer limit.

What is the request rate limit?

30 requests/minute per account across all keys. Batch metadata where possible; do not fan out one key per micro-job without backoff.

Can CI still smoke-test RealVisXL?

Yes—gate it behind a manual workflow or quota, not the default PR path. Default fixtures should be stock so RealVisXL spend stays intentional.

RealVisXL version guides