|
Download README.md from AIDAON/aida-api: direct link, hf CLI and curl.
- Browser
- Download file 3.48 kB
-
https://huggingface.co/spaces/AIDAON/aida-api/resolve/main/README.md
- Command line
-
hf download hf://spaces/AIDAON/aida-api/README.md
-
curl -L -o README.md https://huggingface.co/spaces/AIDAON/aida-api/resolve/main/README.md
3.48 kB
| title: AIDA API | |
| emoji: 🔍 | |
| colorFrom: indigo | |
| colorTo: gray | |
| sdk: docker | |
| app_port: 7860 | |
| pinned: false | |
| license: other | |
| license_name: aida-p0-pesos-sob-revisao | |
| license_link: https://huggingface.co/AIDAON/aida-p0/blob/main/LICENSES.md | |
| # AIDA — API de análise de imagens | |
| Backend do AIDA: recebe uma imagem e devolve indícios de que ela seja uma | |
| fotografia real ou uma imagem gerada/manipulada por IA — ou **inconclusivo**, | |
| quando não há base para decidir. | |
| O front-end é um site separado que consome esta API. | |
| ## Rotas | |
| | Rota | Descrição | | |
| |---|---| | |
| | `GET /` | status e módulos carregados | | |
| | `GET /contrato` | contrato completo de `POST /analisar` | | |
| | `GET /saude` | diagnóstico: o que está treinado, política em vigor | | |
| | `GET /teste` | página técnica para testar sem o front-end | | |
| | `POST /analisar` | analisa uma imagem (campo `imagem`, multipart) | | |
| | `GET /evidencia/<id>/<mapa>` | PNG de um mapa de explicabilidade | | |
| ## Estados possíveis | |
| `resultado` tem **quatro** valores: `REAL`, `REAL_EDITADA`, `IA/MANIPULADA` e | |
| `INCONCLUSIVO`. | |
| `REAL_EDITADA` é uma fotografia que a análise de conteúdo considera real e cujo | |
| arquivo registra edição em um editor de imagem (Lightroom, Photoshop, Photopea, | |
| GIMP, Snapseed...). A informação vem dos metadados (EXIF `Software`, XMP | |
| `CreatorTool`, histórico do XMP e ajustes do Camera Raw), não do modelo: uma foto | |
| editada que perdeu os metadados sai como `REAL`. Os campos `editada` e | |
| `editores` dizem o que foi encontrado. O valor `IA/MANIPULADA` foi mantido por | |
| compatibilidade e significa gerada por IA, inteira ou em parte. | |
| Quando `fora_de_dominio` é `true`, a imagem não é fotográfica (texto, desenho, | |
| cor sólida) e **as probabilidades não têm significado** — mostre o `titulo`. | |
| O campo `ressalva` é obrigatório na interface: o resultado é indício, não prova. | |
| ## Variáveis de ambiente | |
| | Variável | Padrão | Efeito | | |
| |---|---|---| | |
| | `ALLOWED_ORIGINS` | `*` | domínios autorizados, separados por vírgula | | |
| | `AIDA_MODO_RAPIDO` | vazio | `1` usa só o ramo CLIP: ~0,2 s por imagem em vez de ~2 s | | |
| ## Limitações | |
| O resultado é probabilístico, não identifica autoria e não substitui a | |
| verificação da fonte da imagem. | |
| Medido em **882 imagens de fontes nunca vistas** (504 reais, 378 geradas): | |
| acurácia 85,3%, especificidade 88,9%, recall de IA 80,4%, com abstenção em | |
| ~14% dos casos. No conjunto de teste fechado (546 imagens): acurácia 89,4%. | |
| A ferramenta foi treinada para comparar **fotografias** com imagens geradas por | |
| IA. Capturas de texto, gráficos, desenhos e logotipos estão fora do escopo — o | |
| detector de fora-de-domínio recusa esses casos em vez de responder. | |
| Limitação conhecida: a imagem recebida é normalizada para 1024 px antes da | |
| análise, para ficar no mesmo domínio dos dados de treino. Isso significa que | |
| sinais de nível de sensor (padrão de Bayer, ruído PRNU) não são utilizados. | |
| ## Licença | |
| Este Space contém os **pesos do P0**, necessários para a inferência. A situação | |
| de licença dos pesos é `LICENSE_UNKNOWN_REVIEW_REQUIRED`: duas questões seguem | |
| `PENDENTE_DE_DECISAO` — (Q1) direitos sobre as fotografias de pessoas usadas no | |
| treino e (Q2) termos de uso dos serviços geradores das imagens sintéticas. A | |
| presença dos pesos aqui **não** resolve nenhuma das duas. | |
| Código, metodologia, métricas e limitações, com a auditoria completa de licença: | |
| https://huggingface.co/AIDAON/aida-p0 — ver `LICENSES.md`. | |