API
- Base URL:
https://sporelabs.dev/v1 - Auth:
Authorization: Bearer $SPORELABS_API_KEY
Chat
curl https://sporelabs.dev/v1/chat/completions \
-H "Authorization: Bearer $SPORELABS_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"model":"auto","messages":[{"role":"user","content":"Say hello."}]}'
Use "auto" (or omit model) to start on Kimi K3, or name any model from
GET /v1/models. A named model is always used for that call.
Transcribe audio
curl https://sporelabs.dev/v1/audio/transcribe \
-H "Authorization: Bearer $SPORELABS_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"audio_url":"https://example.com/call.wav"}'
Poll the returned polling_url until status is completed. The result has
text and word-timed segments. You pay for the audio length we measure.
Funds are held while the job runs and the rest is released after.
| Model | Use for |
|---|---|
large-v3 (default) |
Noisy rooms, accents, crosstalk |
large-v3-turbo |
Clear speech, faster |
Scrub personal data
curl https://sporelabs.dev/v1/scrub \
-H "Authorization: Bearer $SPORELABS_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"text":"Ask Dana Reyes to call +1 415 555 0134","mode":"tag"}'
Returns each personal detail or secret with its type (PERSON, ADDRESS,
PHONE, EMAIL, CREDIT_CARD, PASSWORD, OTP, USERNAME, API keys by
provider...), its offsets, and the scrubbed text. mode is find (default,
findings only), tag ([PERSON]), pseudonym (a consistent stand-in of the
same shape; add your own pseudonym_key, 16 to 256 characters, to keep
stand-ins the same across calls) or mask (*****). Send up to 64 texts as texts, 50,000 characters
per request; types limits which types are returned. The response has one
entry in results per text, with findings, by_type and, outside find, the
rewritten text. $0.50 per 1M characters.
The open weights are at huggingface.co/SporeLabs/scrub.
Errors
| Status | Meaning |
|---|---|
| 400 | Bad request. Read the message. |
| 401 | Bad or missing key. |
| 413 | Request too large. Split it. |
429 insufficient_quota |
Add funds. |
| 429 / 503 | Busy. Retry after Retry-After. |
| 502 / 504 | Upstream failed. Check before retrying side effects. |