Best Performance
Selected as the benchmark performance leader in the supplied Arena snapshot.
OpenAI / Curated model
The performance recommendation for image generation and image editing in the supplied Arena table.
Usage-based pricing
Approximate supplied reference price per image. Output settings and actual billing may vary.
Get API AccessModel capabilities
Modalities
text, image → image
Best fit
Image creation and editing when maximum benchmark performance matters
Where this model sits in the current curated selection.
Selected as the benchmark performance leader in the supplied Arena snapshot.
Selected as the benchmark performance leader in the supplied Arena snapshot.
External benchmark data, with its source and verification status.
| Functionality | Source | Score | Snapshot |
|---|---|---|---|
| Image Generation | Arena | 1383 | Supplied Arena snapshot · date pending |
| Image Editing | Arena | 1462 | Supplied Arena snapshot · date pending |
Arena scores are external benchmark signals. Scores and score gaps are taken from the supplied recommendation table. The external leaderboard source and snapshot date still need confirmation. They do not describe a literal percentage difference in real-world quality.
Read the methodologyImplementation
Copy a model test, replace the API key with your own, and run.
Copy the Python or cURL test for GPT Image 2. Replace the API-key placeholder with your own key and run.
GPT Image 2 · image generation · Creates one image and returns its base64 image data in the response.
import json
from urllib.error import HTTPError
from urllib.request import Request, urlopen
API_KEY = "YOUR_ROTEN_API_KEY"
def send(url, payload=None):
data = json.dumps(payload).encode("utf-8") if payload is not None else None
request = Request(url, data=data, headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"})
try:
with urlopen(request, timeout=180) as response:
return json.load(response)
except HTTPError as error:
raise SystemExit(f"HTTP {error.code}: {error.read().decode('utf-8')}")
payload = json.loads(r'''{
"prompt": "A simple indigo geometric cube on a plain white background.",
"n": 1,
"size": "1024x1024",
"quality": "medium",
"response_format": "b64_json",
"model": "gpt-image-2"
}''')
result = send("https://api.roten.ai/v1/images/generations", payload)
print(json.dumps(result, indent=2, ensure_ascii=False))API_KEY='YOUR_ROTEN_API_KEY'
curl --fail-with-body --silent --show-error 'https://api.roten.ai/v1/images/generations' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
--data '{
"prompt": "A simple indigo geometric cube on a plain white background.",
"n": 1,
"size": "1024x1024",
"quality": "medium",
"response_format": "b64_json",
"model": "gpt-image-2"
}'Python tests use the standard library. Video cURL tests also use Python 3 to read task responses.
A different choice for the capabilities this model supports.
The value recommendation for image generation.
The value recommendation for image editing.
Built for production
Talk to us about volume pricing, model selection and migration.