Relay API 문서

Relay API는 OpenAI 호환 형식으로, 기존 OpenAI SDK나 라이브러리를 그대로 사용할 수 있습니다. Relay를 통해 AI 제품을 만들어 보세요.

Quick Start

curl을 사용한 가장 간단한 API 호출 예제입니다.

curl
curl https://www.relayservice.im/api/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer rlk-your-api-key" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [
      {"role": "user", "content": "Hello!"}
    ]
  }'

API 키 설정

Relay 대시보드의 액세스 키 페이지에서 API 키를 생성할 수 있습니다. 생성된 키는 rlk-로 시작합니다.

Python (OpenAI SDK)

Python
from openai import OpenAI

client = OpenAI(
    api_key="rlk-your-api-key",
    base_url="https://www.relayservice.im/api/v1"
)

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "user", "content": "Hello!"}
    ]
)

print(response.choices[0].message.content)

Node.js (OpenAI SDK)

JavaScript
import OpenAI from 'openai';

const client = new OpenAI({
    apiKey: 'rlk-your-api-key',
    baseURL: 'https://www.relayservice.im/api/v1'
});

const response = await client.chat.completions.create({
    model: 'gpt-4o-mini',
    messages: [
        { role: 'user', content: 'Hello!' }
    ]
});

console.log(response.choices[0].message.content);

API 엔드포인트

Base URLhttps://www.relayservice.im/api/v1
Chat CompletionsPOST /chat/completions
Image GenerationPOST /images/generations
인증 방식Authorization: Bearer rlk-xxx...

요청/응답 형식

요청 본문

JSON
{
  "model": "gpt-4o-mini",
  "messages": [
    {
      "role": "system",
      "content": "You are a helpful assistant."
    },
    {
      "role": "user",
      "content": "Hello!"
    }
  ],
  "temperature": 0.7,
  "max_tokens": 1000,
  "stream": false
}
파라미터타입필수설명
modelstringYes사용할 모델 ID
messagesarrayYes대화 메시지 배열
temperaturenumberNo샘플링 온도 (0-2, 기본값: 1)
max_tokensintegerNo최대 생성 토큰 수
streambooleanNo스트리밍 응답 여부

응답 형식

JSON
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1234567890,
  "model": "gpt-4o-mini",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 15,
    "total_tokens": 25
  }
}

이미지 생성

Relay는 OpenAI 호환 이미지 생성 API를 제공합니다. Google의 Gemini 2.5 Flash Image 모델을 사용하여 이미지를 생성할 수 있습니다.

이미지 생성 API

curl
curl https://www.relayservice.im/api/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer rlk-your-api-key" \
  -d '{
    "prompt": "A cute orange cat sitting on a couch",
    "n": 1,
    "size": "1024x1024"
  }'

요청 파라미터

파라미터타입필수설명
promptstringYes생성할 이미지에 대한 설명
modelstringNo사용할 모델 (기본값: gemini-2.5-flash-image)
nintegerNo생성할 이미지 수 (1-4, 기본값: 1)
sizestringNo이미지 크기 (예: 1024x1024, 1792x1024)
response_formatstringNo응답 형식: "b64_json" (기본값) 또는 "url"

지원 이미지 크기

크기비율용도
1024x10241:1정사각형 (기본값)
1792x102416:9와이드스크린
1024x17929:16세로형 (모바일)
1536x10243:2사진 비율

응답 형식

JSON
{
  "created": 1234567890,
  "data": [
    {
      "b64_json": "iVBORw0KGgoAAAANSUhEUgAA...",
      "revised_prompt": "A cute orange cat sitting on a couch"
    }
  ],
  "usage": {
    "prompt_tokens": 8,
    "completion_tokens": 1290,
    "total_tokens": 1298
  }
}

Python 예제

Python
import requests
import base64

url = "https://www.relayservice.im/api/v1/images/generations"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer rlk-your-api-key"
}
data = {
    "model": "gemini-2.5-flash-image",
    "prompt": "A cute orange cat sitting on a couch",
    "n": 1,
    "size": "1024x1024"
}

response = requests.post(url, headers=headers, json=data)
json_response = response.json()

# Base64 이미지 저장
image_data = base64.b64decode(json_response['data'][0]['b64_json'])
with open("cat.png", "wb") as f:
    f.write(image_data)

Chat Completions로 이미지 생성

Chat Completions API에서 gemini-2.5-flash-image 모델을 사용하면 대화형으로 이미지를 생성할 수 있습니다.

Python
import requests

url = "https://www.relayservice.im/api/v1/chat/completions"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer rlk-your-api-key"
}
data = {
    "model": "gemini-2.5-flash-image",
    "messages": [
        {"role": "user", "content": "Draw a cute puppy playing with a ball"}
    ]
}

