CheapAIAI WORKSPACE
API 연동 문서

CheapAI API 연동 가이드

OpenAI·Anthropic 호환 게이트웨이입니다. base_url + csk_ 키만 바꾸면 Codex, Claude Code, Cursor, SDK를 정가의 약 10%로 사용합니다.

AI 연동 프롬프트 · docs.md

초심자 추천

프롬프트를 복사해 ChatGPT · Claude · Cursor에 붙여넣으면 연동이 빨라집니다. 전체 마크다운은 OS별·도구별 목차가 포함되어 있습니다.

아래 URL의 CheapAI API 문서(docs.md)를 읽고, 그 내용만 기준으로 연동해 주세요.
문서: https://cheapai.im/api/docs.md

규칙:
- OpenAI / Codex Base URL: https://api.cheapai.im/v1
- Claude Code / Anthropic Base URL: https://api.cheapai.im  (/v1 붙이지 말 것)
- API 키는 csk_ 로 시작하는 CheapAI 키 (OpenAI sk- 키 사용 금지)
- 모델 ID는 GET https://api.cheapai.im/v1/models 또는 문서에 있는 것만 사용
  (예: gpt-5.6-sol, claude-sonnet-5)
- Codex: wire_api = "responses" → POST /v1/responses
- Claude Code: POST /v1/messages (SDK가 경로 추가)
- OpenAI/Anthropic 공식 URL을 하드코딩하지 말 것
- stream: true 지원 (Codex 기본값 OK)
- 가격: 공식 정가의 약 10% · 1 크레딧 = 1원

내 요청: (여기에 원하는 연동 내용을 적어 주세요)

대화형 빠른 시작

초심자 / 숙련자 → OS → 도구 → 설치 유무 순으로 고르면, 그 조합에 맞는 명령어가 나옵니다. (브라우저에 선택 기억)

빠른 시작 준비 중…

30초 요약

서비스OpenAI · Anthropic 호환 API 중계 (CheapAI)
Base URL (OpenAI · Codex)https://api.cheapai.im/v1
Base URL (Claude Code)https://api.cheapai.im (/v1 붙이지 말 것)
API 키csk_… (대시보드 발급)
가격정가의 약 10% · 1 크레딧 = 1원
수정 포인트base_url + api_key (+ 모델) 만
하지 말 것: OpenAI/Anthropic 공식 URL 그대로 사용 · sk- 키 사용 · Claude Code Base URL에 /v1 붙이기 · 문서에 없는 모델 ID

운영체제별 빠른 시작

환경 변수
export CHEAPSUB_API_KEY="csk_YOUR_KEY"
export ANTHROPIC_BASE_URL="https://api.cheapai.im"
export ANTHROPIC_AUTH_TOKEN="csk_YOUR_KEY"
export ANTHROPIC_MODEL="claude-sonnet-5"

# 영구 저장 (zsh)
echo 'export CHEAPSUB_API_KEY="csk_YOUR_KEY"' >> ~/.zshrc
source ~/.zshrc
Codex config.toml
model = "gpt-5.6-sol"
model_provider = "cheapsub"

[model_providers.cheapsub]
name = "CheapAI"
base_url = "https://api.cheapai.im/v1"
env_key = "CHEAPSUB_API_KEY"
wire_api = "responses"
requires_openai_auth = false
연결 확인 (curl)
curl https://api.cheapai.im/v1/models
curl https://api.cheapai.im/v1/chat/completions \
  -H "Authorization: Bearer $CHEAPSUB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5.6-luna","messages":[{"role":"user","content":"ping"}],"max_tokens":32}'
Claude Code: ANTHROPIC_BASE_URL=https://api.cheapai.im /v1 없음. Codex: env_key = "CHEAPSUB_API_KEY" (키 값이 아니라 변수 이름).

도구별 연동

Codex

base https://api.cheapai.im/v1 · wire_api responses · env CHEAPSUB_API_KEY

Claude Code

base https://api.cheapai.im (/v1 없음) · ANTHROPIC_AUTH_TOKEN=csk_…

Cursor

OpenAI Compatible Base URL = https://api.cheapai.im/v1 · csk_ 키

OpenAI / Anthropic SDK

base_url만 교체. Anthropic은 /v1 없이 origin만

인증

HTTP 헤더
Authorization: Bearer csk_...
# 또는 (Anthropic 스타일)
x-api-key: csk_...
키 발급: 대시보드· 충전: 크레딧 충전

엔드포인트

용도MethodPath
모델 목록GET/v1/models
Chat (일반 SDK)POST/v1/chat/completions
CodexPOST/v1/responses
Claude CodePOST/v1/messages
이미지 생성POST/v1/images/generations
이미지 프록시/다운로드GET/v1/images/proxy

Chat Completions

cURL
curl https://api.cheapai.im/v1/chat/completions \
  -H "Authorization: Bearer csk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-sol",
    "messages": [{"role": "user", "content": "안녕하세요"}]
  }'
