Guide · Migrering
Migrering fra FASHN til Photta hvad der ændres, hvad der ikke gør
I én sætning
At flytte en try-on-integration til Photta indebærer en ny bearer-nøgle, en ny request body og en ny statussti. Integrationens struktur — submit, poll, download, store — ændrer sig ikke.
- Typisk tid: 1.5–4 min
- Credits: 5 credits ved 2K · 6 credits ved 4K
- Behandling: async, polling
Hvert tal på denne side stammer fra Photta API-dokumentationen · tjekket
Det korte svar
Teams skifter mellem try-on-API'er af de sædvanlige årsager: outputtet passer bedre til deres katalog, stykprisen pr. billede stiller sig anderledes ved deres volumen, eller de behøver en feature, den nuværende udbyder ikke leverer — batch ghost mannequin, detaljerede nærbilleder eller genererede modeller genbrugt over en sæson.
Tre ting: loginoplysningen, request bodyen og statusstien. Photta godkender med en bearer-nøgle ved hvert kald, bruger sine egne feltnavne og rapporterer jobstatus på et funktionsspecifikt status-endpoint. Enhver værdi, din kode sender, er dokumenteret som en enum eller et id, du kan hente en liste over først.
Arkitekturen. Begge er asynkrone API'er, du indsender til og poller, så din kø, din worker, din retry-politik og dit lager fortsætter med at fungere. I praksis er en migrering et nyt klientmodul og et nyt sæt feltnavne, ikke en ny pipeline.
Endpointet, du flytter til
Læst fra Photta API-dokumentationen, ikke skrevet i hånden.
Kort fortalt
- Endpoint
- POST /api/v1/tryon/apparel
- Autentifikation
- Bearer API-nøgle
- Behandling
- Asynkron — poll status-endpointet
- Typisk tid
- 1.5–4 min
- Credits
- 5 credits ved 2K · 6 credits ved 4K
- Billedformater
- 3:4 · 1:1 · 4:3 · 9:16 · 16:9
- Inputgrænser
- Op til 10 MB pr. billede; JPEG, PNG, WebP
- Idempotent
- Nej
De fire ting, der rent faktisk ændrer sig
Autentifikation
Én bearer-nøgle på hvert endpoint, oprettet i dit Photta-dashboard. Ingen scopes per endpoint og intet trin til token-udveksling.
Request body
Photta modtager snake_case-felter med dokumenterede enums samt id'er for model, positur og baggrund, som du henter fra ressource-endpoints og cacher.
Polling
Poll funktionalitetens status-endpoint hvert 3. sekund, indtil det melder completed eller failed. Der er ingen webhooks, så intet nyt behøver at blive eksponeret offentligt.
Sådan afregnes du
Credits per kald — 5 ved 2K og 6 ved 4K for try-on af tøj — trækkes, når jobbet starter, og refunderes automatisk, hvis det fejler.
Det nye request
Det samme kald i cURL, Node.js og 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')const res = await fetch("https://api.photta.app/api/v1/tryon/apparel", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.PHOTTA_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
"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."
}),
});
const { data } = await res.json(); // data.id, data.statusimport os, requests
res = requests.post(
"https://api.photta.app/api/v1/tryon/apparel",
headers={"Authorization": f"Bearer {os.environ['PHOTTA_API_KEY']}"},
json={
"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."
},
)
data = res.json()["data"] # data["id"], data["status"]Spørgsmål om migrering
Hvor lang tid tager en migrering?
Det er ét klientmodul: en ny nøgle, nye feltnavne, en ny statussti. Hvis din worker allerede afsender og poller, ændres den omkringliggende kode ikke.
Skal jeg ændre min kø?
Nej. Begge API'er er asynkrone, så uanset hvad du bruger i dag — Celery, BullMQ, Inngest, en cron-tabel — bevarer det sin struktur. Kun kaldene inde i opgaven ændres.
Hvad sker der med billeder, jeg allerede har genereret?
De er filer i dit eget lager, og intet ved dem ændrer sig. Migreringen påvirker det, du renderer fremover, ikke det, du allerede har publiceret.
Hvordan er priserne sammenlignet?
Sammenligningssiden holder Phottas credit-omkostning per kald op imod det, FASHN oplyser på deres egen prisside, inklusive datoen for, hvornår hver enkelt figure blev aflæst. Din egen volumen afgør, hvad der bedst kan betale sig.
Kan jeg køre begge samtidig?
Ja, og det er den sikreste måde at skifte på. Send en del af dit katalog gennem det nye endpoint, sammenlign resultatet på rigtige produkter, og flyt derefter resten.
Læs videre
Funktioner
Virtuel try-on API til tøj
REST API, der placerer tøj på AI-mannequiner. Asynkront, 1.5–4 minutters generering, 5 credits ved 2K, 6 ved 4K. cURL-, Node.js- og Python-eksempler.
LæsSammenlign
Photta vs FASHN — AI-mode-API, side om side
Photta og FASHN sammenlignet: endpoints, kreditpriser, abonnementstyper, concurrency limits. Hentet direkte fra hver virksomheds egen prisside den 2026-04-19. Ingen opdigtede tal.
LæsReference
Photta API-priser
Hvad hvert Photta API-endpoint koster i credits ved 2K og 4K, hvordan debitering og refundering fungerer, og hvilke endpoints der er gratis. Ingen faste pengepriser pr. billede.
LæsReference
Photta API rate limits
Photta API-rate limit, dets vindue, Retry-After-headeren, polling-intervallet og lofterne for samtidighed pr. abonnement, alt sammen aflæst fra API-dokumentationen.
LæsHurtig start
Første Photta-billede på under fem minutter.
Opret en konto, generer en API-nøgle, kør dit første cURL-kald, foretag polling indtil det er fuldført, gem resultatet. Fem trin, dokumenteret fra start til slut.
Læs
Hvert tal på denne side stammer fra Photta API-dokumentationen · tjekket
Kør begge, og skift derefter
Ret en kopi af din kø mod det nye endpoint, og sammenlign selv outputtet.
- 1.5–4 min
- 5 credits ved 2K · 6 credits ved 4K
- async, polling