What Banana 2.1 Per Call is good at
Image models are billed per image: write a description, get a picture. Good for product photos, posters, social media visuals and illustrations.
Fast Banana-series image model, charged per image. 1K/2K/4K output, up to 14 reference images, many aspect ratios, plus web search. Good for bulk product and social images.
Good for
- Product photos on plain backgrounds
- Posters and social media visuals
- Illustrations and concept art
- Images for articles and web pages
Less suited for
- Long, word-for-word exact text inside the image: check it after generating
- Articles or code: use a chat model
Code sample
Replace sk-... with the API key from your console.
curl https://api.macloudai.com/v1/media/generate \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "banana-2.1", "prompt": "An iced coffee on a wooden table, morning light, product photography", "params": {"n": 1}}'
# → {"data": {"task_id": "mt_…"}}
curl "https://api.macloudai.com/v1/media/status?task_id=mt_…" \
-H "Authorization: Bearer $API_KEY"
import time, requests
BASE = "https://api.macloudai.com/v1"
H = {"Authorization": "Bearer sk-..."}
r = requests.post(f"{BASE}/media/generate", headers=H, json={
"model": "banana-2.1",
"prompt": "An iced coffee on a wooden table, morning light, product photography",
"params": {"n": 1},
}).json()
task = r["data"]["task_id"]
# Poll every 5–10 seconds; when is_final is true the result is in result_url
while True:
s = requests.get(f"{BASE}/media/status", headers=H, params={"task_id": task}).json()["data"]
if s["is_final"]:
print(s["state"], s.get("result_url"), s.get("error"))
break
time.sleep(8)
# An estimate is held when you submit; the final charge follows actual usage, and failed tasks are fully refunded
Model name: banana-2.1Full docs →
What it costs, roughly
Estimated from the unit price above; you are charged per generation.
| 1 image1 × US$0.02 | US$0.02 |
| A set of product photos (20 images)20 × US$0.02 | US$0.41 |
| 100 a day for a month3,000 × US$0.02 | US$60.80 |
| A minimum US$3 top-up coversbilled per image | ≈ 148 images |
Model status
Calls over the last 24 hours.
24h success100%
Fastest response27 s
Lines online16
Related models
One API key calls them all; to switch, just change the model name.
Other Google models
Banana 2.1 TokenUS$0.91 / US$18.23
Banana ProUS$0.03 per image
Banana 2US$0.03 per image
Banana Pro TokenUS$1.80 / US$107.86
Banana 2 TokenUS$0.37 / US$39.79
GEM 3.8 FlashUS$0.06 / US$0.32
Alternatives at a similar price
TT Image 2.5US$0.0061 per image
TT Image 2US$0.008867 per image
Seedream 5.0 ProUS$0.07 per image
GK Image 2.0US$0.09 per image
FAQ
Q1How is Banana 2.1 Per Call billed?
US$0.02 per image, deducted from your balance. Pay for what you use, no monthly fee.
Q2How do I use Banana 2.1 Per Call in Indonesia?
Sign up, top up in Rupiah by QRIS or bank transfer, create an API key, set the base URL to https://api.macloudai.com/v1 and model to banana-2.1.
Q3What if a call fails?
401: the API key is wrong or deleted; copy it again from the console. Insufficient balance: top up and it works right away. 429: too many requests; wait a few seconds. 500, 502, 503: the upstream is briefly unstable; retry, or switch to another model in the same price range.
Q4Do I need a credit card?
No. You pay in Rupiah by QRIS or bank transfer. That is the whole point of this service.