Get Started with API
Start making API calls to Get3W in minutes. This guide uses Sync mode, which waits for the task to complete and returns the result directly in a single request.
Step 1: Get Your API Key
- Go to API Keys
- Enter a name and click Generate
- Copy your key and save it securely
WARNING
API keys require a top-up to activate. Keys generated without a top-up will not work.
Step 2: Generate Content
Send a POST request with ?sync=true to get the result directly. Here's an example using Google's Nano Banana Pro text-to-image model:
curl -X POST "https://api.get3w.com/v1/google/nano-banana-pro/text-to-image?sync=true" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A sunset over mountains",
"aspect_ratio": "16:9",
"resolution": "1k",
"output_format": "png",
"channel": "stable"
}'import requests
response = requests.post(
"https://api.get3w.com/v1/google/nano-banana-pro/text-to-image?sync=true",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"prompt": "A sunset over mountains",
"aspect_ratio": "16:9",
"resolution": "1k",
"output_format": "png",
"channel": "stable"
}
)
data = response.json()
print(data["status"]) # "completed"
print(data["outputs"]) # ["https://..."]const apiKey = "YOUR_API_KEY";
const response = await 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 sunset over mountains",
aspect_ratio: "16:9",
resolution: "1k",
output_format: "png",
channel: "stable"
})
}
);
const data = await response.json();
console.log(data.status); // "completed"
console.log(data.outputs); // ["https://..."]The channel parameter specifies the service tier:
| Channel | Description |
|---|---|
economy | Cost-effective, best for bulk tasks |
stable | Balanced speed and reliability |
official | Direct official provider access |
Response:
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"model": "google/nano-banana-pro/text-to-image",
"status": "completed",
"code": 0,
"outputs": [
"https://storage.example.com/output.png"
],
"timings": {
"queue_wait": 427,
"celery_init": 2054,
"api_call": 23068,
"save": 1902,
"run_overhead": 679,
"total": 28131
},
"error": null,
"created_at": "2026-03-28T07:50:42"
}The outputs array contains URLs to your generated content. Download them before they expire (7 days).
TIP
Sync mode is the simplest way to use the API. The request blocks until the task is done, so no polling is needed. For long-running tasks or high-throughput scenarios, consider Async mode or Webhook mode.
Call Modes
Get3W supports three ways to call the API:
| Mode | Description | Guide |
|---|---|---|
| Sync | Waits for completion, returns result directly (this page) | Add ?sync=true query parameter |
| Async | Returns task ID immediately, poll for result | Async Mode Guide |
| Webhook | Returns task ID immediately, sends result to your callback URL | Webhook Mode Guide |
API Reference
| Item | Value |
|---|---|
| Base URL | https://api.get3w.com/v1 |
| Submit Endpoint | POST /v1/{provider_id}/{model_id}/{run_type} |
| Poll Endpoint | GET /v1/requests/{request_id} |
| Auth Header | Authorization: Bearer YOUR_API_KEY |
| Content Type | application/json |
Task Status Values
| Status | Description |
|---|---|
created | Task is queued |
processing | Task is running |
completed | Task finished successfully |
failed | Task failed (check error field) |
Next Steps
- Async Mode — Submit tasks and poll for results
- Webhook Mode — Receive results via callback URL
- API Authentication — Security best practices