Skip to content

Getting started

Sandbox

The Clipia API sandbox — a clipia_test_ key runs the full submit, status, result and webhook cycle without charging credits and returns a ready sample.

The sandbox lets you debug an integration — submitting, polling, parsing results, webhooks and signature checks — without spending credits and without running a real generation. Any key with the clipia_test_ prefix works in this mode: a submit immediately returns a finished job with a fixed sample asset.

How to enable it

  1. Open the Developer Console, go to API keys and click Create key.
  2. Choose the test environment. The key gets the clipia_test_ prefix.
  3. Use it exactly like a live key, in any of the supported headers.

To switch to real generation, replace the key with a clipia_live_ one — no code changes needed. A test key doesn't require a credit purchase.

How the sandbox behaves

  • No credits are charged. The balance doesn't change, even if it is zero.
  • No real generation runs. The job never reaches a model queue.
  • The result is ready immediately. Submit returns status: COMPLETED and queue_position: 0.
  • The output is a fixed sample on media.clipia.ai, one per media type: image, video and audio.
  • cost is calculated but not charged. It's what the same job would cost on a live key.
  • Webhooks are delivered. If you pass a webhook_url, the delivery is signed exactly as in production, so you can test your handler and signature check. Deliveries are limited to one per minute per key: the rest are not created, and a failed delivery stops after three attempts.
  • The record is kept for 24 hours. You can fetch the status and result of a test job for a day.
  • Rate limits and generation submit idempotency apply the same way as on a live key.
  • Ignored parameters are reported the same way. An input key the model will not apply comes back in warnings, as on a live key; in MCP such a call is rejected.
  • LLM chat on a test key returns a canned reply with a cost of 0. Parameter ranges (temperature, top_p, n, tools size, max_tokens) are checked as on a live key; the model and messages aren't, and Idempotency-Key doesn't replay a response.

Example

# CLIPIA_KEY=clipia_test_...
curl -X POST https://api.clipia.ai/v1/models/nano-banana-2 \
  -H "Authorization: Bearer $CLIPIA_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "input": { "prompt": "a sunset over mountains, cinematic" } }'
{
  "request_id": "9c2f7a10-3e44-4b1a-bb9d-77e5c0a1d2e3",
  "status": "COMPLETED",
  "queue_position": 0,
  "status_url":   "https://api.clipia.ai/v1/requests/9c2f7a10-.../status",
  "response_url": "https://api.clipia.ai/v1/requests/9c2f7a10-...",
  "cost": 12
}

Fetch the result the same way as in production:

curl https://api.clipia.ai/v1/requests/9c2f7a10-... \
  -H "Authorization: Bearer $CLIPIA_KEY"
{
  "request_id": "9c2f7a10-...",
  "status": "COMPLETED",
  "model": "nano-banana-2",
  "output": {
    "images": [
      {
        "url": "https://media.clipia.ai/sandbox/v1/sample-image.png",
        "original_url": "https://media.clipia.ai/sandbox/v1/sample-image.png"
      }
    ]
  },
  "cost": 12,
  "created_at": "2026-10-09T12:00:00Z",
  "completed_at": "2026-10-09T12:00:00Z"
}

Sample assets

Model typeoutput
imageimages: [{ url: ".../sandbox/v1/sample-image.png", original_url: ".../sandbox/v1/sample-image.png" }]
videovideo: { url: ".../sandbox/v1/sample-video.mp4" }
audioaudio: { url: ".../sandbox/v1/sample-audio.mp3", format: "mp3" }

How samples differ from live output

Samples are identical for every request of the same type: they test your code, not model quality. The shape of output is almost the same as in production: there are no width, height or duration fields in the sandbox or in live output — read dimensions from the file itself. Sandbox video has no optional thumbnail_url, because there is no preview frame for the sample on the CDN. Sandbox audio has only audio, without the audios array. See Result.