GPT-Image-2
curl --request POST \
--url https://api.gravitex.ai/v1/images/generations \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"model": "<string>",
"prompt": "<string>",
"image": [
"<string>"
],
"n": 123,
"size": "<string>",
"quality": "<string>",
"background": "<string>",
"output_format": "<string>",
"output_compression": 123,
"moderation": "<string>",
"user": "<string>"
}
'import requests
url = "https://api.gravitex.ai/v1/images/generations"
payload = {
"model": "<string>",
"prompt": "<string>",
"image": ["<string>"],
"n": 123,
"size": "<string>",
"quality": "<string>",
"background": "<string>",
"output_format": "<string>",
"output_compression": 123,
"moderation": "<string>",
"user": "<string>"
}
headers = {
"Authorization": "<authorization>",
"Content-Type": "<content-type>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': '<content-type>'},
body: JSON.stringify({
model: '<string>',
prompt: '<string>',
image: ['<string>'],
n: 123,
size: '<string>',
quality: '<string>',
background: '<string>',
output_format: '<string>',
output_compression: 123,
moderation: '<string>',
user: '<string>'
})
};
fetch('https://api.gravitex.ai/v1/images/generations', 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.gravitex.ai/v1/images/generations",
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([
'model' => '<string>',
'prompt' => '<string>',
'image' => [
'<string>'
],
'n' => 123,
'size' => '<string>',
'quality' => '<string>',
'background' => '<string>',
'output_format' => '<string>',
'output_compression' => 123,
'moderation' => '<string>',
'user' => '<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.gravitex.ai/v1/images/generations"
payload := strings.NewReader("{\n \"model\": \"<string>\",\n \"prompt\": \"<string>\",\n \"image\": [\n \"<string>\"\n ],\n \"n\": 123,\n \"size\": \"<string>\",\n \"quality\": \"<string>\",\n \"background\": \"<string>\",\n \"output_format\": \"<string>\",\n \"output_compression\": 123,\n \"moderation\": \"<string>\",\n \"user\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("Content-Type", "<content-type>")
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.gravitex.ai/v1/images/generations")
.header("Authorization", "<authorization>")
.header("Content-Type", "<content-type>")
.body("{\n \"model\": \"<string>\",\n \"prompt\": \"<string>\",\n \"image\": [\n \"<string>\"\n ],\n \"n\": 123,\n \"size\": \"<string>\",\n \"quality\": \"<string>\",\n \"background\": \"<string>\",\n \"output_format\": \"<string>\",\n \"output_compression\": 123,\n \"moderation\": \"<string>\",\n \"user\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gravitex.ai/v1/images/generations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = '<content-type>'
request.body = "{\n \"model\": \"<string>\",\n \"prompt\": \"<string>\",\n \"image\": [\n \"<string>\"\n ],\n \"n\": 123,\n \"size\": \"<string>\",\n \"quality\": \"<string>\",\n \"background\": \"<string>\",\n \"output_format\": \"<string>\",\n \"output_compression\": 123,\n \"moderation\": \"<string>\",\n \"user\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body이미지 시리즈
GPT-Image-2
OpenAI GPT-Image-2: generations는 텍스트-이미지, edits는 이미지-이미지 중심
POST
/
v1
/
images
/
generations
GPT-Image-2
curl --request POST \
--url https://api.gravitex.ai/v1/images/generations \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"model": "<string>",
"prompt": "<string>",
"image": [
"<string>"
],
"n": 123,
"size": "<string>",
"quality": "<string>",
"background": "<string>",
"output_format": "<string>",
"output_compression": 123,
"moderation": "<string>",
"user": "<string>"
}
'import requests
url = "https://api.gravitex.ai/v1/images/generations"
payload = {
"model": "<string>",
"prompt": "<string>",
"image": ["<string>"],
"n": 123,
"size": "<string>",
"quality": "<string>",
"background": "<string>",
"output_format": "<string>",
"output_compression": 123,
"moderation": "<string>",
"user": "<string>"
}
headers = {
"Authorization": "<authorization>",
"Content-Type": "<content-type>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': '<content-type>'},
body: JSON.stringify({
model: '<string>',
prompt: '<string>',
image: ['<string>'],
n: 123,
size: '<string>',
quality: '<string>',
background: '<string>',
output_format: '<string>',
output_compression: 123,
moderation: '<string>',
user: '<string>'
})
};
fetch('https://api.gravitex.ai/v1/images/generations', 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.gravitex.ai/v1/images/generations",
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([
'model' => '<string>',
'prompt' => '<string>',
'image' => [
'<string>'
],
'n' => 123,
'size' => '<string>',
'quality' => '<string>',
'background' => '<string>',
'output_format' => '<string>',
'output_compression' => 123,
'moderation' => '<string>',
'user' => '<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.gravitex.ai/v1/images/generations"
payload := strings.NewReader("{\n \"model\": \"<string>\",\n \"prompt\": \"<string>\",\n \"image\": [\n \"<string>\"\n ],\n \"n\": 123,\n \"size\": \"<string>\",\n \"quality\": \"<string>\",\n \"background\": \"<string>\",\n \"output_format\": \"<string>\",\n \"output_compression\": 123,\n \"moderation\": \"<string>\",\n \"user\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("Content-Type", "<content-type>")
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.gravitex.ai/v1/images/generations")
.header("Authorization", "<authorization>")
.header("Content-Type", "<content-type>")
.body("{\n \"model\": \"<string>\",\n \"prompt\": \"<string>\",\n \"image\": [\n \"<string>\"\n ],\n \"n\": 123,\n \"size\": \"<string>\",\n \"quality\": \"<string>\",\n \"background\": \"<string>\",\n \"output_format\": \"<string>\",\n \"output_compression\": 123,\n \"moderation\": \"<string>\",\n \"user\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gravitex.ai/v1/images/generations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = '<content-type>'
request.body = "{\n \"model\": \"<string>\",\n \"prompt\": \"<string>\",\n \"image\": [\n \"<string>\"\n ],\n \"n\": 123,\n \"size\": \"<string>\",\n \"quality\": \"<string>\",\n \"background\": \"<string>\",\n \"output_format\": \"<string>\",\n \"output_compression\": 123,\n \"moderation\": \"<string>\",\n \"user\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body소개
GPT-Image-2는 실세계 지능, 다국어 이해, 4K 해상도 지원, 스마트 라우팅 계층을 제공하며 두 개의 엔드포인트로 구성됩니다:| 엔드포인트 | 중심 기능 | 설명 |
|---|---|---|
POST /v1/images/generations | 텍스트-이미지 | 텍스트 prompt만으로 이미지를 생성하는 T2I 권장 엔드포인트 |
POST /v1/images/edits | 이미지-이미지 | 원본 이미지 부분 리터치, 다중 참조 이미지 합성 등 정밀 편집. JSON 및 multipart/form-data 지원 |
b64_json)와 usage 토큰 통계를 반환합니다.
기능 비교
| 기능 | OpenAI 공식 API | Gravitex AI(generations 엔드포인트) |
|---|---|---|
| 텍스트-이미지(text-to-image) | ✅ 지원 | ✅ 지원 |
| 이미지-이미지(image-to-image) | ❌ edits 엔드포인트만 지원 | ✅ 추가 지원 |
| 텍스트 + 이미지 혼합 입력 | ❌ | ✅ 지원 |
OpenAI 공식 정의에서
gpt-image-2의 /v1/images/generations는 텍스트 prompt만 받는 순수 텍스트-이미지 엔드포인트이며, 이미지를 전달한 이미지-이미지는 지원하지 않습니다. 공식 I2I 기능은 /v1/images/edits에서만 제공됩니다. 저희는 /v1/images/generations에 이미지-이미지(image-to-image) 기능을 추가로 확장했습니다. 텍스트 prompt와 이미지를 함께 전달하면 모델이 입력 이미지를 기반으로 재창작, 스타일 전환, 참조 생성, 부분 리터치를 수행합니다.인증
string
필수
Bearer Token, 예:
Bearer sk-xxxxxxxxxxstring
필수
JSON 요청은
application/json, 파일 업로드는 multipart/form-data지원 모델
| Model ID | 설명 |
|---|---|
gpt-image-2 | OpenAI GPT-Image-2, 4K 포함 다양한 크기 지원. 두 엔드포인트 공통 |
매개변수
두 엔드포인트의 매개변수 집합은 완전히 동일합니다.string
필수
고정값
gpt-image-2string
필수
이미지 설명(텍스트-이미지) 또는 편집 지시(이미지-이미지)
string | string[]
이미지-이미지용 입력 이미지. 단일 이미지는 문자열, 다중 이미지는 배열. URL 또는 base64 data URI 지원. 텍스트-이미지에서는 전달하지 않습니다
integer
기본값:"1"
생성 이미지 수, 범위
1-10string
기본값:"1024x1024"
이미지 크기, 아래 size 값 참고
string
기본값:"high"
이미지 품질:
low, medium, high, autostring
기본값:"auto"
배경 투명도:
auto, opaque. transparent 전달 시 오류가 발생합니다string
기본값:"png"
반환 이미지 형식:
png, jpegnumber
기본값:"100"
압축률
0–100, jpeg에서만 적용string
기본값:"auto"
콘텐츠 검수 강도:
auto, low(더 완화)string
최종 사용자 식별자, 남용 탐지에 사용
size 값
| 값 | 설명 |
|---|---|
1024x1024 | 정사각형(기본값) |
1024x1536 | 세로형 |
1536x1024 | 가로형 |
2880x2880 | 4K 정사각형 |
2048x3072 | 4K 세로형 |
3072x2048 | 4K 가로형 |
사용자 지정 WxH | 각 변은 16의 배수, 총 픽셀 655,360 ~ 8,294,400 |
quality 값
| 값 | 설명 |
|---|---|
low | 저품질, 생성 속도 빠름 |
medium | 중간 품질 |
high | 고품질(기본값) |
auto | 최적 품질 자동 선택 |
텍스트-이미지: POST /v1/images/generations
텍스트 설명으로 이미지를 생성합니다. model과 prompt만 전달하면 지정한 크기·품질로 이미지가 반환되며, 텍스트만으로 진행하는 창작 및 소재 제작에 적합합니다.
요청 예제
- 기본
- 전체 매개변수
curl -X POST "https://api.gravitex.ai/v1/images/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "A white cat running under the stars, cyberpunk style",
"size": "1024x1536",
"quality": "high",
"n": 1
}'
curl -X POST "https://api.gravitex.ai/v1/images/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "A beautiful medieval European princess with long golden hair, wearing an ornate white lace gown and a crystal crown, standing on the balcony of an ancient castle in the sunlight.",
"n": 1,
"size": "2048x1152",
"quality": "medium",
"background": "opaque",
"output_format": "jpeg",
"output_compression": 95,
"moderation": "low",
"user": "biz_test_001"
}'
응답 예제
{
"created": 1786436787,
"background": "opaque",
"data": [
{
"b64_json": "iVBORw0KGgoAAAANSUh..."
}
],
"output_format": "png",
"quality": "medium",
"size": "2048x1152",
"usage": {
"input_tokens": 65,
"input_tokens_details": {
"image_tokens": 0,
"text_tokens": 65
},
"output_tokens": 1413,
"output_tokens_details": {
"image_tokens": 1413,
"text_tokens": 0
},
"total_tokens": 1478
}
}
이 엔드포인트는 이미지-이미지도 지원합니다. 텍스트-이미지 요청에
image 필드(URL 또는 base64 data URI, 단일 이미지는 문자열·다중 이미지는 배열)를 추가하면 엔드포인트 변경 없이 자동으로 이미지 편집 처리로 라우팅되어, 하나의 엔드포인트로 간단하게 사용할 수 있습니다.입력 이미지 수에 고정된 상한은 없으며 업스트림 총 토큰 한도의 제약을 받습니다. 이미지 한 장의 최대 크기는 50MB입니다.- 단일 이미지
- 다중 이미지 합성
- base64 입력
curl -X POST "https://api.gravitex.ai/v1/images/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "Add some tulips to this picture",
"image": "https://example.com/input.png",
"n": 1,
"size": "2048x1152",
"quality": "medium",
"background": "opaque",
"output_format": "jpeg",
"output_compression": 95,
"moderation": "low",
"user": "biz_test_001"
}'
curl -X POST "https://api.gravitex.ai/v1/images/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "Blend the style of the two images",
"image": [
"https://example.com/input1.jpeg",
"https://example.com/input2.jpeg"
],
"n": 1,
"size": "2048x1152",
"quality": "medium",
"output_format": "jpeg",
"output_compression": 95,
"user": "biz_test_001"
}'
curl -X POST "https://api.gravitex.ai/v1/images/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "Summer countryside scenery, clear blue sky with fluffy clouds, a winding clear stream, lush grass on both banks, 8K ultra HD",
"image": "data:image/png;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2...",
"n": 1,
"size": "2048x1152",
"quality": "medium",
"output_format": "jpeg",
"output_compression": 95,
"user": "biz_test_001"
}'
usage.input_tokens_details.image_tokens가 0보다 큽니다:
{
"created": 1786438823,
"background": "opaque",
"data": [
{
"b64_json": "iVBORw0KGgoAAAANSU..."
}
],
"output_format": "jpeg",
"quality": "medium",
"size": "2048x1152",
"usage": {
"input_tokens": 1048,
"input_tokens_details": {
"image_tokens": 1024,
"text_tokens": 24
},
"output_tokens": 1413,
"output_tokens_details": {
"image_tokens": 1413,
"text_tokens": 0
},
"total_tokens": 2461
}
}
{
"created": 1786439615,
"background": "opaque",
"data": [
{
"b64_json": "iVBORw0KGgoAAAANSUhEUgAACAAAAASACAIA..."
}
],
"output_format": "jpeg",
"quality": "medium",
"size": "2048x1152",
"usage": {
"input_tokens": 2064,
"input_tokens_details": {
"image_tokens": 2048,
"text_tokens": 16
},
"output_tokens": 1413,
"output_tokens_details": {
"image_tokens": 1413,
"text_tokens": 0
},
"total_tokens": 3477
}
}
이미지-이미지: POST /v1/images/edits
표준 OpenAI 이미지 편집 엔드포인트로, 참조 이미지를 기반으로 재창작, 스타일 전환, 부분 리터치, 다중 이미지 합성을 수행합니다. JSON과 multipart/form-data 두 가지 형식을 지원합니다.
방식 1: multipart/form-data
로컬 이미지 파일을 직접 업로드할 때 사용합니다.이미지 필드는
image[]를 사용합니다(이미지가 한 장이어도 image[] 사용 가능).- 단일 이미지
- 다중 이미지
curl -X POST "https://api.gravitex.ai/v1/images/edits" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-F "model=gpt-image-2" \
-F "prompt=Three-view reference sheet of a commercial fashion model, pure white background" \
-F "image[]=@your-local-file.png" \
-F "n=1" \
-F "size=2048x1152" \
-F "quality=medium" \
-F "background=opaque" \
-F "output_format=png" \
-F "output_compression=100" \
-F "moderation=low" \
-F "user=biz_test_001"
curl -X POST "https://api.gravitex.ai/v1/images/edits" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-F "model=gpt-image-2" \
-F "prompt=Three-view reference sheet of a commercial fashion model, pure white background" \
-F "image[]=@your-local-file-1.png" \
-F "image[]=@your-local-file-2.png" \
-F "n=1" \
-F "size=2048x1152" \
-F "quality=medium" \
-F "background=opaque" \
-F "output_format=png" \
-F "output_compression=100" \
-F "moderation=low" \
-F "user=biz_test_001"
방식 2: JSON
이미지 URL 또는 base64 인코딩 이미지를 전달할 때 사용하며, 매개변수는 generations 엔드포인트의 이미지-이미지와 완전히 동일합니다.- 단일 이미지
- 다중 이미지
- base64 입력
curl -X POST "https://api.gravitex.ai/v1/images/edits" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "Add some tulips to this picture",
"image": "https://example.com/input.png",
"n": 1,
"size": "2048x1152",
"quality": "medium",
"background": "opaque",
"output_format": "jpeg",
"output_compression": 95,
"moderation": "low",
"user": "biz_test_001"
}'
curl -X POST "https://api.gravitex.ai/v1/images/edits" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "Blend the style of the two images",
"image": [
"https://example.com/input1.png",
"https://example.com/input2.jpeg"
],
"n": 2,
"size": "2048x1152",
"quality": "medium",
"background": "opaque",
"output_format": "jpeg",
"output_compression": 95,
"moderation": "low",
"user": "biz_test_001"
}'
curl -X POST "https://api.gravitex.ai/v1/images/edits" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "Change background to beach sunset",
"image": "data:image/png;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2...",
"n": 1,
"size": "1024x1024",
"quality": "high"
}'
이 엔드포인트는 텍스트-이미지도 지원합니다.
image 필드를 생략하고 model과 prompt만 전달하면 순수 텍스트 생성으로 처리되며, /v1/images/generations의 텍스트-이미지와 동일한 결과를 반환합니다. 이미 edits를 연동한 애플리케이션은 단일 엔드포인트만 사용할 수 있습니다.curl -X POST "https://api.gravitex.ai/v1/images/edits" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "A white cat running under the stars, cyberpunk style",
"size": "1024x1536",
"quality": "high",
"n": 1
}'
응답 필드 설명
두 엔드포인트의 반환 형식은 동일합니다:| 필드 | 타입 | 설명 |
|---|---|---|
created | integer | 생성 타임스탬프 |
background | string | 배경 타입(opaque 불투명 / auto 자동) |
data | array | 생성된 이미지 배열 |
data[].b64_json | string | base64 인코딩 이미지 데이터 |
output_format | string | 출력 이미지 형식(png / jpeg) |
quality | string | 실제 적용된 이미지 품질 |
size | string | 실제 적용된 이미지 크기 |
usage | object | 토큰 사용량 통계 |
usage 필드 설명
| 필드 | 설명 |
|---|---|
input_tokens | 입력 토큰 총수(텍스트 + 이미지) |
output_tokens | 출력 토큰 총수(이미지 출력) |
total_tokens | 총 토큰 수 |
input_tokens_details.text_tokens | 텍스트 입력 토큰 수 |
input_tokens_details.image_tokens | 이미지 입력 토큰 수(T2I는 0, I2I는 0보다 큼) |
- GPT-Image-2는 항상 base64 인코딩 이미지 데이터(
b64_json)를 반환하며response_format=url을 지원하지 않습니다. output_tokens는 모두 이미지 출력 토큰이며, 이 모델은 텍스트를 출력하지 않습니다.- 과금은 토큰 단위로 구분되며 텍스트 입력, 이미지 입력, 이미지 출력에 각각 별도 단가가 적용됩니다.
가격
모든 가격은 업스트림이 반환한 usage 토큰 기준, 1M 토큰당 미국 달러 가격입니다.| 유형 | 가격($/1M tokens) |
|---|---|
| Text Input Tokens | $5.00 |
| Image Input Tokens | $8.00 |
| Cached Text Input Tokens | $1.25 |
| Cached Image Input Tokens | $2.00 |
| Image Output Tokens | $30.00 |
주의 사항
- 이미지 생성은 크기와 품질 설정에 따라 보통 10~30초가 소요됩니다
- 이미지 데이터는 항상 base64 인코딩으로 반환됩니다
- 지원 입력 이미지 형식: PNG, JPEG, WebP; 출력 이미지 형식: PNG, JPEG
- 4K 해상도는 생성 시간이 더 길므로 표준 크기 사용을 권장합니다
quality를low로 설정하면 생성 속도가 크게 빨라집니다gpt-image-2는 항상 고충실도로 입력 이미지를 처리하므로input_fidelity매개변수는 필요하지 않으며 지원되지도 않습니다- 업로드 이미지 한 장의 최대 크기는 50MB입니다
- 출력 이미지 수
n의 범위는 1~10입니다 - 입력 이미지 수에 고정된 상한은 없으며 업스트림 총 토큰 한도의 제약을 받습니다
- 이 모델은 텍스트를 출력하지 않으며
output_tokens는 모두 이미지 출력 토큰입니다 background는auto(기본값)와opaque만 지원하며transparent전달 시 오류가 발생합니다
관련 자료
이미지 생성
다중 모델 이미지 생성 API 개요
이미지 편집
edits 엔드포인트 추가 사용법과 예제
