[Neuroslop](https://neuroslop.net/pt/)

/API

# Neuroslop API

Integre detecção, análise detalhada e humanização ao seu aplicativo ou assistente de IA via API e MCP.

[Obter uma chave de API](https://neuroslop.net/#api-offers)
[Endpoints](https://neuroslop.net/#endpoints)
[Markdown](https://neuroslop.net/pt/api.md)

## 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.

[Preços](https://neuroslop.net/en/pricing#apikeys)

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.

[Endpoints](https://neuroslop.net/#api-unit-costs)

## 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](https://neuroslop.net/downloads/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)](https://neuroslop.net/mcp) [Obtenha uma chave na sua conta](https://neuroslop.net/account#api)

## 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](https://neuroslop.net/account#api): escolha um pacote, pague com cartão, SBP ou USDT — a chave é emitida na hora.

No bot do Telegram — [@AITextChecker_bot](https://t.me/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
}
```

spent indica as unidades consumidas. A edição local e a devolução do original têm spent=0, mesmo com texto alterado. Não deduza cobrança por alterações ou pontuações.

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
}
```

Para repetir solicitações com segurança, envie uma 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 |

[Obter uma chave de API](https://neuroslop.net/#api-offers)

---
https://neuroslop.net/pt/api

## api

- apikey_start: 4.5 USDT; units=3000; quotaMode=one_time.
- apikey_business: 14 USDT; units=11000; quotaMode=one_time.
- apikey_max: 36 USDT; units=30000; quotaMode=one_time.

