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
TIP
A new key works immediately. Your account's trial credit (about $0.10) covers a cheap first task — beyond that, top up, since every request is priced against your balance before it runs.
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 anything you want to keep — see Data Retention Policy.
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.
WARNING
Sync mode waits up to 10 minutes. If the task is still running at that point the response returns status: "processing" rather than an error — keep the id and poll GET /v1/requests/{id} to get the eventual result. Also set your HTTP client's timeout high enough to cover the wait; the default in most clients is far shorter. Video and digital-human tasks routinely exceed 10 minutes, so use async or webhook mode for those.
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