Inicio rápido

Primera imagen de Photta en menos de cinco minutos.

Una sola cuenta, una sola API key, cinco comandos de shell. Los pasos a continuación coinciden exactamente con lo que recomienda la documentación oficial de Photta — sin wrappers, sin SDKs, sin suposiciones de framework.

En una frase

Regístrate en ai.photta.app, haz clic en Generar API key, expórtala como PHOTTA_API_KEY, haz un POST a /api/v1/tryon/apparel y sondea el ID de generación devuelto cada 3 segundos hasta que el status cambie a completed — típicamente en 1.5 a 4 minutos.

Cómo funciona

Cinco comandos desde cero hasta la primera imagen

Pégalos en una terminal en orden. Cada fragmento es autónomo y usa solo curl + jq.

  1. 01

    Paso 1

    Genera una API key

    Regístrate en ai.photta.app y abre el dashboard de Desarrolladores. Haz clic en Generar API key — las claves activas comienzan con photta_live_. Expórtala para que el resto de la guía pueda leerla desde tu shell.

    # Sign up at ai.photta.app, open the Developers dashboard,
    # click "Generate API key" and copy it into your env.
    export PHOTTA_API_KEY="photta_live_xxxxx"
    export PHOTTA_BASE_URL="https://ai.photta.app/api/v1"
  2. 02

    Paso 2

    Envía tu primer try-on

    Llama a /api/v1/tryon/apparel con la URL de una imagen de producto, un mannequin ID y un pose ID. La API responde 202 Accepted de inmediato y devuelve un ID de generación en data.id.

    curl -X POST "$PHOTTA_BASE_URL/tryon/apparel" \
      -H "Authorization: Bearer $PHOTTA_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "product_type": "dress",
        "product_images": ["https://example.com/dress.jpg"],
        "mannequin_id": "mnq_athena_ts",
        "pose_id": "pose_standing_front",
        "resolution": "2K",
        "aspect_ratio": "3:4"
      }'
    # Response: 202 Accepted + data.id (generation ID)
  3. 03

    Paso 3

    Sondea hasta que se complete

    Llama a GET /api/v1/tryon/apparel/:id cada 3 segundos. La finalización típica es de 1.5–4 minutos. Pon un límite superior de intentos para que un trabajo atascado no bloquee tu script para siempre.

    # Loop every 3 seconds until status flips to "completed".
    # Typical completion: 1.5–4 minutes. Max 120 attempts = 6 min.
    for i in $(seq 1 120); do
      RESULT=$(curl -s "$PHOTTA_BASE_URL/tryon/apparel/$ID" \
        -H "Authorization: Bearer $PHOTTA_API_KEY")
      STATUS=$(echo "$RESULT" | jq -r '.data.status')
      [ "$STATUS" = "completed" ] && break
      [ "$STATUS" = "failed" ] && echo "Job failed" && exit 1
      sleep 3
    done
  4. 04

    Paso 4

    Persistir el resultado

    Cuando el status cambie a completed, data.output_url contiene la imagen renderizada. Descarga los bytes en tu propio almacenamiento para que tu producto no dependa del CDN de Photta para el renderizado.

    # Pull the final URL out of the response and save the bytes.
    OUTPUT_URL=$(echo "$RESULT" | jq -r '.data.output_url')
    curl -sO "$OUTPUT_URL"
    echo "Saved $(basename "$OUTPUT_URL")"
  5. 05

    Paso 5

    Maneja los modos de fallo con honestidad

    Decide según el código de estado HTTP: 402 para créditos insuficientes, 429 para límites de tasa (respeta Retry-After), 5xx para errores transitorios del servidor. Cada cuerpo de error lleva un error.code legible por máquina sobre el cual puedes actuar.

    # Surface the common failure modes honestly.
    case "$STATUS_CODE" in
      402) echo "Out of credits — top up at ai.photta.app" ;;
      429) echo "Rate limited — honour Retry-After header" ;;
      4??) echo "Client error: $(echo "$BODY" | jq '.error.message')" ;;
      5??) echo "Server error — retry with backoff" ;;
    esac

Preguntas de otros desarrolladores

Preguntas sobre cómo empezar

¿Cuánto tiempo toma el inicio rápido?+

Cinco minutos para el registro + generación de la clave + primer cURL. La generación en sí toma de 1.5 a 4 minutos, así que cuenta con diez minutos de tiempo real antes de ver tu primera imagen con modelo.

¿Necesito una tarjeta de crédito para probarlo?+

Las cuentas nuevas vienen con créditos de prueba que puedes usar antes de pagar. Cuando estés listo para pasar a producción, suscríbete a un plan para obtener un saldo mensual de créditos mayor y límites de tasa más rápidos.

¿Qué endpoint debería probar primero?+

Try-on de ropa (/api/v1/tryon/apparel) — es el más utilizado, la documentación es la más completa y cubre el patrón de async + polling que todos los demás endpoints de Photta reutilizan. Una vez que te sientas cómodo allí, joyería y maniquí invisible funcionan de la misma manera.

¿Puedo ejecutarlo desde el navegador?+

No. Tu API key debe permanecer en el servidor — enviarla a un navegador la filtra a cada visitante. Dirige las llamadas a través de un proxy ligero en tu propio backend (Next.js route handler, Express, Flask, Lambda) y deja que el navegador hable con tu proxy en su lugar.

Inicio rápido

Estás a cinco minutos de tu primera imagen

Inicio rápido de la Photta API — Primera imagen en 5 minutos | Photta