쿠키를 사용합니다. 쿠키와 브라우저 저장소는 로그인 상태를 유지하고 환경설정을 기억합니다. 동의하시면 사이트 이용 방식도 측정합니다. 언제든지 할 수 있습니다. 자세한 내용은 쿠키 정책을 참고하세요.

OpenAI SDK 호환성

시작하기

OpenAI SDK 호환성

기존 OpenAI SDK 코드에서 기본 URL과 API 키 두 값만 바꿔 api14로 옮기는 방법입니다. OpenAI 및 다른 호환 API에서의 이전 절차, 호환 기능, SDK의 추가 파라미터 전달을 다룹니다. 언어별 설정 예시를 곁들였습니다.

api14는 OpenAI API를 그대로 지원합니다. 공식 OpenAI SDK는 물론, 사용자 지정 OpenAI 베이스 URL을 받는 도구라면 코드를 바꾸지 않고 동작합니다. 베이스 URL과 API 키만 바꾸면 됩니다.

바꿔야 할 두 가지 값

설정값
베이스 URLhttps://api14.com/api/v1
API 키본인의 sk-api14-... 키
import OpenAI from 'openai'

const client = new OpenAI({
  baseURL: 'https://api14.com/api/v1',
  apiKey: process.env.API14_API_KEY,
})
import os
from openai import OpenAI

client = OpenAI(base_url="https://api14.com/api/v1", api_key=os.environ["API14_API_KEY"])

많은 SDK가 OPENAI_BASE_URL과 OPENAI_API_KEY 환경 변수도 읽기 때문에, 코드를 전혀 건드리지 않고 전환할 수도 있습니다.

호환되는 기능

OpenAI 기능api14
chat.completions.create(stream, tools, response_format 포함)모든 텍스트 모델에서 지원
responses.create지원
completions.create지원
embeddings.create지원
images.generate지원(/images/generations)
audio.speech.create지원
audio.transcriptions.create지원(multipart)
models.list / models.retrieve지원, 가격과 카테고리 포함
오류 형식 { error: { message, type, code } }동일, SDK가 평소처럼 APIError를 발생시킵니다

OpenAI에만 있는 엔드포인트(Assistants, Threads, 파인튜닝, 파일, 배치, 벡터 스토어, 모더레이션)는 사용할 수 없습니다.

OpenAI에서 이전하기

  1. 베이스 URL을 https://api14.com/api/v1로 설정하고 api14 키를 사용합니다.
  2. 모델 이름 앞에 제공업체를 붙입니다. gpt-5-mini는 openai/gpt-5-mini가 되고, text-embedding-3-small은 openai/text-embedding-3-small이 됩니다.
  3. 끝입니다. 이제 모델 ID만 바꾸면 anthropic/claude-sonnet-4.5나 google/gemini-2.5-pro 같은 다른 제공업체로도 전환할 수 있습니다.
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api14.com/api/v1",
  apiKey: process.env.API14_API_KEY,
});

const result = await client.chat.completions.create({
  "model": "openai/gpt-5-mini",
  "messages": [
    {
      "role": "user",
      "content": "Explain vector databases in two sentences."
    }
  ]
});
console.log(result.choices[0].message.content);

다른 OpenAI 호환 API에서 이전하기

  1. 베이스 URL을 https://api14.com/api/v1로 바꿉니다.
  2. API 키를 api14 키로 바꿉니다.
  3. 모델 ID는 provider/model 형식(예: openai/gpt-5-mini)으로 지정합니다. 변형(:free, :online, :nitro, :floor), provider 라우팅, models 폴백, reasoning, plugins, transforms, usage도 사용할 수 있습니다.

알아 두어야 할 차이점:

  • 결제는 USD 잔액으로 이루어집니다. GET /credits는 total_credits와 total_usage(모두 USD)에 더해 balance_usd 필드를 반환합니다. 잔액 및 키 정보를 참고하세요.
  • 사용 비용이 항상 포함됩니다. 게이트웨이는 업스트림에 항상 usage.cost를 요청하므로 모든 응답에 가격이 표시됩니다.
  • HTTP-Referer, X-Title 같은 헤더는 게이트웨이가 설정하므로 직접 보낼 필요가 없습니다.
  • 동영상 작업 URL은 업스트림이 아니라 항상 api14(/api/v1/videos/{id})를 가리킵니다. 동영상을 참고하세요.

SDK에서 추가 파라미터 사용하기

OpenAI SDK가 모르는 필드도 보낼 수 있습니다.

await client.chat.completions.create({
  model: 'openai/gpt-5-mini',
  messages: [{ role: 'user', content: 'Hi' }],
  // @ts-expect-error api14 extension
  provider: { sort: 'price' },
})
client.chat.completions.create(
    model="openai/gpt-5-mini",
    messages=[{"role": "user", "content": "Hi"}],
    extra_body={"provider": {"sort": "price"}},
)

제공업체 라우팅 및 폴백, 추론, 웹 검색을 참고하세요.