Neuroslop API
API와 MCP로 탐지, 상세 분석, 휴머나이징을 앱이나 AI 어시스턴트에 연결하세요.
누구를 위한 것인가요
콘텐츠 플랫폼 및 CMS
파이프라인에서 텍스트를 스크리닝하고 QA하세요: 게시 전 기계 생성 콘텐츠를 플래그하고, 필요할 때 휴먼화하세요.
에이전시 및 SEO 도구
자사 제품 하위에서 대량으로 검사하고 휴먼화하세요. 하나의 키, 단위 기반, 수동 승인 불필요.
에듀테크 및 글쓰기 도구
제출물에 점수를 매기고, 블랙박스 퍼센트 대신 정확한 마커와 함께 작성자가 직접 확인할 수 있게 하세요.
이 API를 선택해야 하는 이유
결정론적 검사
웹사이트의 규칙 기반 검사는 입력, 설정, 엔진 버전, 규칙과 사전의 스냅샷이 같으면 재현할 수 있습니다.
하나의 키로 감지하고 수정
하나의 키로 검사하고 자연스럽게 고치세요. 분석이 적용될 때 전후 점수를 반환하며, 사용할 수 없는 점수는 null입니다.
언어를 고려한 결과
응답은 분석의 적용 가능성을 알려 줍니다. 산문 규칙은 러시아어와 영어가 가장 충실하며, 다른 언어는 분석이 제한될 수 있습니다.
가격: 유닛
앱, 봇, MCP를 위한 API 텍스트 검사 및 수정. 유닛 사용량은 작업과 텍스트 길이에 따라 달라집니다. 각 패키지에 한도 조건이 표시되며 기존 키는 구매 당시 조건을 유지합니다.
웹사이트에서는 카드, SBP 또는 USDT로, 봇에서는 Telegram Stars로 결제할 수 있습니다. 표시 가격은 예상 금액이며, 정확한 금액과 통화는 결제 화면에서 확인할 수 있습니다.
3,000단위 팩은 검사 3,000회 또는 스탠다드 휴먼화 100회 또는 프리미엄 30회야. 검사는 가중치 1, 스탠다드는 2500자당 30, 프리미엄은 7500자당 100.
MCP 서버
MCP를 통해 Neuroslop을 AI 에이전트에 연결하세요 - 에이전트가 텍스트를 검사하고, 휴먼화하고, 숨겨진 문자를 자동으로 제거합니다. Claude Code, Cursor, Codex, OpenClaw에서 작동합니다.
neuroslop_check
AI 글쓰기 신호, 반복 구문, 리듬과 구조를 검사하세요. 해당 문장과 결과에 대한 설명을 확인하세요. 호스팅된 HTTPS API를 통해 무료로 key 없이 작동하며, 남용 방지 요청 제한이 적용됩니다.
neuroslop_humanize
AI 초안의 표현을 다듬고 자연스럽게 바꾸세요. 버전을 비교하며 중요한 세부 정보를 확인하세요. API key가 필요한 도구는 neuroslop_humanize뿐입니다.
neuroslop_clean
숨겨진 문자 제거: 제로폭 공백, 동형 문자. 로컬 실행, 키 불필요.
연결 방법
- 호스팅된 HTTPS API를 통해 무료로 key 없이 작동하며, 남용 방지 요청 제한이 적용됩니다. 숨겨진 문자 제거: 제로폭 공백, 동형 문자. 로컬 실행, 키 불필요. API key가 필요한 도구는 neuroslop_humanize뿐입니다.
- Download neuroslop-mcp.mjs and add the config:
{
"mcpServers": {
"neuroslop": {
"command": "node",
"args": ["neuroslop-mcp.mjs"]
}
}
}
- 절대 경로를 바꾸세요. NEUROSLOP_API_KEY는 선택 사항이며 neuroslop_humanize에서만 사용합니다. neuroslop_check와 neuroslop_clean은 key 없이 작동합니다.
인증
MCP는 무료이며 요청 속도가 제한되는 POST /api/check를 사용합니다. POST /v1/check는 키가 필요하고 해당 단위를 사용합니다. GET /v1/health는 키가 필요 없습니다.
/v1/check, /v1/rewrite, /v1/balance에는 헤더로 키를 보내세요: Authorization: Bearer <key> / X-API-Key: <key>.
수동 승인 없이 두 가지 방법으로 키를 받으세요:
- 사이트에서 — 내 계정 → API: 팩을 고르고 카드, SBP 또는 USDT로 결제하면 키가 즉시 발급됩니다.
- Telegram 봇에서 — @AITextChecker_bot → «🔌 API»: Telegram Stars로 결제하면 키가 채팅으로 옵니다.
가격: 유닛
| 호출 | 유닛 | 작업 |
|---|---|---|
POST /v1/check | 1 | 분석, 적용 가능성 및 지적 사항 |
POST /v1/rewrite tier=flash | 30 / 2500 UTF-16 | Standard 자연스러운 수정 |
POST /v1/rewrite tier=pro | 100 / 7500 UTF-16 | Premium 자연스러운 수정 |
POST/v1/check
본문: { "text": "...", "lang": "ko" } (lang 선택). 최대 20,000자.
두 메서드의 기본 한도는 공백을 포함한 UTF-16 코드 단위 20,000개입니다. 서버가 더 낮은 한도를 설정할 수 있습니다. GET /v1/health는 limits.maxInputChars를, too_long 오류는 max를 반환합니다.
아래는 일부 응답 필드의 예시이며 실제 고객의 측정 결과가 아닙니다. 점수와 잔액은 달라집니다.
curl -X POST https://neuroslop.net/v1/check \
-H "Authorization: Bearer ns_YOURKEY" \
-H "Content-Type: application/json" \
-d '{"text":"The team utilizes this checklist to review each draft before publication.","lang":"en"}'
응답:
{
"score": 100,
"lang": "en",
"ruleCoverage": "full",
"scoreInterpretation": "style_rules_not_authorship",
"applicability": { "status": "applicable", "eligible": true },
"decision": {
"outcome": "human_like",
"action": "show_style_signal",
"abstained": false,
"confidence": null,
"confidenceKind": "not_calibrated"
},
"assessment": {
"outcome": "human_like",
"authorshipProbability": null,
"automaticRewrite": false
},
"remaining": 2999
}
점수를 사용하기 전에 applicability, decision, assessment를 확인하세요. 0–100 점수는 저자 확률이 아닙니다. null은 0점이 아닌 사용 불가를 뜻합니다. lang은 인터페이스가 아닌 텍스트 언어입니다.
POST/v1/rewrite
본문: { "text": "...", "tier": "flash", "lang": "en" }. tier는 flash(Standard, 기본값) 또는 pro(Premium)입니다. 입력 한도는 /v1/health에서 확인합니다.
curl -X POST https://neuroslop.net/v1/rewrite \
-H "Authorization: Bearer ns_YOURKEY" \
-H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID" \
-H "Content-Type: application/json" \
-d '{"text":"The team utilizes this checklist to review each draft before publication.","tier":"pro","lang":"en"}'
응답:
{
"text": "Your revised paragraph appears here.",
"tier": "pro",
"scoreBefore": 100,
"scoreAfter": 100,
"qualityBasis": "editorial_review",
"spent": 100,
"remaining": 2900
}
qualityBasis는 청구가 아닌 검사 방식을 나타냅니다. editorial_review, deterministic, bounded-source-witness, unchanged, unverified 등이 있으며 고정 목록이 아닙니다. 승인된 수정이 점수를 높일 필요는 없습니다.
{
"text": "The team uses this checklist to review each draft before publication.",
"tier": "pro",
"scoreBefore": 100,
"scoreAfter": 100,
"unchanged": false,
"reason": "local_edited",
"qualityBasis": "deterministic",
"engine": "local-rules",
"editorialApproved": false,
"billable": false,
"spent": 0,
"remaining": 3000
}
{
"text": "Original text is returned here.",
"tier": "pro",
"scoreBefore": null,
"scoreAfter": null,
"unchanged": true,
"reason": "local_unchanged",
"qualityBasis": "unchanged",
"spent": 0,
"remaining": 3000
}
Idempotency-Key를 보내세요. 같은 키와 요청에는 원래 응답을 반환하며, 다시 작성하거나 추가 과금하지 않습니다. 요청이 달라지면 409를 반환합니다. 이 헤더를 지정한 경우에만 최종 응답을 별도의 운영 캐시에 최대 24시간 암호화해 보관하며, 이 캐시는 애플리케이션이 관리하는 백업에서 제외됩니다. 헤더가 없으면 응답 캐시를 만들지 않습니다.replayOnly: true
새 작업 없이 저장 결과만 받으려면 원래 Idempotency-Key, text, tier, lang, mode를 재사용하고 replayOnly:true를 추가하세요. 기록이 없거나 만료되면 새 수정 대신 409 idempotency_replay_unavailable을 반환합니다. 원래 요청의 청구 여부를 증명하지는 않습니다. 새 키로 자동 재시도하지 마세요.
curl -X POST https://neuroslop.net/v1/rewrite \
-H "Authorization: Bearer ns_YOURKEY" \
-H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID" \
-H "Content-Type: application/json" \
-d '{"text":"The team utilizes this checklist to review each draft before publication.","tier":"pro","lang":"en","replayOnly":true}'
GET/v1/balance
키의 남은 할당량: { plan, quota, used, remaining, resetMonth, perMinute }.
quotaMode: "one_time", resetMonth: null- 일회성 유닛 패키지입니다. 매월 충전되지 않습니다.
quotaMode: "monthly"- 월간 한도입니다. 매월 달력 기준으로 초기화됩니다.
GET/v1/health
서비스 상태, 키 불필요: { "ok": true, "llm": true, "limits": { "maxInputChars": 20000 } }.
오류
텍스트 사용 전에 오류를 처리하세요. 시간 초과나 502는 청구 상태의 증거가 아닙니다. 저장된 결과를 복구하세요. 인증, 할당량 또는 요청 키 충돌 오류를 무조건 반복하지 마세요.
| HTTP | error | 의미 |
|---|---|---|
| 401 | no_api_key / unknown_key / disabled | 키가 없거나 잘못되었거나 비활성화됨 |
| 429 | rate_limited / quota | 요청 속도 또는 단위 할당량 초과 |
| 409 | idempotency_conflict / idempotency_in_progress | 다른 요청에 키를 재사용했거나 원래 요청이 아직 진행 중 |
| 409 | idempotency_replay_unavailable / idempotency_receipt_corrupt | 저장 결과를 사용할 수 없음. 새 작업을 자동 시작하지 마세요 |
| 400 | text_required / too_long / bad_json / invalid_idempotency_key / invalid_replay_only / idempotency_key_required | 잘못된 요청. 수정한 후 다시 시도하세요 |
| 413 | own_free_result_too_large | 로컬 결과가 응답 한도를 초과함; spent=0 |
| 502 | rewrite_error | 요청 실패. 새 작업 전에 저장 결과를 복구하세요 |