sk_test_ key and every call works as it does in production, except that nothing runs on a GPU and nothing is charged.
What changes in sandbox
- Characters are validated exactly as in production: the face count, the 20-file limit, file types, that the uploads are yours, and the description policy check. Neither environment checks that an upload’s bytes arrived; in production a missing file fails the build later. After about 30 seconds the character turns
readywith a sample.charyou can download. The sample holds a placeholder image and no model, and its manifest marks it as a sandbox file. - Runs (
POST /v1/runs, with theruns:writescope) go through the same character and license checks as production, then render a placeholder about 10 seconds later: a grey PNG for an image workflow, a one-second clip for a video one. The workflow itself is not run. - Builds and credits are never touched.
- Licenses are real and signed with a sandbox key. Their keys start with
lic_test_, and verify always answers"env": "sandbox"and"test": true. - Data never crosses environments. A sandbox key cannot see production characters or licenses, and a live key cannot see sandbox ones.
Testing failures
Putforce_fail anywhere in a character’s description. The build fails after the usual delay, its status becomes failed, and char.failed is sent. For a run, put force_fail in any input value, such as the prompt, and the run fails instead of rendering.
Testing webhooks
Send a sample event of any type to your sandbox endpoints. This needs thewebhooks:write scope:
data carries "test": true. See Webhooks.