인증 및 Base URL
API 키는 모든 요청을 인증합니다. Google 또는 이메일을 통해 대시보드에서 키를 생성하세요. 전화번호 인증이 필요하지 않습니다. 이 키를 Authorization 헤더. 모든 요청의 기본 URL은 HTTPS://api.modelsnsfw.com/v1. 이 엔드포인트는 기본 URL을 변경하고 키를 제공하기만 하면 모든 OpenAI 호환 클라이언트와 함께 작동합니다.
curl https://api.modelsnsfw.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List all available nsfw model tiers and their monthly costs."}]
}'
채팅 완료 엔드포인트
텍스트를 보내고 텍스트를 받습니다. POST /v1/chat/completions. 모델 ID는 uncensored법적 성인 콘텐츠에 대해 거부 없이 응답하도록 튜닝된 오픈 가중치 모델입니다. 이는 GPT, Claude 또는 기타 벤더 모델이 아닙니다. 입력 토큰은 백만 토큰당 $0.15, 출력 토큰은 백만 토큰당 $0.50입니다. 오류는 무료입니다.
from openai import OpenAI
client = OpenAI(base_url="https://api.modelsnsfw.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)
스트리밍 응답 (SSE)
stream을 true로 설정하여 스트리밍 활성화 stream: trueAPI는 마지막 청크에 토큰 사용량이 포함된 Server-Sent Events(SSE)를 반환합니다. 이는 실시간 채팅 인터페이스에 이상적입니다. 부분 토큰을 즉시 받습니다. 이는 사용자의 지각된 지연을 크게 줄입니다.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.modelsnsfw.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);
함수 호출 & JSON 모드
사용 response_format: {"type": "json_object"} 구조화된 출력을 위해. 함수 호출을 위한 도구를 정의할 수도 있습니다. 이 모델은 temperature, top_p, stop, 그리고 seed 매개변수입니다. 필요한 경우 결정론적인 결과를 보장합니다. JSON 모드는 출력을 유효한 JSON 형식으로 강제합니다.
속도 제한 및 제약 조건
키당 분당 요청 수는 300개로 제한됩니다. 최대 8개의 요청만 동시에 실행할 수 있습니다. 요청 본문은 8MB를 초과해서는 안 됩니다. 요청을 너무 많이 보내면 429 오류가 발생합니다. 유효하지 않은 키는 401을 반환합니다. 크레딧 부족은 402를 반환합니다. 처리 중 오류가 발생해도 선불 크레딧은 소모되지 않습니다.
토큰 사용 및 청구
컨텍스트 윈도우는 총 100,000 토큰입니다. 요청당 최대 출력은 16,000 토큰입니다. If max_tokens 설정되지 않음), 기본값은 2,048입니다. 크레딧은 선불이며 만료되지 않습니다. 추가 충전은 암호화폐 전용(USDT/TRC20 또는 USDC/Base)입니다. 대량 충전 시 보너스 크레딧이 제공됩니다. 구독이 필요하지 않습니다.
스트리밍
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)