/api/healthzService health
A minimal liveness check. Dependency and deployment details are available only to authenticated operators.
curl https://api.regalabs.dev/api/healthz{ "ok": true }
One key for the speech API, studio endpoints for signed-in apps, and every render C2PA-sealed. Keys are created on the Developers screen in the app.
/api/healthzA minimal liveness check. Dependency and deployment details are available only to authenticated operators.
curl https://api.regalabs.dev/api/healthz{ "ok": true }One header, one key. Keys are created on the Developers screen and spend your account's paid credits — subscription or purchased — from the same balance as the app. Free plan credits cannot be spent through the API.
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | Bearer rega_live_… | yes | The key. A malformed or revoked key is 401 before anything else runs. |
| Idempotency-Key | string ≤ 160 | yes | Required in production on every paid generation. Replaying the same key returns the first response instead of charging twice. |
| Content-Type | application/json | yes | Every machine request carries a JSON body. |
What a key can reach
/v1/audio/speech, /v1/audio/transcriptions, /v1/audio/stream) and POST /api/v1/generate. The other routes on this page are app routes: they authenticate with the signed-in session cookie, not a key./api/v1/generateThird-party image and video generation. Spends your account's paid credits. Requires an administrator to have enabled a provider on the account first; with none configured this returns 400.
| Parameter | Type | Required | Description |
|---|---|---|---|
| kind | image | video | yes | What to make. The provider must support it. |
| providerId | string | yes | A public generation provider. Ask an admin which are enabled for your account. |
| prompt | string | yes | What to generate. |
| durationSeconds | number | no | Video only. Billed by the second at 250 credits a minute — a ten-second clip costs ten seconds, not a minute. |
An image generation is a flat 2 credits per call, regardless of size or provider.
curl -X POST https://api.regalabs.dev/api/v1/generate -H "Authorization: Bearer rega_live_…" -H "Idempotency-Key: $(uuidgen)" -H "Content-Type: application/json" -d '{
"kind": "image",
"providerId": "your-provider",
"prompt": "a rooftop in Hewlêr at dusk"
}'202 means submitted, not finished
No provider configured yet
Errors always carry a machine-readable code and a human message.
{
"SIGN_IN_REQUIRED": "Identity-bound operations need a session.",
"ACCOUNT_BANNED": "Account is no longer active.",
"STUDIO_CLOSED": "The studio is closed for maintenance.",
"VOICE_CLONE_LIMIT_EXCEEDED": "One clone per account — deepfake shield.",
"CREDITS_EXHAUSTED": "Not enough credits for this generation.",
"IDEMPOTENCY_KEY_REQUIRED": "Paid generations need an Idempotency-Key header.",
"IDEMPOTENCY_KEY_REUSED": "That key was used for different content.",
"COUPON_APPLIES_AT_CHECKOUT": "A percent code comes off the price, not the balance.",
"COUPON_ALREADY_REDEEMED": "Code already used on this account."
}Local dev
npm run stack and hit http://127.0.0.1:8787/api/v1/* directly — the gateway proxies the signed inference channel for you.