KO ▾
API 키 받기
  1. Nsfwchat
  2. NSFW 채팅: 시작 가이드: 무검열 LLM 통합

NSFW 채팅: 시작 가이드: 무검열 LLM 통합

표준 OpenAI 호환 엔드포인트를 사용하여 무검열 LLM API를 통합하세요. 이 시작 가이드에는 인증, 요청 형식 및 대용량 텍스트 생성을 위한 스트리밍이 포함되어 있습니다.

Base URL 및 인증

모든 요청에 전용 Base URL을 사용하세요. 인증은 가입 시 생성된 단일 API 키에 의존합니다. Authorization 헤더에 Bearer 토큰으로 키를 포함하세요. 키는 생성 직후 표시됩니다. 각 계정에는 활성 키가 하나만 있으며, 새 키를 생성하면 이전 키가 대체됩니다.

Base URL은 다음과 같습니다: https://api.nsfwchat.cc/v1. 추가 라우팅이나 프록시 레이어가 필요하지 않습니다. 이 설정은 Base URL과 API 키를 조정하면 모든 OpenAI 호환 클라이언트에서 작동합니다.

채팅 완료

POST /v1/chat/completions 엔드포인트로 텍스트 프롬프트를 보내세요. 모델 ID는 uncensored입니다. 이 엔드포인트는 표준 채팅 메시지를 받아 생성된 텍스트를 반환합니다. 임베딩, 이미지 또는 오디오는 지원되지 않습니다. 이 모델은 합법적인 성인 콘텐츠에 대한 무검열 응답에 맞게 조정되었습니다.

페이로드에 모델 ID와 메시지 기록이 포함되어 있는지 확인하세요. API는 텍스트 입력을 처리하고 텍스트 출력을 직접 반환합니다.

curl https://api.nsfwchat.cc/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."}]
  }'

Python SDK

통합을 위해 공식 OpenAI Python SDK를 사용하세요. base_url을 API 엔드포인트로 설정하고 API 키를 제공하세요. SDK는 직렬화 및 오류 파싱을 자동으로 처리합니다. temperature 및 top_p과 같은 매개변수를 구성하여 출력 무작위성을 제어하세요.

키와 Base URL로 클라이언트를 초기화하세요. 모델 ID와 메시지로 chat.completions.create()을 호출하세요. 이 접근 방식은 간단한 텍스트 생성 작업에 대한 보일러플레이트 코드를 줄입니다.

from openai import OpenAI

client = OpenAI(base_url="https://api.nsfwchat.cc/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)

Node SDK

Node.js OpenAI SDK는 Python 버전과 동일하게 작동합니다. 커스텀 Base URL과 API 키로 클라이언트를 구성하세요. 요청을 보내려면 chat.completions.create 메서드를 사용하세요.

이 방법은 서버 측 통합에 이상적입니다. SDK는 연결 풀링 및 재시도를 관리합니다. 무검열 응답을 보장하려면 모델을 uncensored로 설정하세요. 역할과 콘텐츠 객체의 배열로 메시지를 전달하세요.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.nsfwchat.cc/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);

스트리밍 응답

요청에 stream: true을 설정하여 스트리밍을 활성화하세요. API는 서버 전송 이벤트(SSE)를 반환합니다. 각 청크에는 부분 텍스트가 포함됩니다. 토큰 사용 세부 정보는 마지막 청크에 나타납니다.

스트리밍은 긴 출력에 대한 지각된 지연 시간을 줄입니다. 전체 응답을 복원하려면 각 청크를 순차적으로 처리하세요. 이 방법은 실시간 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)

속도 제한 및 오류

서비스 중단 방지를 위해 속도 제한을 준수하세요. API는 분당 300개 요청과 키당 8개의 동시 요청을 허용합니다. 최대 요청 본문 크기는 8 MB입니다. 401 상태는 유효하지 않거나 누락된 API 키를 나타냅니다. 429 상태는 속도 제한을 초과했음을 나타냅니다.

프롬프트와 생성물을 합친 컨텍스트 창은 100,000 토큰입니다. 이 한도를 초과하면 요청이 거부됩니다. 잘라내지 않으므로 입력이 창 내에 들어맞도록 해야 합니다. 402 상태 코드는 선불 잔액이 부족함을 나타냅니다. 오류와 거부는 크레딧을 소모하지 않습니다.

