ko ▾
키를 받으세요

OpenRouter API 문서

표준 OpenAI 호환 인터페이스를 사용하여 uncensored LLM에 애플리케이션을 연결하세요. 이 가이드는 인증, 요청 형식 및 스트리밍을 다루어 신속한 통합을 지원합니다.

빠른 시작: Python으로 연결

공식 SDK를 설치하고 기본 URL을 당사 URL로 설정하세요.

API는 표준 OpenAI 인터페이스처럼 동작하지만 단일 uncensored 모델로 라우팅됩니다. 이 접근 방식은 프록시 복잡성을 제거하면서 코드의 이식성을 유지합니다.

  • pip를 통해 라이브러리를 설치합니다.
  • 환경에 API 키를 설정하세요
  • 엔드포인트를 위한 기본 URL을 정의하세요.
from openai import OpenAI

client = OpenAI(base_url="https://api.apiopenrouter.com/v1", api_key="YOUR_KEY")

resp = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)

플레이스홀더 키를 자신의 자격 증명으로 교체하세요. 간단한 프롬프트나 복잡한 구조화된 데이터를 보낼 수 있습니다.

인증 및 키

대시보드에서 키를 생성하고 Authorization 헤더에 전달하세요.

각 계정은 동시에 하나의 활성 키를 지원합니다. 새 키를 생성하면 이전 키가 즉시 작동을 멈춥니다. 이는 복잡한 교체 로직 없이 보안 관리를 단순화합니다.

curl https://api.apiopenrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the top 5 dependencies for a Go web server"}]
  }'

위의 요청은 Bearer 스키마를 사용합니다. 키가 다음으로 시작하는지 확인하십시오. sk- 여분의 공백이 없습니다.

채팅 완료 엔드포인트

다음으로 메시지 전송 /v1/chat/completions 표준 JSON을 사용하는 엔드포인트입니다.

모델은 user 및 assistant 역할. 출력 스타일을 제어하기 위해 temperature, top-p, 및 stop 시퀀스를 구성할 수 있습니다. 스트리밍이 활성화된 경우 응답은 마지막 청크에서 토큰 사용량을 반환합니다.

import OpenAI from "openai";

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

const resp = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);

設定 max_tokens 출력 길이를 제어합니다. 이 필드를 생략하면 기본값은 2,048 토큰입니다. 이 모델은 요청당 최대 16,000 토큰까지 지원합니다.

스트리밍 응답

stream을 true로 설정하여 스트리밍 활성화 stream: true 요청 본문에 포함하세요.

토큰 사용량 세부 정보는 스트림의 마지막 청크에만 표시됩니다. 이를 통해 실시간 UI 업데이트를 유지하면서도 정확한 청구 데이터를 보존할 수 있습니다. 스트리밍 중에도 청구된 토큰에 대한 사용량이 보고됩니다.

stream = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Tell the story in second person."}],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

부분 응답을 우아하게 처리하세요. 모델이 생성을 완료하거나 컨텍스트 제한에 도달하면 스트림이 정상적으로 종료됩니다.

함수 호출 & JSON 모드

사용 response_format: {type: "json_object"} 엄격한 JSON 출력

다음에 도구를 정의하세요 tools 배열 및 설정 tool_choice 함수 호출을 강제합니다. 모델은 프로그래밍 처리에 적합한 구조화된 데이터를 반환합니다. 이는 우리의 uncensored 가중치와 함께 신뢰할 수 있게 작동합니다.

curl https://api.apiopenrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the top 5 dependencies for a Go web server"}]
  }'

상호작용 경험을 위해 함수 호출과 스트리밍을 결합하세요. 애플리케이션 로직에 전달하기 전에 JSON 출력을 검증하세요.

제한 사항 및 할당량

키별 제한에 맞춰 사용량을 모니터링하여 중단을 방지하세요.

각 키는 분당 300회 요청 및 8개의 동시 요청을 허용합니다. 요청 본문 크기 제한은 8 MB입니다. 이러한 제한을 초과하면 API가 429 상태 코드를 반환합니다. 인증 오류는 401을, 잔액 부족은 402를 반환합니다.

curl https://api.apiopenrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the top 5 dependencies for a Go web server"}]
  }'

컨텍스트 윈도우는 총 100,000 토큰입니다. 오류는 크레딧을 소모하지 않습니다. 경미한 콘텐츠 위반으로 인한 거부도 무료입니다.

자주 묻는 질문

openrouter API는 표준 OpenAI와 어떻게 다른가요?

당사의 API는 거절 없이 합법적인 성인 및 창작 콘텐츠에 최적화된 단일 무검열 모델을 사용합니다. OpenAI와 동일한 요청 및 응답 구조를 유지하므로 코드를 변경하지 않고도 엔드포인트를 교체할 수 있습니다.

크레딧이 부족해지면 어떻게 되나요?

예치 잔액이 0이 되면 402 오류가 반환됩니다. 크레딧은 만료되지 않으므로 언제든지 암호화폐로 충전할 수 있습니다. 오류 및 거부된 요청은 잔액을 소모하지 않습니다.

다른 프로젝트에 여러 키를 사용할 수 있나요?

각 계정은 하나의 활성 키를 지원합니다. 새 키를 생성하면 이전 키가 자동으로 무효화됩니다. 청구 기록을 잃지 않고 대시보드에서 새 키를 즉시 생성할 수 있습니다.

API 키 검색

가입하고, 토큰을 복사한 후, 베이스 URL을 업데이트하세요. 전체 설정입니다.

키를 받으세요