GPT Image 2 Light Edit
curl --request POST \
--url https://api.highwayapi.ai/v3/gpt-image-2-light-edit \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"mask": {
"image_url": "<string>"
},
"size": "<string>",
"images": [
{
"image_url": "<string>"
}
],
"prompt": "<string>",
"background": "<string>",
"moderation": "<string>"
}
'import requests
url = "https://api.highwayapi.ai/v3/gpt-image-2-light-edit"
payload = {
"mask": { "image_url": "<string>" },
"size": "<string>",
"images": [{ "image_url": "<string>" }],
"prompt": "<string>",
"background": "<string>",
"moderation": "<string>"
}
headers = {
"Content-Type": "<content-type>",
"Authorization": "<authorization>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': '<content-type>', Authorization: '<authorization>'},
body: JSON.stringify({
mask: {image_url: '<string>'},
size: '<string>',
images: [{image_url: '<string>'}],
prompt: '<string>',
background: '<string>',
moderation: '<string>'
})
};
fetch('https://api.highwayapi.ai/v3/gpt-image-2-light-edit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.highwayapi.ai/v3/gpt-image-2-light-edit",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'mask' => [
'image_url' => '<string>'
],
'size' => '<string>',
'images' => [
[
'image_url' => '<string>'
]
],
'prompt' => '<string>',
'background' => '<string>',
'moderation' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.highwayapi.ai/v3/gpt-image-2-light-edit"
payload := strings.NewReader("{\n \"mask\": {\n \"image_url\": \"<string>\"\n },\n \"size\": \"<string>\",\n \"images\": [\n {\n \"image_url\": \"<string>\"\n }\n ],\n \"prompt\": \"<string>\",\n \"background\": \"<string>\",\n \"moderation\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "<content-type>")
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.highwayapi.ai/v3/gpt-image-2-light-edit")
.header("Content-Type", "<content-type>")
.header("Authorization", "<authorization>")
.body("{\n \"mask\": {\n \"image_url\": \"<string>\"\n },\n \"size\": \"<string>\",\n \"images\": [\n {\n \"image_url\": \"<string>\"\n }\n ],\n \"prompt\": \"<string>\",\n \"background\": \"<string>\",\n \"moderation\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.highwayapi.ai/v3/gpt-image-2-light-edit")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = '<content-type>'
request["Authorization"] = '<authorization>'
request.body = "{\n \"mask\": {\n \"image_url\": \"<string>\"\n },\n \"size\": \"<string>\",\n \"images\": [\n {\n \"image_url\": \"<string>\"\n }\n ],\n \"prompt\": \"<string>\",\n \"background\": \"<string>\",\n \"moderation\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"images": [
"<string>"
]
}Images
GPT Image 2 Light Edit
POST
/
v3
/
gpt-image-2-light-edit
GPT Image 2 Light Edit
curl --request POST \
--url https://api.highwayapi.ai/v3/gpt-image-2-light-edit \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"mask": {
"image_url": "<string>"
},
"size": "<string>",
"images": [
{
"image_url": "<string>"
}
],
"prompt": "<string>",
"background": "<string>",
"moderation": "<string>"
}
'import requests
url = "https://api.highwayapi.ai/v3/gpt-image-2-light-edit"
payload = {
"mask": { "image_url": "<string>" },
"size": "<string>",
"images": [{ "image_url": "<string>" }],
"prompt": "<string>",
"background": "<string>",
"moderation": "<string>"
}
headers = {
"Content-Type": "<content-type>",
"Authorization": "<authorization>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': '<content-type>', Authorization: '<authorization>'},
body: JSON.stringify({
mask: {image_url: '<string>'},
size: '<string>',
images: [{image_url: '<string>'}],
prompt: '<string>',
background: '<string>',
moderation: '<string>'
})
};
fetch('https://api.highwayapi.ai/v3/gpt-image-2-light-edit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.highwayapi.ai/v3/gpt-image-2-light-edit",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'mask' => [
'image_url' => '<string>'
],
'size' => '<string>',
'images' => [
[
'image_url' => '<string>'
]
],
'prompt' => '<string>',
'background' => '<string>',
'moderation' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.highwayapi.ai/v3/gpt-image-2-light-edit"
payload := strings.NewReader("{\n \"mask\": {\n \"image_url\": \"<string>\"\n },\n \"size\": \"<string>\",\n \"images\": [\n {\n \"image_url\": \"<string>\"\n }\n ],\n \"prompt\": \"<string>\",\n \"background\": \"<string>\",\n \"moderation\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "<content-type>")
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.highwayapi.ai/v3/gpt-image-2-light-edit")
.header("Content-Type", "<content-type>")
.header("Authorization", "<authorization>")
.body("{\n \"mask\": {\n \"image_url\": \"<string>\"\n },\n \"size\": \"<string>\",\n \"images\": [\n {\n \"image_url\": \"<string>\"\n }\n ],\n \"prompt\": \"<string>\",\n \"background\": \"<string>\",\n \"moderation\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.highwayapi.ai/v3/gpt-image-2-light-edit")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = '<content-type>'
request["Authorization"] = '<authorization>'
request.body = "{\n \"mask\": {\n \"image_url\": \"<string>\"\n },\n \"size\": \"<string>\",\n \"images\": [\n {\n \"image_url\": \"<string>\"\n }\n ],\n \"prompt\": \"<string>\",\n \"background\": \"<string>\",\n \"moderation\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"images": [
"<string>"
]
}GPT Image 2 Light image editing API. It accepts image URLs via the
images array, edits the input images according to the prompt, and returns the edited image URLs.
Request Headers
string
required
Enum value:
application/jsonstring
required
Bearer authentication format: Bearer {{API key}}.
Request Body
object
Hide properties
Hide properties
string
Mask image URL or data URL. The mask image must be a PNG and must include an alpha channel, such as RGBA or LA. Transparent areas indicate regions that need to be edited or redrawn, while opaque areas indicate regions that should remain unchanged as much as possible. The mask dimensions usually need to match the input image. file_id is not supported.
string
default:"1024x1024"
Output image resolution.Available values:
1024x1024, 1024x1536, 1536x1024, 1152x2048, 2048x1152, 2048x2048, 2160x3840, 3840x2160object[]
required
List of source images to edit in JSON URL mode. At least one image_url is required. Supports URLs or data URLs.Array length: 1 - 16
Hide properties
Hide properties
string
required
Input image URL or data URL. file_id is not supported.
string
required
Editing instructions describing how you want to modify the input image. If empty, prompt is required will be returned.Length limit: 0 - 32000
string
Output image background handling method.Available values:
auto, opaquestring
Content moderation strictness.Available values:
auto, lowResponse
string[]
Array of edited result image URLs stored and converted by the platform.
⌘I