Moderação

Moderação de imagem (NSFW)

Diz se a imagem é segura ou imprópria, com a probabilidade de cada uma.

Motor própriotempo real
POST/api/v1/nstw/nsfw

Sobre esta API

Identifica nudez e conteúdo impróprio em imagens enviadas por usuários, com a probabilidade de a imagem ser segura ou imprópria e o veredito.

Envie a imagem em file. Use nsfw para barrar conteúdo explícito e acceptable_image quando o sugestivo também deve ser barrado.

Processado em motor próprio, sem envio da imagem a terceiros.

Tecnologia

Motor próprio · Atualização: tempo real

Requisição

POST /api/v1/nstw/nsfw

Autenticação HTTP Basic: public_key:secret_key em Base64. Guarde a chave secreta no servidor.

CabeçalhoDescrição
Authorization
Obrigatório
Chave de API em Basic: public_key:secret_key em Base64.
X-Project-Id
Opcional
Projeto que recebe a chamada. Sem ele, vale o projeto padrão da conta.
Idempotency-Key
Opcional
Repetir a mesma chave em até 24 horas devolve a resposta anterior, sem executar nem cobrar de novo.

Parâmetros

CampoTipo e localDescrição
file
Obrigatório
filefileImagem a moderar.
curl --request POST 'https://api.apifordevs.com/api/v1/nstw/nsfw' \
  --user "afd_live_pk_...:$AFD_SECRET_KEY" \
  --header "X-Project-Id: $AFD_PROJECT_ID" \
  --form 'file=@./file.jpg'

Campos de resposta

Campos e tipos publicados no catálogo desta API.

Probabilidade segurasfw_probabilitynumber
Probabilidade de conteúdo seguro.
Probabilidade imprópriansfw_probabilitynumber
Probabilidade de conteúdo impróprio.
Impróprionsfwboolean
True quando a imagem passa do limiar configurado.
Resumodetailstring
Resumo textual da predição.
Graudetails_strstring
Classificação descritiva do grau.
Aceitávelacceptable_imageboolean
True quando está dentro do critério de aceitação.

Exemplo de resposta

{
  "success": true,
  "code": 200,
  "code_message": "A requisição foi processada com sucesso.",
  "errors": [],
  "header": null,
  "data_count": 1,
  "data": [
    {
      "sfw_probability": 0.98,
      "nsfw_probability": 0.02,
      "nsfw": false,
      "detail": "SFW: 0.98 | NSFW: 0.02",
      "details_str": "image without any kind of nudity captured",
      "acceptable_image": true
    }
  ]
}

Respostas e cobrança

HTTPDescriçãoCobrança
200Sucesso.Sujeita à cobrança
400

bad_request

live_key_cannot_use_dev_mode

Arquivo ou parâmetro que a rota não consegue processar, projeto inválido, ou dev_mode=true com chave de produção.Sem cobrança
401

unauthorized

Credencial ausente, inválida ou revogada.Sem cobrança
402

payment_required

Saldo insuficiente ou limite de gasto diário atingido.Sem cobrança
403

forbidden

ip_not_allowed

test_key_cannot_run_live

E-mail da conta não verificado, chave sem escopo para o serviço, IP fora da allowlist do projeto ou chave de teste sem dev_mode=true.Sem cobrança
409

conflict

Requisição com a mesma Idempotency-Key ainda em andamento.Sem cobrança
413

payload_too_large

Arquivo acima de 20 MB.Sem cobrança
422

validation_error

Parâmetro obrigatório ausente ou fora do formato, ou Idempotency-Key repetida com outro conteúdo.Sem cobrança
429

rate_limit_exceeded

Limite de requisições por minuto da chave atingido.Sem cobrança
500

internal_error

Falha interna.Sem cobrança
503

service_unavailable

upstream_error

Serviço desativado (service_unavailable), ou o processamento não respondeu a tempo (upstream_error). Não é cobrada; com upstream_error, pode ser repetida.Sem cobrança

Casos de uso

Conteúdo enviado por usuário

Barrar foto imprópria em anúncio, perfil ou chat antes de ela chegar a outro usuário.

Fila de revisão humana

Usar a probabilidade para mandar à revisão só o que está na faixa duvidosa, em vez de tudo.

SUA PRÓXIMA ENTREGA

Qual é a sua próxima integração?

Encontre a API que resolve o próximo passo do seu produto.