evaDEVELOPERS

BUILD WITH EVA

Your developer workspace.

One API. Your applications. Usage you can see and control.

API enabled

API REFERENCE

Make your first request.

Create an account and API key, then send a prompt. Your first 1,000 successful requests are free. Every request needs a unique idempotency key; keep the same key when retrying an uncertain network request.

curl "https://evaxapi.com/v1/generate" \
  -H "Authorization: Bearer $EVA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"prompt":"Explain recursion simply.","max_new":128}'

Request & response

POST /developers/v1/generate

FieldAccepted values
promptRequired text · up to 24,000 UTF-8 bytes
max_new1–1,024 output tokens · default 256
temperature0–1.3 · default 0
{
  "id": "request-uuid",
  "object": "generation",
  "model": "eva-model-version",
  "text": "Eva’s response",
  "usage": {
    "input_tokens": null,
    "output_tokens": 42,
    "billable_requests": 0,
    "free_credit_used_cents": 1
  }
}

Input-token counts are unavailable from the current model service. Responses and prompts are not stored in the billing ledger. Text and image creation have separate endpoints. Streaming and tool calls are not exposed by this API. Video creation uses background jobs described below.

Create an image

POST /developers/v1/images/generations (alias: /developers/v1/images/generate)

Use the same bearer token and a new Idempotency-Key. Send a prompt of up to 1,000 characters. Optional fields: seed (0–2,147,483,647, default 901), steps (10–100, default 30), and guidance (1–10, default 7). The model may use its fixed sampling settings.

{
  "prompt": "A red sailboat on a calm blue lake",
  "seed": 901
}

The response contains one PNG in data[0].b64_json, with width, height and seed. Decode the base64 to save the image. Each successful image uses one cent of your shared $10 allowance; text, images, and videos share your free and purchased credit balance.

Image bytes are returned directly and are not stored. Save each response in your application; retries return the original request status without recreating the image.

Create a video

Send POST /developers/v1/videos/generations with your bearer token, a unique Idempotency-Key, and JSON containing prompt (1–1,000 characters) and optional seconds (3, 5, 10, or 15; default 3). A 202 response contains the job ID and status URL. Poll that URL every 15–30 seconds. Jobs can take several minutes; longer clips can take 30–60 minutes.

Completed jobs include a download URL; fetch it with the same bearer token to save the MP4. Clips are silent, 832×480 at 16 fps, and retained by the private video worker for 30 days. POST /developers/v1/videos/ID/cancel to cancel and DELETE /developers/v1/videos/ID to remove a finished clip. One credit is reserved per job and consumed only on success; failed or cancelled jobs release it. Deleting a completed video does not refund credit. Video prompts and files are stored on the worker until deletion or expiry. Call GET /developers/v1/capabilities with your bearer token to check which generation types are enabled before submitting work.

Retries, limits & errors

  • 401: Missing, invalid or revoked API key.
  • 402: Your available credits are exhausted or reserved. Add credits in Billing & payments.
  • 409: The idempotency key already exists. The response includes the original request ID and state; a second generation or charge is prevented.
  • 429: Account rate limit (30 attempts/minute), monthly limit or model capacity. Retry after a short delay.
  • 502/503: Model unavailable, uncertain completion, or API not enabled. Uncertain requests require operator review and are not billed automatically.

Only one generation is admitted at a time in this initial deployment. GoAI and the developer API share the existing model’s own admission limits. Do not use a new idempotency key merely to retry a timeout.

GET /developers/v1/models lists the enabled model and requires the same bearer token.