기술 사양

크레딧을 구매하기 전에 확인할 수 있도록 API의 실제 한도와 기능을 한곳에 정리했습니다.

항목내용
형식OpenAI 호환: 어떤 OpenAI SDK든 base URL과 키만 바꾸면 동작
모델 IDuncensored
인증Authorization: Bearer YOUR_KEY
Base URLhttps://api.nsfwchat.cc/v1
엔드포인트POST /v1/chat/completions · GET /v1/models
JSON 모드response_format: {"type": "json_object"}
컨텍스트 창100,000 토큰 (입력 + 출력)
스트리밍지원 — SSE, 마지막 청크에 토큰 사용량 포함
파라미터temperature, top_p, stop, seed, presence_penalty, frequency_penalty
함수 호출지원 — tools, tool_choice; 응답에 tool_calls (스트리밍 포함), 결과는 role: tool로 전송
최대 출력100,000 토큰 윈도우의 남은 만큼; max_tokens는 선택 사항(별도 상한 없음)
요청 크기최대 8 MB
응답 헤더X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
동시 요청키당 동시 8개
속도 제한키당 분당 300회
유효기간유료 크레딧은 만료되지 않으며 구독 없음
과금선불 크레딧에서 실제 사용량만큼 차감, 오류·거부는 무료
충전USDT (TRC20) 또는 USDC (Base), $10~$500 사이 원하는 정수 금액
무료 체험$0.50, 7일, 카드 불필요 · 체험 키: 동시 요청 2건, 분당 60건. 첫 충전 후 전체 한도(8건, 300건) 적용
보너스$50 이상 +5%, $100 이상 +10%
가격입력 100만 토큰당 $0.25 · 출력 100만 토큰당 $1.00
키계정당 활성 키 1개, 새 키를 만들면 이전 키는 무효
로그인Google 또는 이메일과 비밀번호
콘텐츠성인 콘텐츠 허용, 미성년자가 관련된 성적 콘텐츠는 거부

오류 코드

오류는 고정된 type을 가진 JSON으로 반환되며, 실패하거나 거부된 요청은 과금되지 않습니다.

코드유형의미
400bad_request잘못된 JSON, 빈 메시지, 잘못된 파라미터 또는 컨텍스트 초과
401missing_key · invalid_key · key_revoked키 없음·잘못됨·새 키로 교체됨
402no_credit잔액 없음 — 충전하면 즉시 재개
403content_blocked미성년자 관련 성적 콘텐츠 — 거부, 과금 없음
404not_found알 수 없는 엔드포인트
413request_too_large본문 8 MB 초과
429rate_limited · concurrency분당 300회 또는 동시 8개 초과 — 잠시 후 재시도
503upstream_busy모델 혼잡 — 몇 초 후 재시도

질문과 답변

API는 함수 호출을 지원하나요?

네, API는 <code>tools</code> 및 <code>tool_choice</code> 매개변수를 통해 함수 호출을 지원합니다. 요청에 도구를 정의하면 모델이 도구 사용에 대한 구조화된 JSON을 반환합니다. 이 기능은 표준 OpenAI 호환 클라이언트에서 작동합니다.

컨텍스트 창 크기는 얼마인가요?

컨텍스트 창은 프롬프트와 생성을 합쳐 100,000 토큰입니다. 요청당 최대 출력은 32,000 토큰이며, <code>max_tokens</code>을 설정하지 않으면 2,048 토큰입니다. 이 창을 초과하는 요청은 거부됩니다.

오류는 어떻게 처리되나요?

오류 응답에는 상태 코드와 메시지가 포함됩니다. <code>401</code> 코드는 API 키가 유효하지 않음을 의미합니다. <code>429</code> 코드는 속도 제한에 도달했음을 의미합니다. <code>402</code> 코드는 선불 잔액이 부족함을 나타냅니다. 오류는 토큰 크레딧을 소모하지 않습니다.

키는 양식 하나만 작성하면 받을 수 있습니다

계정을 생성하고 키를 복사한 후 Base URL을 변경하세요. 설정은 이것뿐입니다.