API de geração de headshots com IA: crie um app de headshots

Crie um app de headshots funcional com uma API de geração de headshots com IA. Este artigo mostra o fluxo de requisições, os modelos que valem a pena, as opções de fundo, código em Python, verificações de qualidade e as regras de consentimento que mantêm as fotos dos clientes seguras.

API de geração de headshots com IA: crie um app de headshots
Cristian Da Conceicao
Fundador do Picasso IA

Envie uma selfie e receba de volta um retrato pronto para a sala de reuniões. Essa é a promessa por trás de toda API de geração de headshots com IA, e ela é muito mais fácil de construir do que a maioria dos desenvolvedores imagina. Você não treina um modelo de rosto, não aluga GPUs e não marca um fotógrafo para cada cliente. Seu app envia uma foto e uma instrução para um endpoint HTTP, espera alguns segundos e recebe uma imagem finalizada, pronta para um perfil no LinkedIn, uma página de equipe ou um kit de imprensa.

Este artigo percorre a construção completa: o fluxo de requisições, os modelos que valem a pena, um código em Python funcional, as verificações de qualidade que impedem retratos fracos de chegar aos clientes e as regras de consentimento que mantêm o produto seguro. Tudo abaixo se baseia na API para desenvolvedores da PicassoIA e nos modelos listados na plataforma.

💡 Versão curta: hospede a selfie no seu próprio armazenamento, chame picassoia/picassoia-image-editor-pro com essa selfie como image 1, consulte a previsão até que ela tenha êxito, faça uma verificação rápida e então mostre o resultado.

Por que construir com uma API

Headshot de estúdio de uma mulher confiante, de blazer grafite, diante de um fundo cinza

Headshots de estúdio custam dinheiro e tempo de verdade. Um fotógrafo marca um horário, um retocador trabalha por dias e uma equipe remota de quarenta pessoas precisa de quarenta agendamentos. Um app de headshots transforma tudo isso em um formulário de upload e um botão. O que faz dele um negócio, e não uma demonstração, é o controle: a sua própria interface, os seus próprios fundos, o seu próprio preço e as suas próprias regras de dados.

Quem precisa disso

A demanda é mais ampla do que as pessoas imaginam. Estes são os produtos que continuam pedindo um recurso de headshots:

  • Ferramentas de RH e onboarding que precisam de um estilo de foto consistente para cada novo contratado
  • Construtores de currículo e sites de vagas em que uma foto de perfil muda o visual da página
  • Plataformas de criadores e freelancers que querem um avatar bem cuidado já no cadastro
  • Agências que entregam pacotes de retratos para clientes corporativos
  • Softwares de eventos que coletam fotos de palestrantes em todas as condições possíveis de iluminação

Construir ou comprar

OpçãoTempo de configuraçãoControleIdeal para
Site pronto para headshotsMinutosBaixoUma única foto pessoal
Wrapper sem código em volta de um formulárioHorasMédioFerramentas internas e testes rápidos
Seu próprio app numa APIAlguns diasControle total de design, preços e dadosProdutos e plataformas

Se você só precisa de uma foto sua, use um site. Se headshots são um recurso dentro de algo que você vende, uma API vence em todos os aspectos que importam depois do lançamento.

A economia conta a mesma história. Um fotógrafo cobra por pessoa, então o custo cresce a cada cliente que você adiciona. Uma chamada à API é software: o trabalho que vai no primeiro headshot é o mesmo que atende o décimo milésimo, e sua margem melhora conforme o uso cresce, em vez de encolher.

O fluxo de requisições em cinco etapas

Visão por cima do ombro de um desenvolvedor em uma mesa em pé com dois monitores

Todo app de headshots, por mais bem acabada que seja a interface, segue o mesmo ciclo. A API da PicassoIA é assíncrona e no estilo Replicate: você cria uma previsão, consulta o status dela e depois lê o resultado.

  1. Colete a selfie no seu frontend.
  2. Valide e armazene para ter uma URL que a API consiga buscar.
  3. Crie a previsão com um POST para o endpoint do modelo.
  4. Consulte a previsão até que o status seja final.
  5. Verifique e entregue a URL de saída.

A URL base é https://api.picassoia.com/v1, e toda requisição leva um cabeçalho Authorization: Bearer pia_sk_.... Você cria essas chaves secretas na página da API em picassoia.com, e uma conta pode ter duas delas, para que uma atenda a produção e a outra, o ambiente de homologação.

Upload e validação

