GetAPI.ONE
GetAPI.ONE으로 이미지 생성
현재 카탈로그에서 이미지 모델을 선택하고 ONE 이미지 경로에 명시된 최소 요청을 보내 응답 형태를 검증하고 출력을 안전하게 보관합니다.
지원되는 요청 준비
- 현재 카탈로그에서 이미지 생성 엔드포인트를 명시하는 모델을 선택하세요.
- 과금 호출 전에 실시간 요금을 확인하세요. 이 가이드는 가격을 고정하지 않습니다.
- 출력 하나와 해당 모델 계약에 표시된 필드만으로 시작하세요.
POST https://www.getapi.one/v1/images/generations최소 생성 요청 보내기
- 신뢰할 수 있는 프로세스 환경에 GETAPI_ONE_API_KEY를 설정하세요.
- 현재 카탈로그에서 정확한 이미지 모델 ID를 복사하세요.
- 프롬프트에 피사체, 구도, 제약을 설명하세요.
- 먼저 결과 하나를 제출하고 모델 지원을 확인한 후에만 선택 필드를 늘리세요.
- 크기가 제한된 base64 출력을 로컬에서 디코딩하세요. URL 응답은 API 프로세스에서 직접 열지 말고 외부 통신과 호스트 규칙 및 리디렉션 재검증을 갖춘 승인 다운로더용으로 기록하세요.
curl --fail-with-body https://www.getapi.one/v1/images/generations \
-H "Authorization: Bearer $GETAPI_ONE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "<IMAGE_MODEL_ID_FROM_CURRENT_CATALOG>",
"prompt": "A clean product diagram of a secure server-side API flow",
"n": 1
}' > image-response.jsonimport base64
import json
from pathlib import Path
from urllib.parse import urlsplit
payload = json.loads(Path("image-response.json").read_text(encoding="utf-8"))
item = payload["data"][0]
if item.get("b64_json"):
image_bytes = base64.b64decode(item["b64_json"], validate=True)
if len(image_bytes) > 25 * 1024 * 1024:
raise ValueError("Image exceeds the local 25 MB safety limit")
Path("generated-image.bin").write_bytes(image_bytes)
elif item.get("url"):
url = item["url"]
parsed = urlsplit(url)
if parsed.scheme != "https" or not parsed.hostname:
raise ValueError("Refusing an invalid or non-HTTPS image URL")
# Do not dereference provider-controlled URLs from a generic server example.
# Give this record to an approved downloader that enforces your egress and
# host policy, rejects private/link-local/loopback destinations, revalidates
# every redirect, sends no ONE credential, and bounds the response bytes.
Path("generated-image-url.txt").write_text(url, encoding="utf-8")
print("URL recorded for an egress-controlled downloader")
else:
raise ValueError("Expected data[0].url or data[0].b64_json")
결과 평가
| 확인 | 통과 조건 |
|---|---|
| 프롬프트 충실도 | 요구한 피사체와 구도가 존재합니다. |
| 안전과 권리 | 출력이 대상 독자에게 적합하고 제공한 입력의 사용 권한이 있습니다. |
| 응답 계약 | data[0].url 또는 data[0].b64_json을 확인하고 검증한 뒤 반환 바이트를 저장하세요. |
| 운영 기록 | 키 없이 모델 ID, 프롬프트 버전, 제공되는 경우 요청 ID, 결과가 기록됩니다. |
예상 결과 확인
- HTTP 요청이 성공하고 본문에 선택 모델이 반환하는 이미지 결과 형태가 있습니다.
- 디코딩한 base64 파일이 예상 이미지 유형으로 열리거나, URL 결과를 기록한 뒤 승인된 외부 통신 제어 다운로더로만 가져옵니다.
- ONE 콘솔이 요청 또는 해당 사용량을 기록합니다.
이미지 요청 오류 해결
| 증상 | 조치 |
|---|---|
| 지원하지 않는 매개변수 | 해당 모델에서 확인될 때까지 선택 사항인 크기, 품질, 형식, 개수 필드를 제거하세요. |
| 출력이 비어 있거나 사용 불가 | 전체 JSON 본문을 검사하고 실제 URL 또는 인코딩 데이터 필드를 처리하세요. 특정 공급자 형태를 가정하지 마세요. |
| 정책 또는 입력 거부 | 같은 요청을 반복 제출하지 말고 입력을 수정하세요. |
입력과 출력의 안전한 보관
- 키를 서버에 보관하고 전달 전에 프롬프트 길이, 출력 개수, 선택 필드를 검증하세요.
- 승인된 데이터 처리 정책에서 허용하지 않는 한 기밀 원본 이미지나 개인 데이터를 보내지 마세요.
- 공급자 계약에 명시된 경우를 제외하면 반환 URL을 임시로 취급하고 승인된 출력을 통제된 저장소에 복사하세요.
- 반환 이미지 URL로 GetAPI.ONE Authorization 헤더를 전달하지 마세요.
- 반환 URL을 신뢰할 수 없는 입력으로 취급하세요. 전용 다운로더에서 명시적인 외부 통신과 호스트 정책을 적용하고 사설, 링크 로컬, 루프백 목적지를 차단하며 모든 리디렉션을 다시 검증하세요.