연동 가이드

base_url만 Y-API로 바꾸면 나머지 코드는 그대로 두면 됩니다. 아래 예제는 복사해서 바로 실행할 수 있고, 20개 모델이 모두 같은 방식입니다.

1단계

기본 설정

OpenAI 호환 SDK라면 이 세 항목만 바꾸면 됩니다. api_key는 콘솔의 ‘API 키’ 페이지에서 발급하고, model에는 ‘지원 모델’에 있는 ID를 넣으세요.

base_url
https://api.y-api.bestvirtualgoods.com/v1
api_key
sk-...(콘솔에서 발급)
model
deepseek/deepseek-v4-flash

에이전트를 만들거나 클라이언트 코드를 생성하려면 기계가 읽는 OpenAPI 3.1 명세를 쓰세요. 실제로 존재하는 세 개의 엔드포인트, 요청과 응답의 모든 필드, 그리고 SDK가 알아서 재시도하는 실패까지 정리되어 있습니다.

모델 목록도 JSON으로 공개하며, 이 파일은 키 없이 읽을 수 있습니다. 모델 ID, 제공 업체, 그리고 크레딧 가격과 실제 결제 가격이 모두 들어 있습니다. 게이트웨이의 GET /v1/models 자체는 키가 필요합니다 — 이 파일은 인증이 없는 대체본이며, 내용은 마지막 빌드 시점 기준입니다.

2단계

첫 요청 보내기

세 예제는 모두 같은 동작을 합니다. 쓰시는 것을 복사하세요.

cURL
curl https://api.y-api.bestvirtualgoods.com/v1/chat/completions \
  -H "Authorization: Bearer $YAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek/deepseek-v4-flash",
    "messages": [{"role": "user", "content": "안녕하세요"}]
  }'
Python(openai SDK)
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.y-api.bestvirtualgoods.com/v1",
    api_key=os.environ["YAPI_KEY"],  # 콘솔에서 발급한 키
)

response = client.chat.completions.create(
    model="deepseek/deepseek-v4-flash",
    messages=[{"role": "user", "content": "안녕하세요"}],
)
print(response.choices[0].message.content)
Node.js(openai SDK)
import OpenAI from 'openai'

const client = new OpenAI({
  baseURL: 'https://api.y-api.bestvirtualgoods.com/v1',
  apiKey: process.env.YAPI_KEY, // 콘솔에서 발급한 키
})

const response = await client.chat.completions.create({
  model: 'deepseek/deepseek-v4-flash',
  messages: [{ role: 'user', content: '안녕하세요' }],
})
console.log(response.choices[0].message.content)

심화

스트리밍

stream 파라미터만 추가하면 됩니다. 돌아오는 청크는 OpenAI와 같은 SSE 형식이라 클라이언트에서 따로 처리할 것이 없습니다.

stream = client.chat.completions.create(
    model="deepseek/deepseek-v4-flash",
    messages=[{"role": "user", "content": "안녕하세요"}],
    stream=True,
)
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="")

심화

모델 전환

모든 모델이 같은 base_url과 같은 키를 쓰기 때문에, 전환은 model 필드만 바꾸면 끝입니다. 전체 목록은 ‘지원 모델’ 페이지에 있습니다.

# 저렴해서 고빈도·배치 작업에 적합
client.chat.completions.create(model="deepseek/deepseek-v4-flash", messages=msgs)

# 더 강력해서 복잡한 추론에 적합
client.chat.completions.create(model="deepseek/deepseek-v4-flash", messages=msgs)
전체 모델 목록 보기 →

문제 해결

오류 처리

가장 흔한 오류는 두 가지이고, 둘 다 콘솔의 요청 로그에 기록이 남습니다.

오류 처리
401의미키가 유효하지 않거나 이미 폐기되었습니다.처리 방법콘솔의 ‘API 키’ 페이지에서 키가 남아 있는지 확인하고, 필요하면 새로 발급하세요.
403의미계정 크레딧을 모두 사용했습니다. 429가 아니며, 메시지도 중국어로 오기 때문에 영어로 검색하면 아무것도 나오지 않습니다.처리 방법https://y-api.bestvirtualgoods.com/app/billing에서 충전하면 바로 복구됩니다. 키는 그대로 유효하고 코드도 고칠 필요가 없습니다.

원인을 상태 코드로 짐작하지 마세요. 이 사이트가 반환하는 상태 코드 7건 중 5건은 숫자가 뜻하는 것과 실제 원인이 다르고, 그중 2건은 공식 SDK가 기본값으로 두 번 조용히 재시도한 뒤에야 프로그램에 넘깁니다. 오류 코드 참고 페이지에 전부와, 각각이 실제로 반환하는 원문을 실어 두었습니다.

모든 오류 코드, 한 건씩 실측 →

아직 키가 없으신가요?

Google 또는 GitHub으로 로그인하면 계정이 자동으로 개설되고 기본 키 하나가 만들어집니다.