Image Generation API
Generate images from text with GPT Image 2 and BetterToken’s OpenAI-compatible API: API Key, Base URL, parameters, Python, JavaScript, errors, and setup.
POST /v1/images/generations
The text-to-image endpoint uses an application/json request body. Submit a prompt, keep the HTTP request open, and read the generated image from data[0].b64_json in the same response.
https://bettertoken.ai/v1 as the Base URL. Pass your BetterToken API Key through Authorization: Bearer YOUR_API_KEY.Choose the right workflow
- Generate an image from text and save the result: stay on this page. Start with the
curlexample, then use Save the image to decodedata[0].b64_json. - Edit an existing image: use Image to image, which sends one or more source files as
multipart/form-data. - Choose a model, review parameters, and estimate budget: check current Model IDs and prices in the model plaza, then use Recommended values below for request parameters. The GPT Image 2 first-request article provides the broader request-and-response context.
Quick start with curl
Usehttps://bettertoken.ai/v1 as the Base URL and send a request to https://bettertoken.ai/v1/images/generations:
Recommended values
Send these fields explicitly in every request:n > 1.
Recommended sizes
size represents the expected aspect ratio and size tier. The actual returned pixels may be mapped or adjusted by the server. Use the decoded image dimensions instead of forcibly cropping the output to the requested value.
Save the image
A successful response follows the OpenAI-compatible image response shape:data[0].b64_json and save it as base64 image content. The response may include extra fields such as revised_prompt; allow these fields in your client.
Always set output_format: "png". Then save the decoded image as .png without inspecting file headers.
JavaScript example (Node.js)
Response flow
This endpoint is synchronous. After sendingPOST /images/generations, keep the current HTTP request open until the server responds. When generation succeeds, the image content is returned in data[0].b64_json.
The endpoint does not return a task_id, and there is no separate status query or result download endpoint.
Timeouts and retries
- Set HTTP client timeouts to several minutes.
- Retry transport errors,
408,409,425,429, and5xx. - Do not retry
400,401, missing parameters, or malformed requests automatically. - Use exponential backoff such as
3s,8s, and15s. - If duplicate images are unacceptable, record your own request ID before retrying.
Error handling
Errors usually return JSON. When showing an error, readerror.message first, then message, then the HTTP status text.
Integration checklist
- The Base URL is
https://bettertoken.ai/v1. - The header contains
Authorization: Bearer YOUR_API_KEY. - The request uses
application/jsonandPOST /images/generations. modelisgpt-image-2,response_formatisb64_json,output_formatispng, andnis1.sizeis one of the recommended values, such as1024x1024.- Your HTTP client allows several minutes for generation.
Related docs
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Use the GPT Image 2 model ID.
gpt-image-2 "gpt-image-2"
A detailed description of the image to generate.
"A futuristic AI product poster on a light background, with glass textures, a clean composition, and a premium technology aesthetic."
Use 1. Send separate requests when you need multiple output images.
1
The requested image size or aspect-ratio tier. The server may map or adjust the final pixel dimensions, so inspect the decoded image for its actual size.
auto, 1024x1024, 1536x1024, 1024x1536, 1536x1152, 1152x1536, 2048x2048, 2048x1152, 3840x2160, 2160x3840 "1024x1024"
Use b64_json.
b64_json "b64_json"
Use png. Do not rely on jpeg or webp being returned directly in the selected format.
png "png"
Response
Image generation result.

