What TT Image 2.5 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.
Image model for posters, e-commerce product shots and social content. 1K/2K/4K output (up to 3840×2160), transparent backgrounds, multi-image reference and local edits.
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": "tt-image-2.5", "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": "tt-image-2.5",
"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: tt-image-2.5Full docs →
What it costs, roughly
Estimated from the unit price above; you are charged per generation.
| 1 image1 × Rp 111 | Rp 111 |
| A set of product photos (20 images)20 × Rp 111 | Rp 2.220 |
| 100 a day for a month3.000 × Rp 111 | Rp 333.000 |
| A minimum Rp 50.000 top-up coversbilled per image | ≈ 450 images |
Model status
Calls over the last 24 hours.
24h success100%
Fastest response27 s
Lines online13
Related models
One API key calls them all; to switch, just change the model name.
Other OpenAI models
TT Image 2.5 TokenRp 89.971 / Rp 539.897
TT Image 2Rp 161 per image
TT Image 2 TokenRp 90.251 / Rp 541.087
TT-6 LunaRp 2.771 / Rp 13.852
TT-6.1 TerraRp 1.891 / Rp 9.454
TT-6.1 SolRp 3.781 / Rp 18.908
Alternatives at a similar price
Banana 2.1 Per CallRp 367 per image
Banana 2Rp 490 per image
Wan 2.6 ImageRp 490 per image
Banana ProRp 588 per image
FAQ
Q1How is TT Image 2.5 billed?
Rp 111 per image, deducted from your balance. Pay for what you use, no monthly fee.
Q2How do I use TT Image 2.5 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 tt-image-2.5.
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.