본문으로 건너뛰기
GetAPI
한국어
메뉴

GetAPI.ONE

GetAPI.ONE으로 이미지 생성

현재 카탈로그에서 이미지 모델을 선택하고 ONE 이미지 경로에 명시된 최소 요청을 보내 응답 형태를 검증하고 출력을 안전하게 보관합니다.

지원되는 요청 준비

  • 현재 카탈로그에서 이미지 생성 엔드포인트를 명시하는 모델을 선택하세요.
  • 과금 호출 전에 실시간 요금을 확인하세요. 이 가이드는 가격을 고정하지 않습니다.
  • 출력 하나와 해당 모델 계약에 표시된 필드만으로 시작하세요.
text
POST https://www.getapi.one/v1/images/generations

최소 생성 요청 보내기

  1. 신뢰할 수 있는 프로세스 환경에 GETAPI_ONE_API_KEY를 설정하세요.
  2. 현재 카탈로그에서 정확한 이미지 모델 ID를 복사하세요.
  3. 프롬프트에 피사체, 구도, 제약을 설명하세요.
  4. 먼저 결과 하나를 제출하고 모델 지원을 확인한 후에만 선택 필드를 늘리세요.
  5. 크기가 제한된 base64 출력을 로컬에서 디코딩하세요. URL 응답은 API 프로세스에서 직접 열지 말고 외부 통신과 호스트 규칙 및 리디렉션 재검증을 갖춘 승인 다운로더용으로 기록하세요.
shell
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.json
data[0] 확인 및 반환 바이트 저장
import 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을 신뢰할 수 없는 입력으로 취급하세요. 전용 다운로더에서 명시적인 외부 통신과 호스트 정책을 적용하고 사설, 링크 로컬, 루프백 목적지를 차단하며 모든 리디렉션을 다시 검증하세요.

다음 단계