Guía · Migración

Migración de FASHN a Photta qué cambia, qué no

En una frase

Trasladar una integración de try-on a Photta implica una nueva clave bearer, un nuevo cuerpo de petición y una nueva ruta de estado. La estructura de la integración — enviar, polling, descargar, almacenar — no cambia.

  • Tiempo típico: 1.5–4 min
  • Credits: 5 credits a 2K · 6 credits a 4K
  • Procesamiento: asíncrono, polling

Cada cifra de esta página proviene de la documentación de la API de Photta · verificado

La respuesta corta

Los equipos cambian de API de try-on por las razones habituales: los resultados encajan mejor con su catálogo, el precio por imagen rinde de forma diferente a su volumen o necesitan una funcionalidad que su proveedor actual no ofrece — maniquí invisible en lote, primeros planos de detalles, modelos generados reutilizados a lo largo de una temporada.

Tres cosas: la credencial, el cuerpo de la petición y la ruta de estado. Photta se autentica con una clave bearer en cada llamada, utiliza sus propios nombres de campo y reporta el estado del trabajo en un endpoint de estado específico por funcionalidad. Cada valor que envía tu código está documentado como un enum o un id que puedes consultar primero.

La arquitectura. Ambas son API asíncronas a las que envías y haces polling, por lo que tu cola, tu worker, tu política de reintentos y tu almacenamiento siguen funcionando. En la práctica, una migración consiste en un nuevo módulo de cliente y un nuevo conjunto de nombres de campo, no en un pipeline nuevo.

El endpoint al que vas a migrar

Leído de la documentación de la API de Photta, no escrito a mano.

De un vistazo

Endpoint
POST /api/v1/tryon/apparel
Autenticación
Bearer API key
Procesamiento
Asíncrono — realiza polling al endpoint de estado
Tiempo típico
1.5–4 min
Credits
5 credits a 2K · 6 credits a 4K
Relaciones de aspecto
3:4 · 1:1 · 4:3 · 9:16 · 16:9
Límites de entrada
Hasta 10 MB por imagen; JPEG, PNG, WebP
Idempotente
No

Las cuatro cosas que realmente cambian

  • Autenticación

    Una sola clave Bearer en cada endpoint, creada en tu panel de Photta. Sin scopes por endpoint y sin paso de intercambio de tokens.

  • El cuerpo de la petición

    Photta acepta campos en snake_case con enums documentados, y los IDs para el modelo, la pose y el fondo que listas desde los endpoints de recursos y almacenas en caché.

  • Polling

    Haz polling al endpoint de estado de la capability cada 3 segundos hasta que devuelva completed o failed. No hay webhooks, por lo que no es necesario exponer nada nuevo públicamente.

  • Cómo se te cobra

    Créditos por llamada — 5 en 2K y 6 en 4K para try-on de ropa —, descontados cuando comienza el trabajo y reembolsados automáticamente si falla.

La nueva petición

La misma llamada en cURL, Node.js y 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')

Preguntas sobre la migración

¿Cuánto tiempo lleva una migración?

Es un único módulo de cliente: una nueva clave, nuevos nombres de campo, una nueva ruta de estado. Si tu worker ya envía peticiones y hace polling, el código circundante no cambia.

¿Tengo que cambiar mi cola?

No. Ambas API son asíncronas, por lo que cualquier cosa que uses hoy — Celery, BullMQ, Inngest, una tabla cron — mantiene su estructura. Solo cambian las llamadas dentro de la tarea.

¿Qué ocurre con las imágenes que ya generé?

Son archivos en tu propio almacenamiento y nada en ellos cambia. Migrar afecta a lo que renderices a continuación, no a lo que ya has publicado.

¿Cómo se comparan los precios?

La página de comparación contrasta el coste en credits por llamada de Photta con lo que FASHN publica en su propia página de precios, indicando la fecha en que se consultó cada cifra. Tu propio volumen determinará cuál te resulta más conveniente.

¿Puedo ejecutar ambos a la vez?

Sí, y es la forma más segura de hacer la transición. Envía una fracción de tu catálogo a través del nuevo endpoint, compara el resultado con productos reales y luego migra el resto.

Ejecuta ambos, luego cambia

Apunta una copia de tu cola al nuevo endpoint y compara la salida tú mismo.

  • 1.5–4 min
  • 5 credits a 2K · 6 credits a 4K
  • asíncrono, polling