API Authentication
All Get3W API requests require authentication using an API key.
How It Works
Include your API key in the Authorization header as a Bearer token:
Authorization: Bearer sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAPI keys use the sk_ prefix. Every request to /v1/ endpoints must include this header.
Get Your API Key
- Go to API Keys
- Enter a name and click Generate
- Copy and store it securely — the full key is only shown once
WARNING
API keys require a top-up to activate. Keys generated before your first top-up will not work.
Code Examples
curl -X POST "https://api.get3w.com/v1/google/nano-banana-pro/text-to-image?sync=true" \
-H "Authorization: Bearer $GET3W_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": "A cat in space", "channel": "stable"}'import os
import requests
api_key = os.environ.get("GET3W_API_KEY")
response = requests.post(
"https://api.get3w.com/v1/google/nano-banana-pro/text-to-image?sync=true",
headers={
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
},
json={"prompt": "A cat in space", "channel": "stable"}
)const apiKey = process.env.GET3W_API_KEY;
fetch("https://api.get3w.com/v1/google/nano-banana-pro/text-to-image?sync=true", {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json"
},
body: JSON.stringify({ prompt: "A cat in space", channel: "stable" })
})
.then(res => res.json())
.then(data => console.log(data));Managing API Keys
Manage your keys at get3w.com/api-keys:
- Create — Generate new keys for different projects (up to 10 active keys per account)
- Delete — Remove keys that are no longer needed
Deleted keys stop working immediately.
Security Best Practices
| Practice | Why |
|---|---|
| Use environment variables | Never hardcode API keys in your source code |
| Keep keys secret | Don't commit keys to Git or share them publicly |
| Server-side only | Never expose keys in frontend/browser code |
| Use separate keys | Create different keys for different projects |
Setting Environment Variables
export GET3W_API_KEY="sk_your-api-key"$env:GET3W_API_KEY="sk_your-api-key"set GET3W_API_KEY=sk_your-api-keyAccount Tiers and Limits
Your account tier determines the maximum number of concurrent tasks you can run. Tier is calculated automatically based on your total recharged or consumed amount:
| Tier | Threshold | Max Concurrent Tasks |
|---|---|---|
| Bronze | Default | 3 |
| Silver | $10+ | 100 |
| Gold | $100+ | 2,000 |
| Platinum | $1,000+ | Unlimited |
Submitting a task when you've reached your concurrent limit returns 429 Too Many Requests.
Error Codes
All errors return {"code": <http_status>, "error": "<message>"}. See Error Codes for the full reference.
| Code | Error | Cause |
|---|---|---|
401 | Missing Authorization header | No Authorization header in the request |
401 | Invalid Authorization format | Header is not in Bearer <api_key> format |
401 | Invalid or revoked API key | Key does not exist or has been deleted |
403 | Insufficient balance | Account balance is zero — top up to continue |
429 | Rate limit exceeded | Too many concurrent tasks for your tier — wait or upgrade |
Common Issues
API key not working?
- Make sure you've made at least one top-up (required to activate API access)
- Verify the key starts with
sk_ - Ensure the header format is exactly
Authorization: Bearer sk_... - Check for extra spaces when copying the key
- Confirm the key hasn't been deleted at get3w.com/api-keys
Hitting concurrent limits?
Your tier determines how many tasks can run at the same time. Add more credits to automatically upgrade your tier, or wait for existing tasks to complete before submitting new ones.
Next Steps
- Get Started with API — Make your first API call
- Async Mode — Submit tasks and poll for results
- Webhook Mode — Receive results via callback