uncloth.app Guias
Resultado gerado pela API da uncloth.app

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.

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.

01
Biquínifeature=bikini
02
Tamanho dos seiosfeature=breast_size
03
Traje de coelhinhafeature=bunny_suit
04
Lingerie de rendafeature=lace_lingerie
05
Shibarifeature=shibari
06
Meiasfeature=stocking
07
Tatuagemfeature=tattoo
08
DespirPadrãofeature=undress
09
Traje de líder de torcidafeature=cheerleader_outfit
10
Futebolfeature=footy
11
Seios à mostrafeature=flash_tits

Quatro chamadas, do início ao fim

01

Envie a foto

Um POST multipart com a imagem, o preset e a confirmação de consentimento. Você recebe um id de job imediatamente.

02

Acompanhe

Consulte o endpoint do job ou assine o WebSocket para receber eventos de progresso ao vivo enquanto o trabalho roda.

03

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.

04

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.

POST/api/v1/jobsCria um job. Multipart: image, feature, consent. Cabeçalho Idempotency-Key.
GET/api/v1/jobs/:idStatus do job, progresso e id do resultado.
GET/api/v1/artifacts/:idBaixa a imagem gerada.
GET/api/v1/featuresLista os presets. Público, não exige chave.
WS/api/v1/wsEventos job.updated ao vivo após uma mensagem de autenticação.

Sua URL base é emitida junto com a sua chave.

Criar um job
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" } }
Coletar o resultado
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.png

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