초대하고 적립

초대 보상 안내

초대 링크를 공유하세요. 친구가 링크로 가입하고 충전하면 이후 충전마다 표시된 보상을 받을 수 있습니다.

GPT Image 2: 첫 Image API 요청

BetterToken으로 첫 GPT Image 2 요청을 보내고 b64_json 이미지를 저장하며 Key, 모델, 잔액 오류를 해결합니다.

목차

BetterToken으로 첫 이미지를 생성하는 데는 HTTP 요청 한 번이면 됩니다. 본인의 API Key와 https://www.bettertoken.ai/v1/images/generations에 보내는 POST 요청이 필요합니다. 요청 본문에서 모델을 gpt-image-2로 지정하고 텍스트 설명을 제공하세요. 응답은 이미지를 b64_json으로 반환하며, 이를 디코드해 파일로 저장하면 됩니다.

BetterToken은 OpenAI 호환 Image API를 제공하지만 독립적인 서비스입니다. Key, 잔액, 요청 기록은 OpenAI가 아니라 본인의 BetterToken 계정에 속합니다. 시작하기 전에 BetterToken Dashboard에서 Key를 만들고 모델 및 가격 페이지에서 현재 조건을 확인하세요.

필요한 항목

  • 요청 전송용 curl;
  • 본인의 BetterToken API Key;
  • 정확한 Base URL https://www.bettertoken.ai/v1;
  • 이 Image API용 gpt-image-2 모델;
  • Base64 디코더 또는 짧은 Python 스크립트.

실제 Key를 소스 코드, 스크린샷 또는 Shell history에 남을 명령어에 넣지 마세요. 환경 변수에 저장합니다.

export BETTERTOKEN_API_KEY="your_api_key_here"

위 값은 자리 표시자일 뿐입니다. 본인의 Key를 사용하고 절대 공개하지 마세요.

첫 GPT Image 2 요청

본인의 Key로 요청을 실행할 준비가 되었나요? BetterToken 계정을 만들고 API Key를 발급받아 소스 코드 밖에 보관하세요. BetterToken 계정 만들기

이미지 생성 Endpoint로 요청을 보냅니다.

curl https://www.bettertoken.ai/v1/images/generations \
  -H "Authorization: Bearer $BETTERTOKEN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A clean editorial illustration of a coding desk at night, green and graphite palette",
    "n": 1,
    "size": "1024x1024",
    "response_format": "b64_json",
    "output_format": "png"
  }' \
  -o image-response.json

이는 동기 contract입니다. 표시한 첫 요청에는 별도 task ID, polling 또는 callback이 필요하지 않습니다. data[0].b64_json을 읽고 디코드하여 PNG로 저장하세요.

이미지 저장하기

다음 예제는 JSON을 읽고 Base64 값을 디코드하여 bettertoken-image.png를 만듭니다. Python 표준 라이브러리만 사용합니다.

import base64
import json

with open("image-response.json", "r", encoding="utf-8") as source:
    payload = json.load(source)

image_base64 = payload["data"][0]["b64_json"]

with open("bettertoken-image.png", "wb") as target:
    target.write(base64.b64decode(image_base64))

print("Saved: bettertoken-image.png")

파일을 열어 prompt와 일치하는지 확인하세요. HTTP 200은 요청이 처리되었음을 보여주지만, 결과의 시각적 검토를 대체하지는 않습니다.

두 번째 요청 개선하기

첫 테스트에는 다음 네 부분으로 된 짧은 prompt를 사용하세요.

  1. 대상 또는 장면;
  2. 시각적 스타일;
  3. 구도;
  4. 팔레트 또는 조명.

예시:

Editorial illustration of a developer reviewing an API response,
clean geometric style, centered composition, dark graphite background
with restrained green accents, no text, no logos

서로 충돌하는 요구 사항을 길게 나열하는 것으로 시작하지 마세요. 기본 구도를 먼저 확인하고 한 번에 하나의 매개변수만 변경합니다. 어떤 표현이 결과에 영향을 주었는지 더 쉽게 파악할 수 있습니다.

Size, quality, format은 현재 parameters입니다. 두 번째 요청 전 current Image API Docs에서 지원되는 값을 고르세요. 이 contract는 asynchronous tasks/callbacks, batch processing, seller templates 또는 guaranteed image quality를 확인하지 않습니다.

일반적인 오류

401: Key 거부됨

현재 터미널에 BETTERTOKEN_API_KEY가 설정되어 있고 Authorization header에 Bearer 접두사가 있는지 확인하세요. echo로 Key를 출력하거나 전체 값을 지원팀에 보내지 마세요.

402 또는 잔액 부족

BetterToken Dashboard를 열어 사용 가능한 잔액을 확인하세요. 결제한 BetterToken 잔액은 매월 말에 자동으로 초기화되지 않지만, 각 요청에는 여전히 충분한 잔액이 필요합니다.

404: 잘못된 경로

이미지 생성에는 다음 전체 경로를 사용합니다.

https://www.bettertoken.ai/v1/images/generations

이를 Chat Completions Endpoint로 바꾸거나 api.openai.com을 사용하지 마세요. BetterToken Key는 BetterToken Endpoint에서 작동합니다.

400: 잘못된 모델 또는 매개변수

필수 필드인 model과 prompt만으로 시작하세요. 이 가이드는 gpt-image-2를 사용합니다. API가 모델을 사용할 수 없다고 보고하면 현재 Model ID와 매개변수를 Image API 문서와 비교하세요.

429 또는 5xx

무한 재시도 루프를 시작하지 마세요. HTTP status, 요청 시각, 응답의 안전한 일부를 기록한 뒤 지연 후 재시도합니다. BetterToken Dashboard에서는 시각으로 요청을 대조하고 model, status, actual charge만 확인하세요。

애플리케이션 통합 전 점검

요청을 backend 또는 자동화 흐름으로 옮기기 전에 다음을 확인하세요.

  • Key가 환경 변수 또는 secrets manager에 저장되어 있습니다;
  • 요청 대상이 다른 제공업체 Endpoint가 아니라 BetterToken입니다;
  • 모델과 매개변수는 현재 문서에서 가져왔습니다;
  • Base64 payload가 오류 없이 디코드됩니다;
  • 애플리케이션이 재시도를 제한하고 non-2xx 응답을 처리합니다;
  • 비용을 오래된 리뷰가 아닌 현재 가격 페이지에서 확인합니다.

요약

처음 동작하는 흐름은 세 단계입니다. BetterToken Image API에 POST 요청을 보내고, data[0].b64_json을 읽어 파일로 디코드합니다. 요청을 실행하기 전에 현재 매개변수와 가격을 확인하세요.

LLM 워크플로를 최적화할 준비가 되셨나요?

하나의 API로 모델을 연결하고 키와 AI 비용을 관리하세요.

무료로 시작하기