GET /v1/meaccount:readauthenticate
Every call carries one secret API key. Create keys in the signed-in app with the scopes and expiry you need; the full secret is shown once and never again. Keep it on your server: never in browser code, an embed, a URL, a query string or source control.
- header
- Authorization: Bearer <secret>. x-api-key: <secret> also works. Send exactly one credential header and no cookies: two credentials, or a key with cookies, return 400, and an invalid key never falls back to a session.
- returns
- email and credits, the total you can spend now. Optional fields: free_allowance { allowance, remaining, next_refill_at }, unlimited, and eligibility when the signed-in app needs a confirmation first.
- credits
- The app and the API share one balance; one credit pays for one render. Free credits refill every seven days from signup and don't carry over. Purchased credits, when available, don't expire. Unlimited accounts aren't charged. Creating a key grants no credits and starts no plan.
curl --fail-with-body https://text2shader.com/v1/me \
-H "Authorization: Bearer $T2S_API_KEY"credits is the balance now. What one render cost is cost_credits on its manifest.
{
"email": "you@example.com",
"credits": 17,
"free_allowance": {
"allowance": 20,
"remaining": 17,
"next_refill_at": "2026-10-03T14:12:04.000Z"
}
}| Status | Code | When |
|---|---|---|
| 400 | invalid_request | two credentials, or a key sent with cookies |
| 401 | unauthorized | missing, invalid, expired or revoked key |
| 403 | forbidden | the key lacks account:read |