Python (openai)
from openai import OpenAI

client = OpenAI(api_key="csk_...", base_url="https://api.cheapai.im/v1")
resp = client.chat.completions.create(
    model="gpt-5.6-sol",
    messages=[{"role": "user", "content": "안녕하세요"}],
)
print(resp.choices[0].message.content)

Messages (Anthropic / Claude Code)

cURL
curl https://api.cheapai.im/v1/messages \
  -H "x-api-key: csk_..." \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "안녕하세요"}]
  }'
Python (anthropic)
import anthropic

client = anthropic.Anthropic(
    api_key="csk_...",
    base_url="https://api.cheapai.im",  # /v1 없음
)
msg = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "안녕하세요"}],
)
print(msg.content[0].text)

Responses (OpenAI / Codex)

cURL
curl https://api.cheapai.im/v1/responses \
  -H "Authorization: Bearer csk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-sol",
    "input": "안녕하세요"
  }'
Codex wire_api = "responses" 가 이 경로를 사용합니다. stream 지원.

Image Generations (이미지 생성)

필드타입설명
promptstring필수. 생성할 이미지 텍스트 설명 (최대 32,000자)
modelstring선택. 모델 ID (기본값: gpt-image-2)
ninteger선택. 생성할 이미지 개수 (기본값: 1, 범위: 1~10)
sizestring선택. 이미지 해상도 (1024x1024, 1792x1024, 1024x1792)
qualitystring선택. 화질 옵션 (standard 또는 hd)
stylestring선택. 예술 스타일 (vivid: 생생한 표현, natural: 실사 표현)
response_formatstring선택. 응답 형 (기본값: url 또는 b64_json)
cURL (이미지 생성)
curl https://api.cheapai.im/v1/images/generations \
  -H "Authorization: Bearer csk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A cute cybernetic neon cat resting on a high-tech desk",
    "size": "1024x1024",
    "quality": "hd",
    "style": "vivid"
  }'
Python (요청 및 자동 저장)
import requests

res = requests.post("https://api.cheapai.im/v1/images/generations", headers={
    "Authorization": "Bearer csk_...",
    "Content-Type": "application/json"
}, json={
    "model": "gpt-image-2",
    "prompt": "A cute cybernetic neon cat",
    "size": "1024x1024",
    "quality": "hd"
}).json()

# 안전한 프록시 다운로드 URL로 즉시 파일 저장
download_url = res["data"][0]["download_url"]
img = requests.get(download_url).content
with open("neon_cat.png", "wb") as f:
    f.write(img)
안전한 이미지 프록시 & 다운로드: 상류 이미지 노드의 HTTP/IP 주소로 인한 Mixed Content 이슈를 방지하고 자동 파일 저장 기능을 위해 응답 객체에 proxy_urldownload_url이 제공됩니다. (GET /v1/images/proxy?url=...&download=1)

스트리밍

stream: true
curl https://api.cheapai.im/v1/chat/completions \
  -H "Authorization: Bearer csk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-sol",
    "messages": [{"role": "user", "content": "안녕하세요"}],
    "stream": true
  }'

지원 모델

OpenAI
  • gpt-5.6-sol
  • gpt-5.6-terra
  • gpt-5.6-luna
  • gpt-image-2
Anthropic
  • claude-opus-5
  • claude-opus-4-8
  • claude-sonnet-5
  • claude-fable-5
DeepSeek
  • deepseek-v4-pro
xAI
  • grok-4.5
Zhipu
  • glm-5.2
최신 목록은 GET https://api.cheapai.im/v1/models 를 기준으로 하세요.

가격 & 크레딧

  • 판매가 ≈ 공식 정가의 약 10%
  • 1 크레딧 = 1원 · 성공 응답만 과금
  • 실패·상류 오류 시 크레딧 미차감
  • 잔액·사용량: 대시보드 개요 / 사용량

오류 코드

401
인증 실패

API 키가 없거나 잘못되었습니다. csk_ 키를 다시 확인하세요.

402
크레딧 부족

잔액이 부족합니다. 대시보드에서 크레딧을 충전하세요.

404
모델 없음

요청한 모델명이 존재하지 않습니다. 지원 모델 목록을 확인하세요.

429
요청 과다

레이트 리밋에 도달했습니다. 잠시 후 다시 시도하세요.

5xx
상류 오류

업스트림 제공자 오류입니다. 크레딧은 차감되지 않습니다.

체크리스트 · FAQ

□ 키 접두사 csk_

□ Codex → base에 /v1 + wire_api = "responses"

□ Claude Code → base에 /v1 없음

□ 모델 ID가 카탈로그에 있음

□ 잔액 > 0

Q. Codex 401
env 이름과 env_key 일치 · 새 터미널 · base_url 끝 /v1

Q. Claude Code 404
ANTHROPIC_BASE_URL/v1을 붙였는지 확인 후 제거

Q. 카드/키 결제
충전: /api/dashboard/recharge· 선불 키: /api/buy-key