빠른 시작: 무검열 텍스트 API 통합
코드 몇 줄로 콘텐츠 파이프라인에 무검열 텍스트 완성 API를 통합하세요. 표준 OpenAI 호환 채팅 완성 엔드포인트를 사용하여 콘텐츠 거부 없이 스크립트, 캡션 또는 다듬은 프롬프트를 생성하세요.
베이스 URL 및 인증
베이스 URL을 https://api.contentmoderationapis.com/v1로 설정하세요. 이 엔드포인트는 공식 OpenAI SDK 및 모든 OpenAI 호환 클라이언트와 호환됩니다. API 키가 필요하며, 이메일과 비밀번호만으로 가입한 후 API 키 받기 페이지에서 즉시 생성할 수 있습니다. 키는 한 번만 표시되므로 안전하게 저장하세요. 각 계정에는 하나의 키만 허용되며, 언제든지 재생성할 수 있으며 이때 이전 키는 무효화됩니다. 체험 크레딧에는 카드가 필요하지 않습니다.
첫 번째 요청
/v1/chat/completions로 POST 요청을 보내고 Authorization 헤더에 키를 포함하세요. 무검열 대규모 언어 모델에 액세스하려면 모델 ID uncensored를 사용하세요. 이 모델은 주요 제공업체의 일반적인 제한 없이 프롬프트 개선, 대본 작성 및 캡션 작성을 처리합니다. 이 모델은 미성년자가 포함된 성적인 콘텐츠를 제외하고 합법적인 성인 사용에 맞게 조정된 오픈 웨이트 모델입니다. 요청 본문이 8 MB를 초과하지 않도록 하세요.
curl https://api.contentmoderationapis.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."}]
}'
Python SDK 통합
공식 OpenAI Python SDK를 사용하여 API와 상호 작용하세요. 클라이언트 초기화 시 base_url 및 api_key을 설정하세요. 이 방법은 OpenAI용으로 설계된 기존 코드베이스와 원활하게 작동합니다. 이 모델은 함수 호출 및 스트리밍을 지원합니다. 클라이언트를 구성하여 베이스 URL을 가리키게 하면 요청이 우리의 무검열 추론 엔진으로 라우팅됩니다. 이는 다른 모달리티로 생성된 텍스트를 사후 처리하거나 이미지 또는 비디오 모델에 보내기 전에 프롬프트를 개선하는 데 이상적입니다.
from openai import OpenAI
client = OpenAI(base_url="https://api.contentmoderationapis.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)
Node.js SDK 예제
커스텀 베이스 URL과 API 키로 OpenAI Node.js 클라이언트를 초기화하세요. uncensored 모델은 표준 채팅 완성 매개변수에 응답합니다. 출력의 어조나 형식을 안내하기 위해 시스템 프롬프트를 전달할 수 있습니다. 이는 캡션 및 스크립트에 대한 구조화된 데이터 또는 일관된 스타일을 생성하는 데 유용합니다. API는 파이프라인의 텍스트 생성 구성 요소를 처리하므로 이미지, 비디오 또는 음성 워크플로우에 출력을 통합하는 데 집중할 수 있습니다.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.contentmoderationapis.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);
스트리밍 응답
요청에 stream: true을 설정하여 스트리밍을 활성화하세요. API는 실시간 토큰 전달을 위해 서버 전송 이벤트(SSE)를 반환합니다. 이는 스크립트나 상세한 캡션과 같은 긴 형식 콘텐츠를 기다리는 사용자의 지각된 지연 시간을 줄입니다. 스트리밍은 원시 HTTP 클라이언트와 SDK 모두에서 작동합니다. 스트림을 모니터링하여 오류 또는 완료 이벤트를 확인하여 최종 응답을 처리하세요. 이 방법은 최대 100,000개의 토큰까지 큰 컨텍스트 창에 효율적입니다.
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개의 요청 제한을 적용합니다. 이를 초과하면 429 상태 코드를 받게 됩니다. 인증 오류는 유효하지 않은 키의 경우 401을 반환하며, 402는 선불 크레딧 부족을 나타냅니다. 요청은 입력 토큰당($0.25/1M) 및 출력 토큰당($1.00/1M) 요금이 부과됩니다. 크레딧은 선불이며, 만료되지 않으며 구독이 필요하지 않습니다. 이 모델은 이미지, 오디오 또는 비디오 생성을 제공하지 않으며, 임베딩이나 파인튜닝도 제공하지 않습니다. 콘텐츠 파이프라인의 텍스트 생성 작업에 이 API를 엄격히 사용하세요.
API 사양
크레딧을 구매하기 전에 확인할 수 있도록 API의 실제 한도와 기능을 한곳에 정리했습니다.
| 항목 | 내용 |
|---|---|
| 형식 | OpenAI 호환: 어떤 OpenAI SDK든 base URL과 키만 바꾸면 동작 |
| Base URL | https://api.contentmoderationapis.com/v1 |
| 인증 | Authorization: Bearer YOUR_KEY |
| 엔드포인트 | POST /v1/chat/completions · GET /v1/models |
| 모델 ID | uncensored |
| 함수 호출 | 지원 — tools, tool_choice; 응답에 tool_calls (스트리밍 포함), 결과는 role: tool로 전송 |
| 스트리밍 | 지원 — SSE, 마지막 청크에 토큰 사용량 포함 |
| 파라미터 | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| 최대 출력 | 100,000 토큰 윈도우의 남은 만큼; max_tokens는 선택 사항(별도 상한 없음) |
| 컨텍스트 창 | 100,000 토큰 (입력 + 출력) |
| JSON 모드 | response_format: {"type": "json_object"} |
| 속도 제한 | 키당 분당 300회 |
| 응답 헤더 | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| 동시 요청 | 키당 동시 8개 |
| 요청 크기 | 최대 8 MB |
| 과금 | 선불 크레딧에서 실제 사용량만큼 차감, 오류·거부는 무료 |
| 무료 체험 | $0.50, 7일, 카드 불필요 · 체험 키: 동시 요청 2건, 분당 60건. 첫 충전 후 전체 한도(8건, 300건) 적용 |
| 가격 | 입력 100만 토큰당 $0.25 · 출력 100만 토큰당 $1.00 |
| 보너스 | $50 이상 +5%, $100 이상 +10% |
| 유효기간 | 유료 크레딧은 만료되지 않으며 구독 없음 |
| 충전 | USDT (TRC20) 또는 USDC (Base), $10~$500 사이 원하는 정수 금액 |
| 로그인 | Google 또는 이메일과 비밀번호 |
| 콘텐츠 | 성인 콘텐츠 허용, 미성년자가 관련된 성적 콘텐츠는 거부 |
| 키 | 계정당 활성 키 1개, 새 키를 만들면 이전 키는 무효 |
오류 코드
오류는 고정된 type을 가진 JSON으로 반환되며, 실패하거나 거부된 요청은 과금되지 않습니다.
| 코드 | 유형 | 의미 |
|---|---|---|
400 | bad_request | 잘못된 JSON, 빈 메시지, 잘못된 파라미터 또는 컨텍스트 초과 |
401 | missing_key · invalid_key · key_revoked | 키 없음·잘못됨·새 키로 교체됨 |
402 | no_credit | 잔액 없음 — 충전하면 즉시 재개 |
403 | content_blocked | 미성년자 관련 성적 콘텐츠 — 거부, 과금 없음 |
404 | not_found | 알 수 없는 엔드포인트 |
413 | request_too_large | 본문 8 MB 초과 |
429 | rate_limited · concurrency | 분당 300회 또는 동시 8개 초과 — 잠시 후 재시도 |
503 | upstream_busy | 모델 혼잡 — 몇 초 후 재시도 |
질문과 답변
컨텍스트 창 크기는 얼마인가요?
이 모델은 프롬프트와 완성을 합쳐 100,000개의 토큰 컨텍스트 창을 지원합니다. 이는 잘림 없이 대량의 입력 데이터와 긴 형식의 출력 생성을 가능하게 합니다.
체험 크레딧에 대해 요금이 부과되나요?
아니요. 모든 신규 계정에는 7일 동안 유효한 $0.50의 체험 크레딧이 제공됩니다. 시작하기 위해 신용카드가 필요하지 않습니다. 유료 선불 크레딧은 만료되지 않으며 $10부터 충전할 수 있습니다.
모델이 제 프롬프트로 학습되나요?
아니요. API로 전송된 프롬프트는 모델 학습에 사용되지 않습니다. 계정을 생성하려면 이메일과 비밀번호만 있으면 되므로, 특정 파이프라인 요구 사항에 맞게 콘텐츠가 비공개로 유지됩니다.
키는 양식 하나만 작성하면 받을 수 있습니다
계정을 생성하고 키를 복사한 후 베이스 URL을 변경하세요. 설정이 이것뿐입니다.