Gids · Migratie

Migreren van FASHN naar Photta wat er verandert, wat hetzelfde blijft

In één zin

Een try-on-integratie naar Photta verhuizen betekent een nieuwe bearer key, een nieuwe request body en een nieuw statuspad. De opzet van de integratie — submit, poll, download, store — verandert niet.

  • Typische duur: 1.5–4 min
  • Credits: 5 credits bij 2K · 6 credits bij 4K
  • Verwerking: async, polling

Elk getal op deze pagina is afkomstig uit de Photta-API-documentatie · gecontroleerd

Het korte antwoord

Teams stappen over tussen try-on-API's om de gebruikelijke redenen: de output sluit beter aan op hun catalogus, de prijs per afbeelding pakt gunstiger uit bij hun volume, of ze hebben functionaliteit nodig die de huidige leverancier niet biedt — batch ghost mannequin, detail-close-ups, gegenereerde modellen hergebruikt over een seizoen.

Drie dingen: het credential, de request body en het statuspad. Photta authenticeert met een bearer key bij elke call, gebruikt eigen veldnamen en rapporteert de taakstatus via een per-functionaliteit status-endpoint. Elke waarde die je code verstuurt is gedocumenteerd als een enum of een id die je eerst kunt opvragen.

De architectuur. Beide zijn asynchrone API's waar je naar submit en die je pollt, dus je queue, je worker, je retry-beleid en je storage blijven allemaal gewoon werken. In de praktijk is een migratie een nieuwe clientmodule en een nieuwe set veldnamen, geen compleet nieuwe pipeline.

Het endpoint waar je naartoe verhuist

Gelezen uit de Photta API-documentatie, niet handmatig geschreven.

In één oogopslag

Endpoint
POST /api/v1/tryon/apparel
Authenticatie
Bearer API key
Verwerking
Asynchroon — poll het status-endpoint
Typische duur
1.5–4 min
Credits
5 credits bij 2K · 6 credits bij 4K
Beeldverhoudingen
3:4 · 1:1 · 4:3 · 9:16 · 16:9
Invoerlimieten
Tot 10 MB per afbeelding; JPEG, PNG, WebP
Idempotent
Nee

De vier zaken die daadwerkelijk veranderen

  • Authenticatie

    Eén Bearer-sleutel op elk endpoint, aangemaakt in je Photta-dashboard. Geen afzonderlijke scopes per endpoint en geen token-exchange-stap.

  • De request body

    Photta accepteert snake_case-velden met gedocumenteerde enums, en id's voor het model, de pose en de achtergrond die je ophaalt via de resource-endpoints en cacht.

  • Polling

    Poll het statusEndpoint van de capability elke 3 seconden totdat het completed of failed meldt. Er zijn geen webhooks, dus er hoeft niets nieuws publiekelijk te worden blootgesteld.

  • Hoe er wordt afgerekend

    Credits per call — 5 bij 2K en 6 bij 4K voor apparel try-on — afgeschreven zodra de taak start en automatisch gerestitueerd wanneer deze mislukt.

Het nieuwe request

Dezelfde call in cURL, Node.js en 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')

Vragen over migreren

Hoe lang duurt een migratie?

Het is één clientmodule: een nieuwe sleutel, nieuwe veldnamen, een nieuw statuspad. Als je worker al submits en polling uitvoert, blijft de omliggende code ongewijzigd.

Moet ik mijn queue aanpassen?

Nee. Beide API's zijn asynchroon, dus wat je vandaag ook gebruikt — Celery, BullMQ, Inngest, een crontab — behoudt dezelfde opzet. Alleen de aanroepen binnen de taak veranderen.

Wat gebeurt er met afbeeldingen die ik al heb gegenereerd?

Dat zijn bestanden in je eigen opslag en daar verandert niets aan. Migreren beïnvloedt alleen wat je hierna rendert, niet wat je al hebt gepubliceerd.

Hoe verhouden de prijzen zich?

De vergelijkingspagina zet Photta’s kosten in credits per call af tegen wat FASHN op hun eigen prijspagina publiceert, inclusief de datum waarop elk cijfer is gecontroleerd. Je eigen volume bepaalt wat voordeliger uitvalt.

Kan ik beide tegelijk draaien?

Ja, en het is de veiligste manier om over te stappen. Stuur een deel van je catalogus via het nieuwe endpoint, vergelijk de output op echte producten en migreer vervolgens de rest.

Draai beide tegelijk, schakel dan over

Richt een kopie van je queue op het nieuwe endpoint en vergelijk het resultaat zelf.

  • 1.5–4 min
  • 5 credits bij 2K · 6 credits bij 4K
  • async, polling