Neuroslop API
Integre detecção, análise detalhada e humanização ao seu aplicativo ou assistente de IA via API e MCP.
Para quem é
Plataformas de conteúdo e CMS
Filtre e faça QA de texto no pipeline: assinale lixo de máquina antes de ir ao ar, humanize a pedido.
Agências e ferramentas de SEO
Verifique e humanize em massa pelo seu próprio produto. Uma chave, por unidades, sem aprovação manual.
EdTech e ferramentas de escrita
Avalie textos e dê aos escritores uma autoverificação com os marcadores exatos, não uma percentagem de caixa-preta.
Porquê esta API
Verificações determinísticas
A verificação por regras do site é reproduzível com a mesma entrada, configurações, versão do motor e versão congelada das regras e dos dicionários.
Detecção e correção numa só chave
Verifique e humanize com uma chave. As pontuações antes/depois são devolvidas quando aplicáveis; as indisponíveis são null.
Resultados que consideram o idioma
A resposta informa a aplicabilidade. As regras de prosa são mais desenvolvidas para russo e inglês; outros idiomas podem ter análise limitada.
Preços: unidades
Análise e revisão via API para aplicativos, bots e MCP. O consumo depende da operação e do tamanho do texto. As condições estão em cada pacote; as chaves existentes mantêm as condições adquiridas.
Pague com cartão, SBP ou USDT no site, ou com Telegram Stars no bot. Os preços exibidos são estimativas; o valor e a moeda exatos aparecem na tela de pagamento.
Um pacote de 3.000 unidades equivale a 3.000 verificações, ou 100 humanizações Standard, ou 30 Premium. Verificações têm peso 1, Standard 30 por cada 2500 caracteres, Premium 100 por 7500.
Servidor MCP
Conecte neuroslop ao seu agente de IA via MCP. Ele verifica texto para slop, humaniza e remove caracteres ocultos automaticamente. Funciona em Claude Code, Cursor, Codex, OpenClaw.
neuroslop_check
Verifique sinais de IA, construções recorrentes, ritmo e estrutura. Veja os trechos específicos e as explicações do resultado. Gratuito e sem chave através da API alojada por HTTPS; aplicam-se limites contra abuso.
neuroslop_humanize
Humanize rascunhos de IA: ajuste a apresentação, deixe a linguagem mais natural e compare versões conferindo detalhes importantes. Apenas neuroslop_humanize requer uma chave de API.
neuroslop_clean
Remove caracteres ocultos: espaços de largura zero, homóglifos. Local, sem necessidade de chave.
Como conectar
- Gratuito e sem chave através da API alojada por HTTPS; aplicam-se limites contra abuso. Remove caracteres ocultos: espaços de largura zero, homóglifos. Local, sem necessidade de chave. Apenas neuroslop_humanize requer uma chave de API.
- Download neuroslop-mcp.mjs and add the config:
{
"mcpServers": {
"neuroslop": {
"command": "node",
"args": ["neuroslop-mcp.mjs"]
}
}
}
- Substitua o caminho absoluto. NEUROSLOP_API_KEY é opcional e só é usada por neuroslop_humanize; neuroslop_check e neuroslop_clean funcionam sem chave.
Conectar ao seu agente (MCP) Obtenha uma chave na sua conta
Autenticação
O MCP usa POST /api/check, gratuito e com limite de frequência. POST /v1/check exige chave e consome as suas unidades. GET /v1/health não precisa de chave.
Para /v1/check, /v1/rewrite e /v1/balance, envie a chave no cabeçalho: Authorization: Bearer <key> / X-API-Key: <key>.
Obtém uma chave de duas formas, sem aprovação manual:
- No site — sua conta → API: escolha um pacote, pague com cartão, SBP ou USDT — a chave é emitida na hora.
- No bot do Telegram — @AITextChecker_bot → «🔌 API»: pague com Telegram Stars, a chave chega no chat.
Preços: unidades
| Chamada | unidades | Operação |
|---|---|---|
POST /v1/check | 1 | Análise, aplicabilidade e observações |
POST /v1/rewrite tier=flash | 30 / 2500 UTF-16 | Humanização Standard |
POST /v1/rewrite tier=pro | 100 / 7500 UTF-16 | Humanização Premium |
POST/v1/check
Corpo: { "text": "...", "lang": "pt" } (lang opcional). Até 20.000 caracteres.
Limite padrão dos dois métodos: 20.000 unidades de código UTF-16, incluindo espaços. O servidor pode definir um limite menor; GET /v1/health informa limits.maxInputChars e o erro too_long informa max.
Os exemplos mostram campos selecionados, não resultados medidos de clientes. Pontuações e saldo podem variar.
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"}'
Resposta:
{
"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
}
Consulte applicability, decision e assessment antes de usar a pontuação. Um valor de 0–100 não é probabilidade de autoria; null significa indisponível, não zero. lang descreve o idioma do texto, não da interface.
POST/v1/rewrite
Corpo: { "text": "...", "tier": "flash", "lang": "en" }. tier é flash (Standard, padrão) ou pro (Premium). /v1/health informa o limite de entrada.
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"}'
Resposta:
{
"text": "Your revised paragraph appears here.",
"tier": "pro",
"scoreBefore": 100,
"scoreAfter": 100,
"qualityBasis": "editorial_review",
"spent": 100,
"remaining": 2900
}
qualityBasis descreve a verificação, não a cobrança. Inclui editorial_review, deterministic, bounded-source-witness, unchanged e unverified; a lista não é fechada. Uma reescrita aceite não precisa de aumentar a pontuação.
{
"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 exclusiva em cada reescrita. A mesma chave e solicitação retornam a resposta original sem outra reescrita ou cobrança; uma solicitação alterada retorna 409. Essa opção mantém a resposta final criptografada por até 24 horas em um cache ativo separado, excluído dos backups gerenciados pelo aplicativo. Sem esse cabeçalho, nenhum cache de resposta é criado.replayOnly: true
Para recuperar sem iniciar trabalho, reutilize Idempotency-Key, text, tier, lang e mode originais e adicione replayOnly:true. Um recibo ausente ou expirado devolve 409 idempotency_replay_unavailable, não uma nova reescrita. Isso não prova se a solicitação original foi cobrada. Não tente automaticamente com uma chave nova.
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
Cota restante da chave: { plan, quota, used, remaining, resetMonth, perMinute }.
quotaMode: "one_time", resetMonth: null- Pacote avulso de unidades. Sem reposição mensal.
quotaMode: "monthly"- Cota mensal. Renovada a cada mês do calendário.
GET/v1/health
Estado do serviço, sem chave: { "ok": true, "llm": true, "limits": { "maxInputChars": 20000 } }.
Erros
Trate o erro antes de usar o texto. Timeout ou 502 não provam o estado da cobrança: recupere o resultado guardado. Não repita cegamente erros de autenticação, quota ou conflito de chave.
| HTTP | error | Significado |
|---|---|---|
| 401 | no_api_key / unknown_key / disabled | Chave ausente, inválida ou desativada |
| 429 | rate_limited / quota | Frequência de pedidos ou quota de unidades excedida |
| 409 | idempotency_conflict / idempotency_in_progress | Chave reutilizada para outro pedido ou pedido original ainda em curso |
| 409 | idempotency_replay_unavailable / idempotency_receipt_corrupt | Resultado guardado indisponível; não iniciar trabalho novo automaticamente |
| 400 | text_required / too_long / bad_json / invalid_idempotency_key / invalid_replay_only / idempotency_key_required | Pedido inválido; corrigir antes de tentar novamente |
| 413 | own_free_result_too_large | Resultado local excede o limite da resposta; spent=0 |
| 502 | rewrite_error | Pedido falhou; recuperar o resultado guardado antes de iniciar trabalho novo |