모델

OpenAI: GPT Image 2.5 Flare

Markdown · JSON

OpenAI: GPT Image 2.5 Flare

GPT Image 2.5 Flare는 빠른 일상적 시각 창작에 초점을 맞춰 텍스트와 참조로 이미지를 생성하고 편집합니다. 초안, 일러스트레이션, 캠페인 자료를 위한 사용자 지정 크기, 투명 배경, 마스크, 최대 max 품질 수준을 지원합니다.

모델 소개

이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.

GPT Image 2.5 Flare는 빠르고 품질 높은 일상 작업을 위한 OpenAI의 이미지 생성 및 편집 에디션입니다. 텍스트와 이미지를 받아 이미지 결과를 반환합니다. 지시서를 신속하게 사용할 이미지로 바꿔야 하는 시각적 초안, 일러스트레이션, 제품 콘셉트, 반복적인 창작 작업에 사용하세요. Flare는 편집 정밀도를 강조하는 Sunburst와 구분됩니다. 일상적 이미지 제작에는 Flare를, 정밀한 편집이 우선이면 Sunburst를 선택하세요.

주요 대상, 행동, 환경, 구도, 시각적 처리부터 설명하세요. 캠페인 일러스트레이션에는 따뜻한 저녁 빛 아래 작은 다리를 건너는 자전거 이용자, 대담한 윤곽, 추후 텍스트를 위한 열린 하늘을 요청할 수 있습니다. 간결한 탐색 지시서는 미적 결정을 열어 둘 수 있지만 제작 지시서에는 중요한 디테일과 위치를 명시해야 합니다. 직접 생성 및 편집 작업은 최대 32,000자의 프롬프트와 결과 1~10개를 허용하므로 몇 가지 변형을 같은 목적에 따라 비교할 수 있습니다.

편집에는 참조 이미지 최대 열여섯 개를 제공할 수 있습니다. 대상 정체성, 풍경, 스타일 중 이미지가 무엇을 나타내는지 모델이 결정할 것으로 기대하지 말고 각 참조에 명확한 역할을 부여하세요. 마스크는 영역 변경을 안내할 수 있으며 이미지가 여러 개면 첫 이미지에 적용됩니다. 이미지와 마스크의 형식 및 치수는 같아야 하고 마스크에는 알파 채널이 있어야 합니다. 가이드는 원본과 마스크가 50 MB 미만일 것을 요구합니다. 마스크는 안내이며 정확한 경계 보존의 약속이 아니므로 원하는 수정과 알아볼 수 있게 유지할 요소를 함께 명시하세요.

Flare는 low, medium, high, xhigh, max, 자동 품질을 지원하며 기본값은 auto입니다. 낮은 품질은 빠른 시각적 초안에 활용할 수 있고 높은 설정은 최종 자료의 디테일을 위해 비교할 수 있습니다. 품질은 크기와 출력 압축에 독립적입니다. 표준 크기에는 1024 × 1024, 1536 × 1024, 1024 × 1536이 포함되며 자동 또는 사용자 지정 치수도 가능합니다. 최종 배치와 장면의 유용한 공간에 맞춰 방향을 선택하세요.

사용자 지정 너비와 높이는 16의 배수이고 어느 변도 3840픽셀을 넘을 수 없습니다. 허용 비율은 1:3~3:1이며 전체 면적은 최소 655,360, 최대 8,294,400픽셀이어야 합니다. 네 조건 모두 함께 적용됩니다. 가이드는 2560 × 1440 초과 해상도를 실험적으로 식별합니다. 큰 해상도가 자동으로 레이아웃을 개선한다고 여기지 말고 구도에 맞는 유효한 프레임을 사용하며 잘림에 민감한 디테일을 지시서에 포함하세요.

결과 형식은 기본적으로 PNG이며 JPEG와 WebP도 가능합니다. JPEG와 WebP에는 0~100 압축을 사용할 수 있습니다. 투명 배경에는 PNG 또는 WebP를 선택하세요. 불투명 및 자동 배경도 지원합니다. 투명 자료는 후속 레이아웃에 배치할 수 있고 불투명 이미지는 자체 배경을 포함합니다. 실제 전달 요구에 따라 형식, 배경, 압축을 선택하고 완성 파일을 지시서 및 선택 설정과 함께 보관하세요.

