https://api.gizmo.antimlabs.com/v1
Authentication
All endpoints require an API key via theAuthorization header:
Quick Start
1. Verify your key
2. Generate a scene
202 Accepted with a job_id — poll with GET /v1/jobs/{job_id} or stream real-time progress via SSE at GET /v1/jobs/{job_id}/events.
3. Export to a simulator
Endpoint Groups
Scenes
Assets
POST /v1/assets attaches generated assets to a scene. If scene_id is omitted, the API tries to create or use a default scene. If it cannot, it returns 400 no_scene. To generate a standalone environment instead, use POST /v1/scenes.Both
POST /v1/scenes and POST /v1/assets accept an optional asset_pipeline field (auto, gizmo, or cad). auto picks the best pipeline for the prompt; gizmo uses editable parametric primitives; cad uses B-Rep solids via build123d for precision mechanical parts.Jobs
Catalog
Account
Async Generation
Scene and asset generation is asynchronous.POST endpoints return 202 Accepted with a job_id. Use the Jobs endpoints to track progress:
- Polling:
GET /v1/jobs/{id}returns status (queued→running→succeeded|failed|cancelled) - Streaming:
GET /v1/jobs/{id}/eventsprovides real-time Server-Sent Events with stage transitions, asset completions, and errors
SSE Event Types
Rate Limiting
Every response includes rate limit headers:X-RateLimit-Limit— requests allowed per minuteX-RateLimit-Remaining— requests remaining in current windowX-RateLimit-Reset— Unix timestamp when the window resets
Error Format
All errors follow a consistent structure:authentication_required (401), insufficient_credits (402), scene_not_found (404), rate_limit_exceeded (429).