Filtros adultos
para os seus apps
Um endpoint. Onze presets. Envie uma foto e receba o resultado final, no volume em que a sua plataforma opera.
Feita para rodar em produção
A uncloth.app é uma API de transformação de imagens para plataformas que precisam de imagens geradas como parte confiável do seu produto, não como experimento. Você envia uma foto e o preset desejado. Nós devolvemos o resultado final.
Tudo o que está por trás do endpoint é operado por nós: capacidade, filas, entrega e recuperação. Sua integração é uma única chamada HTTP autenticada e, se quiser progresso ao vivo, uma conexão WebSocket.
Nada na requisição depende de quanta carga temos. A mesma chamada se comporta do mesmo jeito no primeiro dia e no pico de tráfego.
Uma foto, todos os presets
Todos os resultados abaixo vieram da mesma fotografia de origem, mudando apenas o id do preset na requisição.






Você tem 18 anos ou mais?
São resultados sem retoques gerados pela API. Confirme sua idade para visualizar.
Onze presets
Envie feature=<id> junto com o job. Se omitir, a requisição usa undress. Um id desconhecido é rejeitado com a lista válida, então um erro de digitação falha de forma explícita em vez de devolver a imagem errada.
Quatro chamadas, do início ao fim
Envie a foto
Um POST multipart com a imagem, o preset e a confirmação de consentimento. Você recebe um id de job imediatamente.
Acompanhe
Consulte o endpoint do job ou assine o WebSocket para receber eventos de progresso ao vivo enquanto o trabalho roda.
Colete o resultado
Um job concluído traz um id de artefato. Busque-o com a mesma chave e você recebe os bytes da imagem.
Repita sem custo
Repita a chamada com a mesma Idempotency-Key e você recebe o job original. Uma nova tentativa nunca gera um segundo resultado.
A integração inteira
Um cabeçalho autentica todas as chamadas. Cada resposta é restrita ao cliente dono da chave — jobs, eventos e resultados incluídos.
Sua URL base é emitida junto com a sua chave.
curl -X POST https://api.uncloth.app/api/v1/jobs \
-H "X-API-Key: $UNCLOTH_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-F feature=bikini \
-F consent=confirmed \
-F image=@photo.jpg
# { "data": { "id": "job_...", "status": "queued" } }curl -H "X-API-Key: $UNCLOTH_KEY" \
https://api.uncloth.app/api/v1/jobs/JOB_ID
# { "data": { "status": "succeeded",
# "outputs": [ { "id": "art_..." } ] } }
curl -H "X-API-Key: $UNCLOTH_KEY" \
https://api.uncloth.app/api/v1/artifacts/ART_ID \
-o result.pngProjetada para continuar respondendo
Nós cuidamos da capacidade, da fila e do caminho de entrega para que sua plataforma não precise fazer isso. Estes são compromissos sobre como o serviço é construído e operado.
Excluído em 10 minutos
Sua imagem é removida dos nossos sistemas 10 minutos depois de você receber o resultado. Nada é mantido para treinamento, revisão ou qualquer outra finalidade.
Meta de disponibilidade de 99,9%
O nível de serviço com o qual projetamos, operamos e nos medimos, acompanhado na borda da API e não em um componente específico.
Infraestrutura global
As requisições são atendidas a partir de capacidade distribuída, de modo que a demanda em uma região não vira fila para todos os outros.
Escalonamento automático
A capacidade acompanha a carga. Um pico de tráfego muda a vazão, nunca o formato da API nem a maneira como seu código precisa chamá-la.
Failover por padrão
Qualquer componente pode ser drenado ou substituído sem uma interrupção que você tenha que tratar. O trabalho em andamento é recuperado, não perdido.
Isolamento por chave
Uma chave vê apenas seus próprios jobs, eventos e resultados. As respostas nunca expõem identificadores internos ou detalhes de infraestrutura.
Idempotência por contrato
O cabeçalho Idempotency-Key torna as novas tentativas seguras. Uma repetição devolve o job original em vez de fazer o trabalho duas vezes.
Fila durável
O trabalho aceito é registrado antes de começar e recuperado depois. Um reinício em qualquer ponto do caminho não descarta seu job.
Validação rigorosa da entrada
JPEG, PNG e WebP até 20 MiB, verificados pelo conteúdo e não apenas pelo nome ou pelo tipo declarado do arquivo.
Perguntas frequentes
Como faço a autenticação?
Com um cabeçalho X-API-Key nas chamadas REST. No WebSocket a chave vai na primeira mensagem após a conexão, então nunca aparece em uma URL ou em um log de proxy.
O que acontece se uma requisição expirar?
Repita com a mesma Idempotency-Key. Você recebe o job original e nenhum segundo resultado é produzido.
Quais formatos e tamanhos são aceitos?
JPEG, PNG e WebP até 20 MiB. O conteúdo real do arquivo é verificado, então um arquivo renomeado ou rotulado incorretamente é rejeitado.
Posso rodar vários presets em uma foto?
Sim. Cada preset é um job próprio, então envie um job por preset com a mesma imagem de origem e acompanhe cada um separadamente.
Preciso fazer polling?
Não. Conecte-se ao WebSocket, autentique-se e você recebe um retrato dos seus jobs recentes seguido de atualizações ao vivo. O polling continua disponível como alternativa.
O consentimento é exigido?
Sim. Uma chamada de criação sem consent=confirmed é rejeitada na fronteira da API. É um campo obrigatório e uma declaração pela qual você responde.
Quanto custa?
O preço depende do volume e é cotado junto com o acesso. Conte-nos sobre sua plataforma e a vazão esperada e retornaremos com números.
Vocês guardam minhas imagens?
As imagens de origem e os resultados ficam em armazenamento privado e são servidos apenas à chave que os criou. Os prazos de retenção são acordados como parte do acesso.
Conte-nos o que você está construindo
O acesso é concedido por integração. Descreva sua plataforma, o volume que espera e como você coleta o consentimento das pessoas que aparecem nas imagens, e enviaremos credenciais e uma URL base.
Sem cadastro público. Sem chaves em autosserviço.