제작사는 직접 이미지 생성 및 편집과 선택 결과를 유지해 후속 변경을 할 수 있는 대화형 이미지 도구를 문서화합니다. 해당 작업에서 action은 자동, 강제 생성, 또는 맥락에 이미지가 있을 때 강제 편집이 될 수 있습니다. 스트리밍은 최종 결과 전에 부분 이미지 최대 세 개를 보여줄 수 있습니다. 이러한 미리보기는 진행 상황을 제공하며 추가 완성 결과물은 아닙니다. 반복 작업에서는 선택한 이미지에서 이어가고 물체 하나를 이동하거나 색상 처리를 조정하는 등 눈에 보이는 변경을 설명하세요. 제작사 인터페이스는 배치 처리도 지원합니다.

의도한 크기에서 이미지의 글자, 물체 위치, 대상 디테일, 구도를 확인하세요. GPT Image는 정확한 텍스트 배치, 구조화 레이아웃, 여러 생성에 걸친 반복적 시각 정체성에서 여전히 어려움을 겪을 수 있습니다. 승인한 변형을 다음 참조로 유지하고 후속 편집을 중요한 문제에 집중시키세요. Flare의 일상 생성 역할은 지시서, 시각적 대안, 선택, 다듬기의 명확한 순서에 유용하며 최종 자료는 실제 창작 목적에 따라 평가합니다.

Ailoot · 이미지 POST /v1/images/generations gpt-image-2.5-flare

gpt-image-2.5-flare

OpenAI /gpt-image-2.5-flare

시작하기

GPT Image 2.5 Flare는 빠른 일상적 시각 창작에 초점을 맞춰 텍스트와 참조로 이미지를 생성하고 편집합니다. 초안, 일러스트레이션, 캠페인 자료를 위한 사용자 지정 크기, 투명 배경, 마스크, 최대 max 품질 수준을 지원합니다.

허용 입력
텍스트
결과
이미지

Ailoot에서 사용 가능 · 입력 및 메서드

Ailoot · 이미지 POST /v1/images/generations
입력
text
출력
image
출력 형식
이미지 파일
필드유형요건값과 한도기본값
필드model유형string요건필수값과 한도
gpt-image-2.5-flare
기본값—
필드prompt유형string요건필수값과 한도
최소 길이: 1
기본값—
필드n유형integer요건선택 사항값과 한도
최솟값: 1
기본값1
필드response_format유형string요건선택 사항값과 한도
url, b64_json
기본값—
필드stream유형boolean요건선택 사항값과 한도기본값false
필드size유형string요건선택 사항값과 한도
모델에 따라 다름
기본값—
필드quality유형string요건선택 사항값과 한도
모델에 따라 다름
기본값—
필드background유형string요건선택 사항값과 한도
모델에 따라 다름
기본값—
필드output_format유형string요건선택 사항값과 한도
모델에 따라 다름
기본값—
필드output_compression유형integer요건선택 사항값과 한도
모델에 따라 다름
기본값—
필드moderation유형string요건선택 사항값과 한도
모델에 따라 다름
기본값—
필드input_fidelity유형string요건선택 사항값과 한도
모델에 따라 다름
기본값—
필드style유형string요건선택 사항값과 한도
모델에 따라 다름
기본값—
필드partial_images유형integer요건선택 사항값과 한도
모델에 따라 다름
기본값—
입력 자료 조합

텍스트로 이미지 생성 · 필수: prompt

메서드 매개변수와 수명 주기
매개변수명세
매개변수material_types명세text
매개변수required명세model, prompt
매개변수optional_controls명세null
매개변수content_type명세application/json

수명 주기: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · 실제로 반환된 task_id 또는 미디어 라이브러리 기록