Jovem de camisa azul-marinho tirando uma selfie ao lado de uma janela de escritório

Rejeite entradas ruins logo no começo. Aceite JPEG, PNG e WebP, mantenha o arquivo bem abaixo do limite de 10 MB do corpo da requisição e defina uma resolução mínima para que os rostos não fiquem menores que um selo postal. Depois, oriente o usuário na mesma tela: fique de frente para a janela, segure o celular na altura dos olhos, apenas uma pessoa no enquadramento, sem óculos escuros.

Uma dica de dez segundos na tela de upload evita mais chamados de suporte do que qualquer configuração do modelo. Uma selfie fora de foco em um corredor escuro produz um headshot fora de foco todas as vezes.

Criar a previsão

Os endpoints dos modelos seguem um padrão: POST /v1/models/{owner}/{name}/predictions. O corpo envolve cada parâmetro dentro de um objeto input. Para um headshot, o input contém a URL da selfie e uma instrução em texto. Você recebe de volta um objeto de previsão com um id e um status imediatamente, muito antes de a imagem existir.

Consultar e depois armazenar

Chame GET /v1/predictions/{id} a cada dois ou três segundos até que o status exiba succeeded, failed ou canceled. Se um cliente fechar a aba, POST /v1/predictions/{id}/cancel interrompe o trabalho. Quando der certo, baixe a saída e copie-a para o seu próprio armazenamento, para que seu produto nunca dependa de uma URL de terceiros.

💡 Uma previsão pode rodar por até 3 horas no lado do servidor. Sua interface deve desistir muito antes. Edições normalmente terminam em segundos, então um timeout de 90 segundos no cliente, com um botão de nova tentativa bem claro, é mais que suficiente.

Escolha modelos adequados

Visão de cima de cinco headshots impressos sobre fundos diferentes

A API e o conector MCP expõem atualmente quatro modelos. Dois importam para headshots, e o resto da plataforma ajuda enquanto você prototipa no navegador.

ModeloPapel em um app de headshotsOnde usar
PicassoIA Image Editor ProTransforma uma selfie em um retrato refinado, troca fundos e retocaAPI e web
PicassoIA ImageCria retratos de exemplo e fundos de referência a partir de textoAPI e web
Professional HeadshotUma foto entra, um retrato de estúdio sai, com cinco predefinições de fundoWeb
Bria Remove BackgroundRecorta o assunto para fundos nas cores da marcaWeb
Topaz Image UpscaleAumenta a resolução para retratos em tamanho de impressãoWeb

Os três últimos ficam no aplicativo web. Confira a documentação da API antes de integrá-los ao código, porque a API pública lista quatro modelos hoje.

Os fundos merecem uma decisão própria, já que mudam a forma como o retrato se lê em um círculo de perfil. Um mapeamento simples dá aos seus usuários um padrão sensato:

Caso de usoFundoPor que funciona
LinkedIn e candidaturas a vagasCinza neutroSóbrio, se lê bem em miniatura
Diretório da empresaBrancoIdêntico em toda a equipe
Portfólio e trabalhos criativosGrafiteDá profundidade sem distrair
Vendas e imobiliárioEscritório desfocadoParece acessível e local

Editor ou texto para imagem

Um cliente quer parecer consigo mesmo, só que melhor iluminado e melhor vestido. Texto para imagem inventa uma pessoa nova, e isso é o produto errado. Um modelo de edição mantém o rosto da selfie e muda todo o resto, por isso o PicassoIA Image Editor Pro é o carro-chefe. Use o PicassoIA Image para as imagens que o seu próprio marketing precisa: amostras para a landing page, fixtures de teste e fundos de escritório vazios.

Limpeza depois da edição

Dois pequenos passos elevam o resultado. O Bria Remove Background oferece aos clientes um recorte transparente que eles podem colocar na cor da empresa. O Topaz Image Upscale aproxima um retrato em tamanho web da resolução de impressão. Ofereça-os como extras opcionais depois que o resultado principal estiver certo.

Como usar o Image Editor Pro

Prototipe primeiro no navegador. Leva cinco minutos e mostra qual redação de prompt vale a pena fixar no código.

  1. Abra a página do PicassoIA Image Editor Pro.
  2. Envie a selfie como primeira imagem de referência. O modelo aceita até três, e a primeira é a principal.
  3. Escreva a instrução e chame a selfie de imagem 1.
  4. Escolha a proporção, o formato de saída e a qualidade.
  5. Gere, compare as duas variações se você pediu duas, e baixe a melhor.

