Guia · Migração

Migrando da FASHN para a Photta o que muda, o que não muda

Em uma frase

Mover uma integração de try-on para a Photta significa uma nova chave bearer, um novo corpo de requisição e um novo caminho de status. A estrutura da integração — enviar, fazer polling, baixar, armazenar — não muda.

  • Tempo típico: 1.5–4 min
  • Credits: 5 credits em 2K · 6 credits em 4K
  • Processamento: assíncrono, polling

Todos os números nesta página vêm de a documentação da API da Photta · verificado

A resposta resumida

Equipes migram entre APIs de try-on pelos motivos habituais: o output se adapta melhor ao catálogo delas, o preço por imagem compensa mais no volume delas, ou elas precisam de um recurso que o fornecedor atual não disponibiliza — ghost mannequin em batch, close-ups de detalhes, modelos gerados reutilizados ao longo de uma temporada.

Três coisas: a credencial, o corpo da requisição e o caminho de status. A Photta autentica com uma chave bearer em cada chamada, utiliza seus próprios nomes de campos e reporta o estado do job em um endpoint de status específico para cada funcionalidade. Cada valor que seu código envia é documentado como um enum ou um id que você pode listar previamente.

A arquitetura. Ambas são APIs assíncronas para as quais você envia e faz polling, portanto sua fila, seu worker, sua política de repetição e seu armazenamento continuam funcionando. Na prática, uma migração é um novo módulo de cliente e um novo conjunto de nomes de campos, não um pipeline novo.

O endpoint para o qual você está migrando

Lido diretamente da documentação da API da Photta, não escrito manualmente.

Visão geral

Endpoint
POST /api/v1/tryon/apparel
Autenticação
API key Bearer
Processamento
Assíncrono — faça polling no endpoint de status
Tempo típico
1.5–4 min
Credits
5 credits em 2K · 6 credits em 4K
Proporções de tela
3:4 · 1:1 · 4:3 · 9:16 · 16:9
Limites de entrada
Até 10 MB por imagem; JPEG, PNG, WebP
Idempotente
Não

As quatro coisas que realmente mudam

  • Autenticação

    Uma chave bearer em cada endpoint, criada no seu dashboard do Photta. Sem escopos por endpoint e sem etapa de troca de token.

  • O corpo da requisição

    O Photta aceita campos em snake_case com enums documentados, além de ids para o modelo, pose e fundo que você lista a partir dos endpoints de recursos e armazena em cache.

  • Polling

    Faça polling no endpoint de status da funcionalidade a cada 3 segundos até que ele reporte completed ou failed. Não há webhooks, portanto nada novo precisa ser exposto publicamente.

  • Como você é cobrado

    Créditos por chamada — 5 em 2K e 6 em 4K para try-on de roupas — deduzidos quando o job inicia e reembolsados automaticamente quando ele falha.

A nova requisição

A mesma chamada em cURL, Node.js e Python.

RESPONSE=$(curl -s -X POST https://api.photta.app/api/v1/tryon/apparel \
  -H "Authorization: Bearer $PHOTTA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "product_type": "top",
  "product_images": [
    "https://cdn.yourstore.com/products/shirt-front.jpg"
  ],
  "product_back_image": "https://cdn.yourstore.com/products/shirt-back.jpg",
  "product_category": "t_shirt",
  "mannequin_id": "mnk_f3a9b1",
  "pose_id": "pose_c2d4e5",
  "background": "https://cdn.yourstore.com/backgrounds/studio-loft.jpg",
  "lock_background": true,
  "resolution": "2K",
  "aspect_ratio": "3:4",
  "body_size": "M",
  "expression": "neutral",
  "user_instruction": "Keep the collar pattern crisp and centered."
}')
ID=$(echo "$RESPONSE" | jq -r '.data.id')

Dúvidas sobre a migração

Quanto tempo leva uma migração?

É apenas um módulo de cliente: uma nova chave, novos nomes de campos, um novo caminho de status. Se o seu worker já envia e faz polling, o código ao redor não muda.

Preciso alterar minha fila?

Não. Ambas as APIs são assíncronas, portanto o que você usa hoje — Celery, BullMQ, Inngest, uma tabela cron — mantém sua estrutura. Apenas as chamadas dentro da task mudam.

O que acontece com as imagens que já gerei?

Elas são arquivos no seu próprio armazenamento e nada nelas muda. A migração afeta o que você renderiza a seguir, não o que você já publicou.

Como os preços se comparam?

A página de comparação confronta o custo em créditos por chamada do Photta com o que o FASHN publica em sua própria página de preços, com a data em que cada número foi coletado. O seu próprio volume define qual opção compensa mais.

Posso rodar ambos ao mesmo tempo?

Sim, e essa é a maneira mais segura de fazer a transição. Envie uma fração do seu catálogo pelo novo endpoint, compare o resultado em produtos reais e, depois, migre o restante.

Execute ambos, depois faça a transição

Aponte uma cópia da sua fila para o novo endpoint e compare o output você mesmo.

  • 1.5–4 min
  • 5 credits em 2K · 6 credits em 4K
  • assíncrono, polling