GET /v1/media/assets/{asset_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

메서드 형식과 ID는 정확합니다. 공급자의 기능 지원과 요청 수락은 별개입니다.

요금

Ailoot 메서드 요금

Ailoot 이미지POST /v1/images/generations
텍스트 입력
US$0.005 / 1K
입력, 이미지
US$0.008 / 1K tokens
출력, 이미지
US$0.03 / 1K tokens

Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. 금액 확보와 정산 방식 →

요청 예제

Ailoot · 이미지

curlPython SDKNode.js SDK
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
export AILOOT_API_KEY
: "${AILOOT_PROMPT_FILE:?Set your actual UTF-8 image brief}"
export AILOOT_PROMPT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gpt-image-2.5-flare", "prompt": ""}')
f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 brief")
p['prompt']=f.read_text(encoding="utf-8")
if not p['prompt'].strip():raise SystemExit("Brief must contain text")
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
from openai import OpenAI
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")

f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Set your actual UTF-8 image brief file")
request={'model': 'gpt-image-2.5-flare', 'prompt': ''}
request["prompt"]=f.read_text(encoding="utf-8")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.images.generate(**request)
Path("sdk-result.txt").write_text(str(result),encoding="utf-8")
save_images([{"b64_json":getattr(item,"b64_json",None),"url":getattr(item,"url",None)} for item in result.data])
import OpenAI from "openai";
import { readFileSync, writeFileSync } from "node:fs";
const key=process.env.AILOOT_API_KEY;
if(!key) throw new Error("Set your actual Ailoot API key");
const client=new OpenAI({baseURL:"https://api.ailoot.ai/v1",apiKey:key,maxRetries:0});
const request={"model": "gpt-image-2.5-flare", "prompt": ""};
if(!process.env.AILOOT_PROMPT_FILE)throw new Error("Set your actual UTF-8 image brief file");
request.prompt=readFileSync(process.env.AILOOT_PROMPT_FILE,"utf8");
const result=await client.images.generate(request);
writeFileSync("sdk-result.json",JSON.stringify(result,null,2));
if(!result.data?.length) throw new Error("No completed images");
for(let index=0;index<result.data.length;index++) {
  const item=result.data[index];let encoded=item.b64_json,uri=item.url||"",raw;
  if(!encoded && uri.startsWith("data:image/")) {
    const comma=uri.indexOf(",");if(comma<0 || !uri.slice(0,comma).includes(";base64")) throw new Error("Unsupported image data URI");
    encoded=uri.slice(comma+1);
  }
  if(encoded) {
    if(encoded.length%4!==0 || !/^[A-Za-z0-9+/]*={0,2}$/.test(encoded)) throw new Error("Invalid Base64");
    raw=Buffer.from(encoded,"base64");
  } else if(uri) {
    const u=new URL(uri,"https://api.ailoot.ai");
    if(u.protocol!=="https:" || u.username || u.password) throw new Error("Invalid returned URL");
    const owned=u.origin==="https://api.ailoot.ai" && u.pathname.startsWith("/v1/media/assets/") && u.pathname.endsWith("/content");
    const response=await fetch(u,{headers:owned?{Authorization:"Bearer "+key}:{},redirect:"manual"});
    if(!response.ok) throw new Error("Image content download failed: "+response.status);
    raw=Buffer.from(await response.arrayBuffer());
  } else throw new Error("Image has neither bytes nor URL");
  if(!raw.length) throw new Error("Empty image result");
  const ext=raw.subarray(0,4).equals(Buffer.from([137,80,78,71]))?"png":raw[0]===255&&raw[1]===216?"jpg":raw.toString("ascii",0,4)==="RIFF"&&raw.toString("ascii",8,12)==="WEBP"?"webp":raw.toString("utf8").trimStart().startsWith("<svg")||raw.toString("utf8").trimStart().startsWith("<?xml")?"svg":"bin";
  writeFileSync(`image-${index}.${ext}`,raw);
}
console.log("Every returned image saved; sdk-result.json retains complete metadata");

결과 수신 및 저장

Ailoot · 이미지

반환된 각 이미지를 다운로드하거나 Base64 내용을 저장하세요

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
완료된 결과 모두 보관

완료된 이미지를 모두 저장하세요. 반환된 각 URL에서 가져오거나 Base64 내용을 디코딩하세요.

모든 데이터 항목을 저장하세요. 각 b64_json을 디코딩하거나 반환된 모든 서명된 URL에서 가져오세요. 실제 MIME/바이트에 따라 파일 확장자를 선택하세요.

원래 응답을 확인해야 할 경우

이미지 생성 또는 편집 결과를 확인해야 하는 경우 최초 operation_id/X-Client-Request-ID와 반환된 결과 정보를 보관하세요. 실제 task_id 또는 asset_id 값으로 미디어 라이브러리에서 기존의 소유한 결과를 복구하세요. 생성/편집 요청을 다시 제출하거나 operation_id로 폴링 URL을 구성하지 마세요.

응답 필드
필드유형
필드created유형integer
필드data[].url유형string
필드data[].b64_json유형base64 string
필드usage유형object
오류와 다음 단계
응답조건다음 단계
응답400 · invalid_request_error조건필수 필드, 자료 표현 방식 또는 파라미터 값이 올바르지 않음다음 단계새 생성 요청 전에 표시된 필드를 수정하세요.
응답server_error조건반환된 응답에 작업 또는 결과 확인이 필요하다고 표시되어 있습니다다음 단계최초로 반환된 작업/태스크 ID, 요청 헤더와 응답을 보관하고, 지원되는 조회 방식으로 해당 최초 작업을 계속 조회하세요. 생성 요청을 다시 제출하지 마세요.

별칭

모델 별칭

Ailoot gpt-image-2.5-flare
Ailoot Ultra gpt-image-2.5-flare, openai/gpt-image-2.5-flare

메서드 경로 별칭

/v1/images

관련 호출용 ID

openai/gpt-image-2.5-flare, gpt-image-2.5-flare, gpt-image-2.5-flare

Ailoot Ultra · 이미지 POST /v1/images/generations gpt-image-2.5-flare

gpt-image-2.5-flare

OpenAI /gpt-image-2.5-flare
모델 ID
  • gpt-image-2.5-flare
  • openai/gpt-image-2.5-flare

시작하기

GPT Image 2.5 Flare는 빠른 일상적 시각 창작에 초점을 맞춰 텍스트와 참조로 이미지를 생성하고 편집합니다. 초안, 일러스트레이션, 캠페인 자료를 위한 사용자 지정 크기, 투명 배경, 마스크, 최대 max 품질 수준을 지원합니다.

허용 입력
텍스트
결과
이미지

Ailoot에서 사용 가능 · 입력 및 메서드

Ailoot Ultra · 이미지 POST /v1/images/generations
입력
text
출력
image
필드유형요건값과 한도기본값
필드model유형string요건필수값과 한도
gpt-image-2.5-flare
기본값—
필드prompt유형string요건필수값과 한도
최대 길이: 32,000
기본값—
필드size유형string요건선택 사항값과 한도
조건: auto 또는 WIDTHxHEIGHT를 사용하고 두 치수 모두 16으로 나누어떨어지도록 하세요. 긴 변은 최대 3,840픽셀이며 전체 크기는 최대 8,300,000픽셀입니다.
기본값auto
필드background유형string요건선택 사항값과 한도
transparent, opaque, auto
기본값auto
필드moderation유형string요건선택 사항값과 한도
low, auto
조건: 표준 콘텐츠 검토에는 auto를 사용하세요.
기본값—
필드n유형integer요건선택 사항값과 한도
최솟값: 1
최댓값: 10
기본값1
필드quality유형string요건선택 사항값과 한도
auto, high, medium, low
기본값auto
필드output_compression유형integer요건선택 사항값과 한도
최솟값: 0
최댓값: 100
조건: JPEG 및 WebP 출력에 적용됩니다. 문서에 명시된 정수 값을 전송하세요.
기본값100
필드output_format유형string요건선택 사항값과 한도
webp, png, jpeg
기본값png
필드stream유형boolean요건선택 사항값과 한도
false
조건: 이 경로는 완료된 JSON 응답 하나를 반환합니다.
기본값false
메서드 매개변수와 수명 주기
매개변수명세
매개변수content_type명세application/json
매개변수required명세prompt, model
매개변수material_types명세text
매개변수optional명세size, background, moderation, n, quality, output_compression, output_format, stream
매개변수conditions명세투명 배경에는 PNG 또는 WebP가 필요합니다., 출력 압축은 JPEG 또는 WebP에 적용됩니다., 선택한 메서드는 텍스트로 생성합니다. 제조사 설명에 있는 편집 및 스트리밍 제어는 별도의 기능입니다.

수명 주기: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · 실제로 반환된 task_id 또는 미디어 라이브러리 기록

GET /v1/media/assets/{asset_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

요금

최종 요금 계산 방식

표시된 요율은 생성 전 비용을 예상하는 데 사용됩니다. 최종 청구액은 최초 생성에 기록된 비용으로 계산됩니다. 측정된 출력 길이와 예상 수량은 최종 청구 수량이 아닙니다.

요금 정보는 요청 옵션을 추가하지 않습니다. 지원되는 매개변수는 선택한 메서드에 표시됩니다.

빠른 모드
미지정 빠른 모드를 선택한 경우
Flex 모드
미지정 flex 모드를 선택한 경우
최대 추론 수준
미지정 최대 추론 수준에 default 조정값을 적용하는 경우

비교용 예상 요금

설정별 가격

각 요금을 표시된 조건과 대조하세요. 서로 대체되는 설정 묶음마다 하나의 요금만 적용하세요.

설정요금표예측 수량요금
설정기본 토큰 요금요금표기본 요금예측 수량—요금
입력 · 입력 토큰 · 비교 전용 추정치 — / 1K 토큰
출력 · 출력 토큰 · 비교 전용 추정치 — / 1K 토큰
입력 · 캐시 읽기 · 비교 전용 추정치 — / 1K 토큰
입력 · 캐시 쓰기 · 비교 전용 추정치 — / 1K 토큰
입력 · 캐시 쓰기, 1시간 · 비교 전용 추정치 — / 1K 토큰
설정예상 생성 비용요금표—예측 수량1회 생성 예상치요금
출력 · 예상 생성 비용 · 비교 전용 추정치 $0.24576 생성 전 추정치

이 예상 금액은 추가 요금이나 생성 완료 시 적용되는 고정 요금이 아닙니다.

Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. 금액 확보와 정산 방식 →

요청 예제

Ailoot Ultra · 이미지

curl
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'prompt': 'A cute baby sea otter', 'model': 'gpt-image-2.5-flare', 'size': '1024x1024', 'n': 1, 'background': 'auto', 'moderation': 'auto', 'output_format': 'png'}

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT

결과 수신 및 저장

Ailoot Ultra · 이미지

반환된 각 이미지를 다운로드하거나 Base64 내용을 저장하세요

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
기타 콘텐츠 조회
내 소유의 기존 자산 조회
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
완료된 결과 모두 보관

완료된 이미지를 모두 저장하세요. 반환된 각 URL에서 가져오거나 Base64 내용을 디코딩하세요.

전체 응답과 헤더, 실제로 생성된 모든 출력, 최초로 반환된 식별자와 모든 사용량 필드를 보관하세요. 생성 요청을 다시 제출하지 말고 최초 작업을 복구하세요.

원래 응답을 확인해야 할 경우

정산 대조를 위해 반환된 X-Client-Request-ID를 보관하세요. 실제로 반환된 task_id/asset_id 값이나 소유한 미디어 라이브러리만 조회하세요. 작업 ID로 태스크 URL을 만들거나 생성 요청을 다시 제출하지 마세요.

응답 필드
필드유형
필드created유형
필드data[].url유형
필드data[].b64_json유형
필드usage유형

별칭

모델 별칭

Ailoot gpt-image-2.5-flare
Ailoot Ultra gpt-image-2.5-flare, openai/gpt-image-2.5-flare

메서드 경로 별칭

/v1/images

관련 호출용 ID

openai/gpt-image-2.5-flare, gpt-image-2.5-flare, gpt-image-2.5-flare

Ailoot Ultra · 이미지 POST /v1/images/generations openai/gpt-image-2.5-flare

openai/gpt-image-2.5-flare

OpenAI /openai/gpt-image-2.5-flare
모델 ID
  • gpt-image-2.5-flare
  • openai/gpt-image-2.5-flare

시작하기

GPT Image 2.5 Flare는 빠른 일상적 시각 창작에 초점을 맞춰 텍스트와 참조로 이미지를 생성하고 편집합니다. 초안, 일러스트레이션, 캠페인 자료를 위한 사용자 지정 크기, 투명 배경, 마스크, 최대 max 품질 수준을 지원합니다.

허용 입력
텍스트 · 이미지
결과
이미지

Ailoot에서 사용 가능 · 입력 및 메서드

Ailoot Ultra · 이미지 POST /v1/images/generations
입력
text, image
출력
image
필드유형요건값과 한도기본값
필드model유형string요건필수값과 한도
openai/gpt-image-2.5-flare
기본값—
필드prompt유형string요건필수값과 한도
최소 길이: 1
기본값—
필드aspect_ratio유형string요건선택 사항값과 한도
1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9, auto
기본값—
필드quality유형string요건선택 사항값과 한도
auto, low, medium, high, xhigh, max
기본값—
필드background유형string요건선택 사항값과 한도
auto, transparent, opaque
기본값—
필드n유형integer요건선택 사항값과 한도
최솟값: 1
최댓값: 10
기본값—
필드input_references유형array요건선택 사항값과 한도
최소 항목 수: 0
최대 항목 수: 16
기본값—
필드output_compression유형integer요건선택 사항값과 한도
최솟값: 0
최댓값: 100
기본값—
필드provider유형object요건선택 사항값과 한도기본값—
메서드 매개변수와 수명 주기
매개변수명세
매개변수content_type명세application/json
매개변수required명세model, prompt
매개변수material_types명세text, image

수명 주기: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · 실제로 반환된 task_id 또는 미디어 라이브러리 기록

GET /v1/media/assets/{asset_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

요금

최종 요금 계산 방식

표시된 요율은 생성 전 비용을 예상하는 데 사용됩니다. 최종 청구액은 최초 생성에 기록된 비용으로 계산됩니다. 측정된 출력 길이와 예상 수량은 최종 청구 수량이 아닙니다.

요금 정보는 요청 옵션을 추가하지 않습니다. 지원되는 매개변수는 선택한 메서드에 표시됩니다.

빠른 모드
미지정 빠른 모드를 선택한 경우
Flex 모드
미지정 flex 모드를 선택한 경우
최대 추론 수준
미지정 최대 추론 수준에 default 조정값을 적용하는 경우

비교용 예상 요금

설정별 가격

각 요금을 표시된 조건과 대조하세요. 서로 대체되는 설정 묶음마다 하나의 요금만 적용하세요.

설정요금표예측 수량요금
설정기본 토큰 요금요금표기본 요금예측 수량—요금
입력 · 입력 토큰 · 비교 전용 추정치 — / 1K 토큰
출력 · 출력 토큰 · 비교 전용 추정치 — / 1K 토큰
입력 · 캐시 읽기 · 비교 전용 추정치 — / 1K 토큰
입력 · 캐시 쓰기 · 비교 전용 추정치 — / 1K 토큰
입력 · 캐시 쓰기, 1시간 · 비교 전용 추정치 — / 1K 토큰
설정예상 생성 비용요금표—예측 수량1회 생성 예상치요금
출력 · 예상 생성 비용 · 비교 전용 추정치 $0.24576 생성 전 추정치

이 예상 금액은 추가 요금이나 생성 완료 시 적용되는 고정 요금이 아닙니다.

Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. 금액 확보와 정산 방식 →

요청 예제

Ailoot Ultra · 이미지

curl
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'openai/gpt-image-2.5-flare', 'prompt': 'a red panda astronaut floating in space, studio lighting'}

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT

결과 수신 및 저장

Ailoot Ultra · 이미지

반환된 각 이미지를 다운로드하거나 Base64 내용을 저장하세요

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
기타 콘텐츠 조회
내 소유의 기존 자산 조회
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
완료된 결과 모두 보관

완료된 이미지를 모두 저장하세요. 반환된 각 URL에서 가져오거나 Base64 내용을 디코딩하세요.

전체 응답과 헤더, 실제로 생성된 모든 출력, 최초로 반환된 식별자와 모든 사용량 필드를 보관하세요. 생성 요청을 다시 제출하지 말고 최초 작업을 복구하세요.

원래 응답을 확인해야 할 경우

정산 대조를 위해 반환된 X-Client-Request-ID를 보관하세요. 실제로 반환된 task_id/asset_id 값이나 소유한 미디어 라이브러리만 조회하세요. 작업 ID로 태스크 URL을 만들거나 생성 요청을 다시 제출하지 마세요.

응답 필드
필드유형
필드created유형
필드data[].url유형
필드data[].b64_json유형
필드usage유형

별칭

모델 별칭

Ailoot gpt-image-2.5-flare
Ailoot Ultra gpt-image-2.5-flare, openai/gpt-image-2.5-flare

메서드 경로 별칭

/v1/images

관련 호출용 ID

openai/gpt-image-2.5-flare, gpt-image-2.5-flare, gpt-image-2.5-flare

FAQ · OpenAI: GPT Image 2.5 Flare
어떤 입력과 결과를 사용할 수 있나요?

POST /v1/images/generations · gpt-image-2.5-flare: text → image

POST /v1/images/generations · gpt-image-2.5-flare: text → image

POST /v1/images/generations · openai/gpt-image-2.5-flare: text, image → image

요청은 어떤 필드를 사용하나요?

POST /v1/images/generations · gpt-image-2.5-flare: model, prompt, n, response_format, stream

POST /v1/images/generations · gpt-image-2.5-flare: model, prompt, size, background, moderation, n, quality, output_compression, output_format, stream

POST /v1/images/generations · openai/gpt-image-2.5-flare: model, prompt, aspect_ratio, quality, background, n, input_references, output_compression, provider

어떤 제한이 적용되나요?

POST /v1/images/generations · gpt-image-2.5-flare: n.minimum: 1

POST /v1/images/generations · gpt-image-2.5-flare: prompt.maximum_length: 32000; n.minimum: 1; n.maximum: 10; output_compression.minimum: 0; output_compression.maximum: 100

POST /v1/images/generations · openai/gpt-image-2.5-flare: n.minimum: 1; n.maximum: 10; output_compression.minimum: 0; output_compression.maximum: 100

자세히 보기

Claude Code, OpenCode, Hermes, 자체 앱에 Ailoot를 연결하세요.

회사와 그 프로젝트 포트폴리오

회사와 그 프로젝트 포트폴리오: 수백만 고객, 매월 수십억 규모의 매출.

할인받아 토큰을 구매하세요.

정기 작업에는 구독 할인, 토큰 구매에는 최대 50% 프로모션 코드.

구독
정기 요청에 맞는 할인 요금제를 선택하세요.
최대 50% 프로모션 코드
구매할 때 코드를 넣으면 진행 중 행사에 따라 가격을 다시 계산합니다.
이력의 지출
요청마다 모델, 토큰, 금액을 저장합니다.

구독 선택 · 모델 가격 보기

판매하는 제품에 API를 연결하세요.

Ailoot 공식 이용 조건과 라이선스 계약으로 SaaS, 앱, 봇에 사용하세요. 재판매에는 리셀러 라이선스를 요청하세요.

상업용 앱
서비스의 유료 기능에 텍스트, 이미지, 영상, 소리 생성을 넣으세요.
리셀러 라이선스
프로젝트 설명과 접근 구조를 보내 사용·재판매의 서면 조건을 요청하세요.
사이트의 문서
연결 전에 공식 이용 조건, 라이선스 계약, 데이터 처리 정책을 읽을 수 있습니다.

리셀러 라이선스 요청 · 공식 이용 조건과 라이선스 계약