Mão segurando um smartphone exibindo um retrato de headshot limpo

Quer evitar escrever prompts? O Professional Headshot aceita uma única foto e uma escolha de fundo: branco, preto, neutro, cinza ou escritório. Também oferece 14 predefinições de proporção, uma opção de gênero para maior precisão facial, um seed para resultados repetíveis e saída em PNG ou JPG. É a forma mais rápida de ver como cada fundo fica antes de criar o seu próprio seletor.

Configurações que importam

ParâmetroO que fazPadrão sensato
imagesAté 3 referências, a primeira é a principalSelfie primeiro
promptA edição, referindo-se a image 1, image 2Menos de 4.000 caracteres
aspect_ratioProporção de saídamatch_input_image
output_formatWebP, JPG ou PNGPNG para entrega
output_quality0 a 100, apenas JPG e WebP95
num_outputs1 ou 2 variações por chamada2 para ter um botão de nova tentativa
seedRepete um resultado exatamenteArmazene junto com a tarefa

Um prompt que funciona

Coloque a identidade primeiro, depois a cena. Nomeie o figurino, o fundo e a luz para que o modelo não precise adivinhar nada:

Turn image 1 into a professional corporate headshot of the same person.
Keep the face, skin tone, hair and expression natural and unchanged.
Dark navy blazer over a white shirt, seamless soft grey studio backdrop,
soft main light from the left, gentle fill from the right, 85mm portrait
lens look, natural skin texture with visible pores, sharp eyes.

Evite pedidos vagos como "me deixe com uma aparência incrível". Eles incentivam a suavização, e a pele suavizada é o caminho mais rápido para um resultado de plástico, obviamente falso.

Código funcional em Python

Os trechos abaixo seguem o formato no estilo Replicate descrito acima. A documentação oficial em picassoia.com/en/api inclui exemplos em Python, Node e cURL, então confirme os nomes dos campos por lá antes de lançar.

A função principal

import os
import time
import requests

BASE = "https://api.picassoia.com/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['PICASSOIA_TOKEN']}"}
MODEL = "picassoia/picassoia-image-editor-pro"


def make_headshot(selfie_url: str, backdrop: str = "soft grey studio backdrop") -> str:
    prompt = (
        "Turn image 1 into a professional corporate headshot of the same person. "
        "Keep the face, skin tone and hair natural and unchanged. "
        f"Dark navy blazer, {backdrop}, soft main light from the left, "
        "85mm portrait lens look, natural skin texture."
    )
    created = requests.post(
        f"{BASE}/models/{MODEL}/predictions",
        headers=HEADERS,
        json={"input": {
            "images": [selfie_url],
            "prompt": prompt,
            "output_format": "png",
        }},
        timeout=30,
    )
    created.raise_for_status()
    prediction = created.json()

    deadline = time.time() + 90
    while prediction["status"] not in ("succeeded", "failed", "canceled"):
        if time.time() > deadline:
            requests.post(f"{BASE}/predictions/{prediction['id']}/cancel", headers=HEADERS, timeout=30)
            raise TimeoutError("Headshot took too long")
        time.sleep(3)
        prediction = requests.get(
            f"{BASE}/predictions/{prediction['id']}", headers=HEADERS, timeout=30
        ).json()

    if prediction["status"] != "succeeded":
        raise RuntimeError(prediction.get("error") or prediction["status"])
    return prediction["output"][0]

O token vem de uma variável de ambiente, nunca do frontend. Se ele for incluído em um bundle para celular ou em um script do navegador, qualquer pessoa pode lê-lo.

Respeite o limite de cinco tarefas

Uma conta executa 5 previsões ao mesmo tempo, compartilhadas entre todas as credenciais e todas as conexões MCP. Um pico no dia do lançamento vai bater nesse limite, então enfileire as tarefas do seu lado:

import asyncio

slots = asyncio.Semaphore(4)  # leave one slot for retries


async def run_job(selfie_url: str) -> str:
    async with slots:
        return await asyncio.to_thread(make_headshot, selfie_url)

Salve cada tarefa em uma tabela com o status dela, e então mostre aos clientes a posição deles na fila. Uma fila visível parece rápida. Um spinner travado parece quebrado.

Verificações de qualidade antes da entrega

Close extremo dos olhos e da pele de um homem mais velho em um headshot