response = requests.post(url, headers=headers, json=data)
json_response = response.json()

# 응답에 마크다운 이미지가 포함됨: ![Generated Image](data:image/png;base64,...)
print(json_response['choices'][0]['message']['content'])

지원 모델

현재 Relay에서 지원하는 모델 목록입니다. 모든 프로바이더의 모델을 동일한 OpenAI 호환 형식으로 호출할 수 있습니다.

OpenAI

모델 ID설명
gpt-5.2GPT-5.2 최신 모델
gpt-5.2-proGPT-5.2 Pro (고급 추론)
gpt-5.2-codexGPT-5.2 Codex (코딩 특화)
gpt-5-miniGPT-5 Mini (경량 버전)
gpt-4o-miniGPT-4o Mini

Anthropic

모델 ID설명
claude-opus-4-5-20251101Claude Opus 4.5 (최고 성능)
claude-sonnet-4-5-20250929Claude Sonnet 4.5 (균형)
claude-haiku-4-5-20251001Claude Haiku 4.5 (빠른 응답)

Google

모델 ID설명
gemini-3-pro-previewGemini 3 Pro Preview (현재 사용 불가)
gemini-3-flash-previewGemini 3 Flash Preview (현재 사용 불가)
gemini-2.5-proGemini 2.5 Pro
gemini-2.5-flashGemini 2.5 Flash
gemini-2.5-flash-liteGemini 2.5 Flash Lite (저비용)
gemini-2.5-flash-imageGemini 2.5 Flash Image (이미지 생성)

xAI

모델 ID설명
grok-3Grok 3 (고성능)
grok-3-miniGrok 3 Mini (경량 버전)

z.ai

모델 ID설명
glm-5GLM-5 (최신 모델)
glm-4.7GLM-4.7 (균형)
glm-4.7-flashxGLM-4.7 FlashX (고속)
glm-4.7-flashGLM-4.7 Flash (무료)

IDE 설정

Relay API는 OpenAI 호환 형식이므로 대부분의 AI 코딩 도구에서 사용할 수 있습니다.

VS Code - Continue

Continue 확장 프로그램을 설치한 후, ~/.continue/config.yaml 파일을 수정합니다.

YAML
models:
  - name: Relay GPT-4o
    provider: openai
    model: gpt-4o
    apiKey: rlk-your-api-key
    apiBase: https://www.relayservice.im/api/v1

  - name: Relay Claude
    provider: openai
    model: claude-3-5-sonnet-latest
    apiKey: rlk-your-api-key
    apiBase: https://www.relayservice.im/api/v1

  - name: Relay Grok
    provider: openai
    model: grok-3
    apiKey: rlk-your-api-key
    apiBase: https://www.relayservice.im/api/v1

  - name: Relay GLM
    provider: openai
    model: glm-5
    apiKey: rlk-your-api-key
    apiBase: https://www.relayservice.im/api/v1

Cursor

Cursor는 AI 기능이 내장된 코드 에디터입니다. Settings → Models → OpenAI API Key 섹션에서 설정합니다.

API Keyrlk-your-api-key
Base URLhttps://www.relayservice.im/api/v1

Zed

Zed는 고성능 코드 에디터입니다. ~/.config/zed/settings.json 파일을 수정합니다.

JSON
{
  "language_models": {
    "openai": {
      "api_url": "https://www.relayservice.im/api/v1",
      "available_models": [
        { "name": "gpt-4o", "max_tokens": 128000 },
        { "name": "claude-3-5-sonnet-latest", "max_tokens": 200000 }
      ]
    }
  }
}

API 키는 Zed 실행 시 OPENAI_API_KEY 환경변수로 설정하거나, 설정에서 입력합니다.

Cline (VS Code)

Cline 확장 프로그램을 설치한 후, 설정에서 API Provider를 "OpenAI Compatible"로 선택합니다.

API ProviderOpenAI Compatible
Base URLhttps://www.relayservice.im/api/v1
API Keyrlk-your-api-key
Model IDgpt-4o, claude-3-5-sonnet-latest, grok-3, glm-5

에러 코드

API 요청 시 발생할 수 있는 에러 코드입니다.

HTTP 코드에러 타입설명
400bad_request잘못된 요청 형식
401unauthorizedAPI 키가 없거나 유효하지 않음
402insufficient_credits크레딧 잔액 부족
404not_found모델을 찾을 수 없음
429rate_limit요청 한도 초과
500internal_error서버 내부 오류

에러 응답 형식

JSON
{
  "error": {
    "message": "Invalid API key provided",
    "type": "unauthorized",
    "code": 401
  }
}