연동 가이드
base_url만 Y-API로 바꾸면 나머지 코드는 그대로 두면 됩니다. 아래 예제는 복사해서 바로 실행할 수 있고, 16개 모델이 모두 같은 방식입니다.
1단계
기본 설정
OpenAI 호환 SDK라면 이 세 항목만 바꾸면 됩니다. api_key는 콘솔의 ‘API 키’ 페이지에서 발급하고, model에는 ‘지원 모델’에 있는 ID를 넣으세요.
- base_url
- https://api.y-api.bestvirtualgoods.com/v1
- api_key
- sk-...(콘솔에서 발급)
- model
- deepseek/deepseek-v4-pro
2단계
첫 요청 보내기
세 예제는 모두 같은 동작을 합니다. 쓰시는 것을 복사하세요.
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-pro",
"messages": [{"role": "user", "content": "안녕하세요"}]
}'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-pro",
messages=[{"role": "user", "content": "안녕하세요"}],
)
print(response.choices[0].message.content)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-pro',
messages: [{ role: 'user', content: '안녕하세요' }],
})
console.log(response.choices[0].message.content)심화
스트리밍
stream 파라미터만 추가하면 됩니다. 돌아오는 청크는 OpenAI와 같은 SSE 형식이라 클라이언트에서 따로 처리할 것이 없습니다.
stream = client.chat.completions.create(
model="deepseek/deepseek-v4-pro",
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-pro", messages=msgs)문제 해결
오류 처리
가장 흔한 오류는 두 가지이고, 둘 다 콘솔의 요청 로그에 기록이 남습니다.
| 상태 코드 | 의미 | 처리 방법 |
|---|---|---|
| 401 | 의미키가 유효하지 않거나 이미 폐기되었습니다. | 처리 방법콘솔의 ‘API 키’ 페이지에서 키가 남아 있는지 확인하고, 필요하면 새로 발급하세요. |
| 429 | 의미계정 크레딧을 모두 사용했습니다. | 처리 방법https://y-api.bestvirtualgoods.com/app/billing에서 충전하면 바로 복구됩니다. 키는 그대로 유효하고 코드도 고칠 필요가 없습니다. |
나머지 상태 코드와 오류 응답 구조는 OpenAI 규약을 따르므로, 기존 오류 처리 코드를 그대로 쓸 수 있습니다.