GPT Image 1.5
GPT Image 1.5는 상세한 지시 준수에 중점을 두어 텍스트 지시로 이미지를 만듭니다. 세 가지 화면 형태, 여러 품질 수준과 결과 형식을 제공합니다.
- Ailoot · 이미지
POST /v1/images/generationsgpt-image-1.5 - Ailoot Ultra · 이미지
POST /v1/images/generationsgpt-image-1.5
모델 소개
이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.
상세한 지시로 만드는 이미지
GPT Image 1.5는 텍스트 설명을 바탕으로 이미지를 만드는 OpenAI 모델입니다. 개발사는 지시 준수와 상세한 요청 처리를 강조합니다. 장면 내용, 구도, 대상의 외형, 필요한 스타일을 지정할 수 있습니다. 이미지 호출 방식의 결과는 완성된 이미지입니다.
Ailoot의 이 카드는 텍스트 입력의 생성에 해당합니다. OpenAI는 원본 이미지 처리, 편집, 개별 영역의 변경도 설명합니다. 이런 기능에는 별도의 시각 입력 지원이 필요하며 여기 표시된 텍스트 생성 방식에는 포함되지 않습니다.
OpenAI가 별도로 제공하는 편집 작업에서는 마스크를 참고 기준으로 사용합니다. 결과가 마스크의 윤곽과 정확하게 일치한다고 보장하지는 않습니다. 이런 작업에는 원본 이미지 전달 지원이 필요합니다. 현재 Ailoot 카드는 여전히 텍스트 입력의 생성에 해당합니다.
세 가지 화면 형태와 품질 설정
정사각형 1024x1024, 가로형 1536x1024, 세로형 1024x1536과 자동 선택을 제공합니다. 다른 모델의 임의 크기를 이 버전에 적용해서는 안 됩니다.
품질 수준은 low, medium, high, auto입니다. 품질 선택은 처리량과 결과의 세부 표현에 영향을 줍니다. 품질과 크기는 서로 다른 설정입니다. 화면 방향은 구도의 공간을 정하고 품질 수준은 이를 구성하는 모드를 정합니다. GPT Image 1.5에는 xhigh와 max 수준이 명시되어 있지 않습니다.
파일 형식과 배경
결과는 기본으로 PNG로 생성됩니다. JPEG와 WebP도 제공합니다. JPEG와 WebP에서는 압축 정도를 지정할 수 있습니다. 이는 생성 품질과 다른 결과 파일 설정입니다.
개발사는 투명 배경, 불투명 배경, 자동 선택을 제공합니다. 투명도에는 PNG나 WebP가 필요합니다. JPEG는 알파 채널을 보존하지 않습니다. 이후 구도에서 이미지를 독립적인 대상으로 사용해야 할 때 투명 배경이 편리합니다. 구체적인 설정 지원은 선택한 호출 방식과 함께 고려해야 합니다.
확인이 필요한 텍스트와 구도
모델은 이미지에 글자를 넣고 여러 요소로 장면을 구성할 수 있지만, 텍스트와 대상의 정확한 배치를 보장하지는 않습니다. 개별 생성 사이에서 캐릭터의 외형이나 디자인이 반복되는지도 확인해야 합니다.
복잡한 이미지는 단순한 이미지보다 오래 걸릴 수 있습니다. OpenAI에 따르면 일부 복잡한 지시는 최대 2분이 걸릴 수 있습니다. 결과에는 원본 설명의 완전성과 완성된 이미지의 검증이 모두 중요합니다. 글자 가독성, 세부 요소의 위치, 지정한 장면과의 일치 여부는 파일 자체로 평가합니다.
Ailoot · 이미지 POST /v1/images/generations gpt-image-1.5
gpt-image-1.5시작하기
GPT Image 1.5는 상세한 지시 준수에 중점을 두어 텍스트 지시로 이미지를 만듭니다. 세 가지 화면 형태, 여러 품질 수준과 결과 형식을 제공합니다.
- 허용 입력
- 텍스트
- 결과
- 이미지
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot · 이미지 POST /v1/images/generations
- 입력
text- 출력
image- 출력 형식
- 이미지 파일
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 gpt-image-1.5 | 기본값— |
필드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 메서드 요금
POST /v1/images/generations- 텍스트 입력
- US$0.005 / 1K
- 텍스트 출력
- US$0.01 / 1K
- 입력, 이미지
- US$0.008 / 1K tokens
- 출력, 이미지
- US$0.032 / 1K tokens
Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. 금액 확보와 정산 방식 →
요청 예제
Ailoot · 이미지
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-1.5", "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-1.5', '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-1.5", "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}/contentGET /v1/media/assetsGET /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-1.5
Ailoot Ultra gpt-image-1.5
메서드 경로 별칭
위에 표시된 메서드 경로를 사용하세요.
관련 호출용 ID
Ailoot Ultra · 이미지 POST /v1/images/generations gpt-image-1.5
gpt-image-1.5시작하기
GPT Image 1.5는 상세한 지시 준수에 중점을 두어 텍스트 지시로 이미지를 만듭니다. 세 가지 화면 형태, 여러 품질 수준과 결과 형식을 제공합니다.
- 허용 입력
- 텍스트
- 결과
- 이미지
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot Ultra · 이미지 POST /v1/images/generations
- 입력
text- 출력
image
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 gpt-image-1.5 | 기본값— |
필드prompt | 유형string | 요건필수 | 값과 한도 최대 길이: 32,000 | 기본값— |
필드size | 유형string | 요건선택 사항 | 값과 한도 1024x1024, 1536x1024, 1024x1536, auto | 기본값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.32768 생성 전 추정치 이 예상 금액은 추가 요금이나 생성 완료 시 적용되는 고정 요금이 아닙니다. |
Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. 금액 확보와 정산 방식 →
요청 예제
Ailoot Ultra · 이미지
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-1.5', '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}/contentGET /v1/media/assetsGET /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-1.5
Ailoot Ultra gpt-image-1.5
메서드 경로 별칭
위에 표시된 메서드 경로를 사용하세요.
관련 호출용 ID
FAQ · GPT Image 1.5
- 어떤 입력과 결과를 사용할 수 있나요?
POST /v1/images/generations·gpt-image-1.5:text→imagePOST /v1/images/generations·gpt-image-1.5:text→image- 요청은 어떤 필드를 사용하나요?
POST /v1/images/generations·gpt-image-1.5:model,prompt,n,response_format,streamPOST /v1/images/generations·gpt-image-1.5:model,prompt,size,background,moderation,n,quality,output_compression,output_format,stream- 어떤 제한이 적용되나요?
POST /v1/images/generations·gpt-image-1.5:n.minimum:1POST /v1/images/generations·gpt-image-1.5:prompt.maximum_length:32000;n.minimum:1;n.maximum:10;output_compression.minimum:0;output_compression.maximum:100