Um headshot que parece 95% certo ainda é um pedido de reembolso. As pessoas percebem rostos com uma sensibilidade quase sobrenatural, então verifique cada resultado antes que ele chegue a um cliente.

Semelhança e pele

Passe por esta lista em um conjunto de teste com cinquenta selfies antes do lançamento:

  • Formato do rosto e cor dos olhos batem com a selfie
  • A pele mantém os poros, as linhas finas e o tom, sem desfoque de cera
  • As bordas do cabelo estão limpas, sem halo contra o fundo
  • Dentes, orelhas e óculos têm a quantidade e a simetria certas
  • Joias e colarinhos não estão fundidos ao pescoço
  • O fundo é simples o bastante para a miniatura da foto de perfil

Veja o resultado no tamanho de miniatura e no tamanho completo. Muitos defeitos só aparecem em um dos dois.

Monte o conjunto de teste de propósito. Inclua salas escuras, óculos, barbas, cabelos longos, chapéus e pessoas fotografadas um pouco de baixo para cima. Registre o seed e o prompt de cada execução, para que, quando um cliente relatar um retrato estranho, você consiga reproduzi-lo em um minuto e corrigir a instrução em vez de adivinhar.

Triagem automatizada

Retocador comparando duas cópias impressas de retratos sob uma lâmpada de luz do dia

Modelos de linguagem (LLMs) ajudam em dois pontos. Primeiro, eles podem transformar as escolhas do formulário (fundo, roupa, clima) na instrução final, para que o pessoal de produto edite a redação sem precisar fazer deploy. O Gemini 3.5 Flash é uma opção rápida para esse trabalho, e o Claude Sonnet 5 combina com manuais de regras mais longos. Segundo, o Llama Guard 4 12B pode filtrar textos livres que os usuários digitam em campos de instrução personalizados.

A API pública lista quatro modelos, então, para essas etapas, chame o seu próprio provedor de LLM ou teste os prompts no aplicativo web da PicassoIA primeiro.

Mantenha também um plano B humano. Dê a cada resultado um botão Tentar novamente, que executa a mesma selfie com um novo seed, e um link Denunciar que permite ao cliente sinalizar um retrato ruim.

Regras de consentimento e privacidade

Seis colegas de pé juntos em um lobby de escritório bem iluminado

Um rosto é um dado pessoal. Trate-o assim desde o primeiro dia, porque um app de headshots que lida mal com fotos não tem uma segunda chance.

Consentimento e armazenamento

  • Peça aos usuários que confirmem que a foto mostra a própria pessoa ou alguém que concordou
  • Apague a selfie original assim que o retrato final for entregue
  • Nunca reutilize fotos de clientes em amostras ou marketing sem permissão por escrito
  • Identifique o resultado como gerado por IA dentro do seu app, já que algumas plataformas e empregadores se importam com isso
  • Publique uma página de privacidade em linguagem simples que diga por quanto tempo os arquivos são mantidos

Limites com que planejar

LimiteValorO que fazer
Previsões simultâneas5 por contaEnfileire tarefas e limite os workers a 4
Corpo da requisição10 MBRedimensione selfies grandes no navegador
Tamanho do prompt4.000 caracteresLimite o seu construtor de instruções
Timeout de previsão3 horasCancele você mesmo as tarefas paradas
Credenciais da API2 por contaUma para produção, uma para homologação

💡 Confira os preços antes de prometer um preço. A página da API descreve as previsões como atualmente gratuitas, enquanto a página de preços lista o Acesso à API nos planos Pro+, Elite e Infinite. Leia as duas antes de definir o que seus clientes vão pagar.

Faça seu primeiro headshot hoje

Homem sorridente de terno azul-marinho em pé em um corredor de vidro ensolarado de escritório

Deixe de lado os documentos de planejamento. Abra o PicassoIA Image Editor Pro, envie uma selfie e teste três versões do prompt acima: um fundo cinza, um fundo branco e um fundo de escritório. Escolha a vencedora, copie a redação dela para a função em Python, e você terá a espinha dorsal de um produto funcional.

A partir daí, adicione uma tela de upload, uma fila, um botão de tentar novamente e uma caixa de seleção de consentimento. Essa é a lista inteira. Crie suas próprias imagens com a PicassoIA, ajuste os prompts até os retratos parecerem fotografias de verdade e lance a primeira versão esta semana. Seus clientes vão se importar muito mais com um resultado limpo e rápido do que com qualquer recurso que você possa adicionar depois.

Compartilhe este artigo

Escolha seu idioma