# openai/gpt-image-2.5-sunburst/edit > GPT Image 2.5 Sunburst enables instruction-driven image editing with one to sixteen reference images, optional masks, subject fidelity controls, and precise multilingual text rendering. ## Overview - **Endpoint**: `https://api.shortapi.ai/api/v1/job/create` - **Model ID**: `openai/gpt-image-2.5-sunburst/edit` - **Category**: image-to-image - **Kind**: inference ## Pricing Pricing is based on output quality and resolution. The final cost equals the per-image price multiplied by the number of generated images (n). Low: 1K $0.0066, 2K $0.013, 4K $0.012 Medium: 1K $0.015, 2K $0.030, 4K $0.029 High: 1K $0.059, 2K $0.120, 4K $0.112 XHigh: 1K $0.105, 2K $0.213, 4K $0.199 Max: 1K $0.236, 2K $0.479, 4K $0.448 For more details, please check our pricing page. ## API Information This model can be used via our HTTP API or more conveniently via our client libraries. See the input and output schema below, as well as the usage examples. ### Input Schema The API accepts the following input parameters: - **`prompt`** (`string`, _required_): Text prompt, up to 32,000 characters. - Examples: "An action shot of a black lab swimming..." - **`images`** (`list`, _required_): One to sixteen source or reference image URLs. - **`input_fidelity`** (`string`, _optional_): How closely the output preserves the input images. - Default: `high` - Options: "high", "low" - **`mask_url`** (`string`, _optional_): Optional mask image URL indicating the editable region. - **`background`** (`string`, _optional_): Background rendering mode. - Default: `auto` - Options: "auto", "opaque", "transparent" - **`n`** (`int`, _optional_): Number of images to generate. - Default: `1` - Range: `1` to `10` - **`output_compression`** (`int`, _optional_): Compression level for JPEG or WebP output. - Default: `100` - Range: `0` to `100` - **`output_format`** (`string`, _optional_): Generated image format. - Default: `png` - Options: "png", "jpeg", "webp" - **`quality`** (`string`, _optional_): Image generation quality. - Default: `low` - Options: "low", "medium", "high", "xhigh", "max" - **`size`** (`string`, _optional_): Output image size. 1K, 2K, and 4K sizes are supported. - Default: `1024x1024` - Options: "1024x1024", "1024x768", "768x1024", "1920x1088", "1088x1920", "1536x1024", "1024x1536", "1920x816", "816x1920", "2048x2048", "2736x2048", "2048x2736", "2560x1440", "1440x2560", "3072x2048", "2048x3072", "2560x1104", "1104x2560", "2880x2880", "3312x2480", "2480x3312", "3840x2160", "2160x3840", "3520x2352", "2352x3520", "3840x1648", "1648x3840" ### Output Schema The API returns a JSON response with a `job_id` for tracking the request status. **Create Job Response:** ```json { "code": 0, "data": { "amount": "0.02", "job_id": "" } } ``` **Query Job Result (when status is 2, meaning succeeded):** ```json { "code": 0, "data": { "status": 2, "result": { "images": [{ "url": "https://..." }] } } } ``` ## Use Example To use this model, make an HTTP POST request to the API endpoint, then poll for results using the returned `job_id`. ### Bash (cURL) ```bash # Step 1: Create a job response=$(curl --request POST \ --url https://api.shortapi.ai/api/v1/job/create \ --header "Authorization: Bearer $SHORTAPI_KEY" \ --header "Content-Type: application/json" \ --data '{ "model": "openai/gpt-image-2.5-sunburst/edit", "args": { "prompt": "Replace the woman in the photo with a man.", "images": ["https://shortapi-01.oss-cn-beijing.aliyuncs.com/assets/examples/openai/gpt-image-2.5/edit-images-1.png"] }, "callback_url": "CALLBACK_URL" }') JOB_ID=$(echo "$response" | grep -o '"job_id": *"[^"]*"' | sed 's/"job_id": *//; s/"//g') # Step 2: Poll for results curl --request GET \ --url "https://api.shortapi.ai/api/v1/job/query?id=$JOB_ID" \ --header "Authorization: Bearer $SHORTAPI_KEY" ``` ### JavaScript (Fetch API) ```javascript // Step 1: Create a job const response = await fetch(`https://api.shortapi.ai/api/v1/job/create`, { method: "POST", headers: { "Authorization": `Bearer ${SHORTAPI_KEY}`, "Content-Type": "application/json" }, body: JSON.stringify({ "model": "openai/gpt-image-2.5-sunburst/edit", "args": { "prompt": "Replace the woman in the photo with a man.", "images": ["https://shortapi-01.oss-cn-beijing.aliyuncs.com/assets/examples/openai/gpt-image-2.5/edit-images-1.png"] }, "callback_url": "CALLBACK_URL" }) }); const data = await response.json(); const JOB_ID = data.job_id; // Step 2: Poll for results const result = await fetch(`https://api.shortapi.ai/api/v1/job/query?id=${JOB_ID}`, { method: "GET", headers: { "Authorization": `Bearer ${SHORTAPI_KEY}` } }); const resultData = await result.json(); console.log(resultData); ``` ### Python (Requests) ```python import requests # Step 1: Create a job url = "https://api.shortapi.ai/api/v1/job/create" payload = { "model": "openai/gpt-image-2.5-sunburst/edit", "args": { "prompt": "Replace the woman in the photo with a man.", "images": ["https://shortapi-01.oss-cn-beijing.aliyuncs.com/assets/examples/openai/gpt-image-2.5/edit-images-1.png"] }, "callback_url": "CALLBACK_URL" } headers = { "Authorization": f"Bearer {SHORTAPI_KEY}", "Content-Type": "application/json" } response = requests.post(url, headers=headers, json=payload) data = response.json() JOB_ID = data.get("job_id") # Step 2: Poll for results result_url = f"https://api.shortapi.ai/api/v1/job/query?id={JOB_ID}" result = requests.get(result_url, headers={"Authorization": f"Bearer {SHORTAPI_KEY}"}) print(result.json()) ```