Quickstart
Create a key, check credits, and poll your first process.
1. Create a team API key
Open Account → Developer, create a key, and save the secret immediately — Yapper only shows the full secret once.
Use the key as a bearer token:
export YAPPER_API_KEY="yap_live_..."2. Check credits
API requests spend the same workspace credits as the team.
curl https://yapper.so/api/v1/credits \
-H "Authorization: Bearer $YAPPER_API_KEY"{
"totalCredits": 5000,
"usedCredits": 1240,
"availableCredits": 3760
}3. List models
curl https://yapper.so/api/v1/models \
-H "Authorization: Bearer $YAPPER_API_KEY"4. List and poll processes
Generations started in the Yapper app show up here too — the API and app share one team workspace.
curl "https://yapper.so/api/v1/processes?status=completed&limit=5" \
-H "Authorization: Bearer $YAPPER_API_KEY"Poll one process:
curl https://yapper.so/api/v1/processes/PROCESS_ID \
-H "Authorization: Bearer $YAPPER_API_KEY"Public statuses: queued, processing, completed, failed.
Completed response:
{
"id": "proc_abc123",
"type": "image-generation",
"status": "completed",
"model": "gpt-image-2",
"creditsUsed": 12,
"outputs": [
{
"type": "image",
"assetId": "asset_img_123",
"url": "https://...",
"width": 1024,
"height": 1024,
"duration": null,
"mimeType": "image/png"
}
],
"links": { "self": "/api/v1/processes/proc_abc123" }
}5. Start a process
POST /api/v1/processes starts a generation and spends team credits. Send an
Idempotency-Key header for retry-safe creation:
curl -X POST https://yapper.so/api/v1/processes \
-H "Authorization: Bearer $YAPPER_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: job_123" \
-d '{
"type": "image-generation",
"model": "gpt-image-2",
"input": {
"prompt": "A polished product photo of a stainless steel water bottle",
"aspectRatio": "1:1",
"resolution": "1080"
}
}'