Guide · Migrering
Migrera från FASHN till Photta vad som ändras, vad som inte gör det
I en mening
Att flytta en try-on-integration till Photta innebär en ny bearer key, en ny request body och en ny statussökväg. Integrationens struktur — skicka, polla, ladda ner, lagra — ändras inte.
- Typisk tid: 1.5–4 min
- Credits: 5 credits vid 2K · 6 credits vid 4K
- Bearbetning: asynkron, polling
Varje siffra på den här sidan kommer från Photter API-dokumentationen · kontrollerad
Det korta svaret
Team byter try-on-API:er av de vanliga skälen: resultatet passar deras katalog bättre, priset per bild blir annorlunda vid deras volym, eller så behöver de en funktion som den nuvarande leverantören inte erbjuder — ghost mannequin i batch, detaljnärbilder, genererade modeller som återanvänds över en hel säsong.
Tre saker: inloggningsuppgiften, request body och statussökvägen. Photta autentiserar med en bearer key vid varje anrop, använder egna fältnamn och rapporterar jobbstatus på en funktionsspecifik status-endpoint. Varje värde din kod skickar är dokumenterat som en enum eller ett id som du kan lista i förväg.
Arkitekturen. Båda är asynkrona API:er som du skickar till och pollar, så din kö, din worker, din policy för återförsök och din lagring fortsätter alla att fungera. I praktiken är en migrering en ny klientmodul och en ny uppsättning fältnamn, inte en ny pipeline.
Endpointen du flyttar till
Hämtat direkt från Photta API-dokumentationen, inte skrivet för hand.
I korthet
- Endpoint
- POST /api/v1/tryon/apparel
- Autentisering
- Bearer API-nyckel
- Bearbetning
- Asynkron — polla status-endpointen
- Typisk tid
- 1.5–4 min
- Credits
- 5 credits vid 2K · 6 credits vid 4K
- Bildförhållanden
- 3:4 · 1:1 · 4:3 · 9:16 · 16:9
- Indatagränser
- Upp till 10 MB per bild; JPEG, PNG, WebP
- Idempotent
- Nej
De fyra sakerna som faktiskt ändras
Autentisering
En bearer-nyckel på varje endpoint, skapad i din Photta-dashboard. Inga scopes per endpoint och inget tokenutbytessteg.
Request body
Photta tar emot snake_case-fält med dokumenterade enums, samt id:n för modell, pose och bakgrund som du listar via resurs-endpoints och cachar.
Polling
Polla förmågans status-endpoint var 3:e sekund tills den rapporterar completed eller failed. Det finns inga webhooks, så inget nytt behöver exponeras publikt.
Hur du debiteras
Credits per anrop — 5 vid 2K och 6 vid 4K för apparel try-on — dras när jobbet startar och återbetalas automatiskt om det misslyckas.
Den nya förfrågan
Samma anrop i cURL, Node.js och 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"]Frågor om att migrera
Hur lång tid tar en migrering?
Det handlar om en enda klientmodul: en ny nyckel, nya fältnamn, en ny statussökväg. Om din worker redan skickar requests och pollar behöver den omgivande koden inte röras.
Måste jag byta kösystem?
Nej. Båda API:erna är asynkrona, så vad du än använder idag — Celery, BullMQ, Inngest, en crontabell — behåller sin struktur. Endast anropen inuti själva tasken ändras.
Vad händer med bilderna jag redan genererat?
De är filer i din egen lagring och ingenting med dem förändras. Migreringen påverkar vad du renderar härnäst, inte vad du redan har publicerat.
Hur ser prisjämförelsen ut?
Jämförelsesidan ställer Phottas credit-kostnad per anrop mot vad FASHN publicerar på sin egen prissida, inklusive datumet då varje siffra lästes av. Din egen volym avgör vilket alternativ som blir bäst.
Kan jag köra båda samtidigt?
Ja, och det är det säkraste sättet att byta. Skicka en del av din katalog genom den nya endpointen, jämför resultatet på riktiga produkter och flytta sedan över resten.
Läs härnäst
Funktioner
API för virtuell try-on för apparel
REST API som placerar kläder på AI-mannekänger. Asynkron, 1,5–4 minuters generering, 5 credits vid 2K, 6 vid 4K. Exempel för cURL, Node.js och Python.
LäsJämför
Photta mot FASHN — AI-mode-API, sida vid sida
Photta och FASHN jämförda: endpoints, kreditpriser, plannivåer, gränser för samtidighet. Hämtat från respektive företags egen prissida 2026-04-19. Inga påhittade siffror.
LäsReferens
Photta API-prissättning
Vad varje Photta API-endpoint kostar i credits i 2K och 4K, hur debitering och återbetalning fungerar, samt vilka endpoints som är gratis. Inget fast pris i pengar per bild.
LäsReferens
Photta API rate limits
Photta API:s rate limit, dess fönster, Retry-After-headern, polling-intervallet och taken för samtidighet per abonnemang, allt hämtat från API-dokumentationen.
LäsSnabbstart
Första Photta-bilden på under fem minuter.
Skapa konto, generera en API-nyckel, kör ditt första cURL-anrop, polla tills det är klart, spara resultatet. Fem steg, dokumenterade från början till slut.
Läs
Varje siffra på den här sidan kommer från Photter API-dokumentationen · kontrollerad
Kör båda, byt sedan
Rikta en kopia av din kö mot den nya endpointen och jämför resultatet själv.
- 1.5–4 min
- 5 credits vid 2K · 6 credits vid 4K
- asynkron, polling