인증
인증은 Authorization 헤더에 전달되는 단일 API 키에 의존합니다. 이 키는 이메일과 비밀번호로 API 키 받기 페이지에서 가입한 직후 생성됩니다. 언제든지 키를 재생성할 수 있으며, 이 경우 이전 키는 즉시 무효화됩니다. 초기 체험에는 신용카드가 필요 없으며, 프롬프트는 사용자 데이터 학습에 사용되지 않습니다. 선불 크레딧에 직접 접근할 수 있으므로 API 키를 안전하게 보관해야 합니다.
채팅 완료 엔드포인트
표준 POST /v1/chat/completions 엔드포인트를 사용하여 요청을 기본 URL https://api.nsfwllmrouter.com/v1로 전송합니다. 이 인터페이스는 텍스트 전용이며, 임베딩, 이미지, 오디오 또는 비디오 생성은 지원하지 않습니다. 전용 오픈 웨이트 모델을 사용하려면 모델을 uncensored로 지정해야 합니다. 이 모델은 자체 GPU 서버에서 실행되며 합법적인 성인 콘텐츠, 픽션 또는 논쟁적인 주제를 거부하지 않습니다. 이 모델은 GPT, Claude 또는 기타 벤더의 모델이 아닙니다.
curl https://api.nsfwllmrouter.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
요청 본문의 크기는 8 MB를 초과할 수 없습니다. OpenAI 호환 클라이언트와 동일하게 시스템, 사용자, 어시스턴트 메시지를 정의할 수 있습니다. 모델은 응답 스트림에 텍스트 출력을 직접 반환합니다.
Python SDK
공식 OpenAI Python 라이브러리로 빠르게 통합하세요. 클라이언트를 기본 URL로 설정하고 API 키를 제공하세요. 이 방식은 모든 OpenAI 호환 SDK에서 작동하며, 애플리케이션 로직 변경 없이 기본 URL만 교체하면 됩니다. uncensored 모델 ID는 특정 무검열 LLM과 상호작용함을 보장합니다.
from openai import OpenAI
client = OpenAI(base_url="https://api.nsfwllmrouter.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)
이것은 전용 무검열 API이므로 복잡한 라우팅을 관리하거나 여러 모델 간에 선택할 필요가 없습니다. 추론은 당사 인프라에서 처리됩니다. 다중 모델 라우팅이 필요한 경우 직접 구축해야 하지만, 여기서는 단일 최적화 모델로 선택이 고정됩니다.
Node SDK
Node.js 환경에서는 커스텀 기본 URL과 API 키를 사용하여 OpenAI 클라이언트를 초기화하세요. 이를 통해 표준 JavaScript/TypeScript 패턴으로 AI 애플리케이션을 빌드할 수 있습니다. 클라이언트는 OpenAI 사양에 따라 엔드포인트와 통신합니다.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.nsfwllmrouter.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);
환경에서 필요한 fetch 또는 http 라이브러리를 지원하는지 확인하세요. 응답 객체에는 생성된 텍스트를 포함하는 표준 choices 배열이 포함됩니다. 이 방법은 신뢰할 수 있는 무검열 텍스트 생성이 필요한 서버 측 렌더링 또는 API 백엔드에 이상적입니다.
스트리밍 응답
요청에 stream: true를 설정하여 스트리밍을 활성화하세요. API는 응답의 부분 청크를 포함하는 Server-Sent Events(SSE)를 반환합니다. 이는 텍스트가 생성되는 대로 표시하려는 실시간 인터페이스에 유용합니다. 모델은 표준 스트리밍 프로토콜을 지원하므로 기존 SSE 파서를 사용할 수 있습니다.
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)
각 청크에는 증분 텍스트가 포함됩니다. 애플리케이션에서 이러한 청크를 집계하여 전체 응답을 구성하세요. 스트리밍은 토큰 과금에 영향을 주지 않으며, 처리된 총 입력 및 출력 토큰에 대해 요금이 청구됩니다. 이 기능은 chat/completions 엔드포인트에서 지원됩니다.
속도 제한 및 제약 사항
각 API 키는 분당 300개의 요청으로 제한됩니다. 이를 초과하면 429 속도 제한 오류가 발생합니다. 요청 본문 최대 크기는 8 MB입니다. 키가 유효하지 않으면 401 오류가 발생하며, 선불 크레딧이 없으면 402 오류가 발생합니다. 컨텍스트 창은 프롬프트와 완료를 모두 포함하여 100,000 토큰입니다. SLA 보장은 없으며 온프레미스 배포나 모델 라우팅도 제공하지 않습니다. 대용량과 필터 없는 출력이 필요한 애플리케이션에 이 무검열 API를 사용하십시오.