Opas · Migraatio
Migraatio FASHN-palvelusta Phottaan mikä muuttuu, mikä ei
Yhdellä lauseella
Try-on-integraation siirtäminen Phottaan tarkoittaa uutta bearer-avainta, uutta pyynnön runkoa ja uutta tilapolkua. Integraation rakenne — lähetä, tee polling, lataa, tallenna — ei muutu.
- Tyypillinen kesto: 1.5–4 min
- Credits: 5 credits resoluutiolla 2K · 6 credits resoluutiolla 4K
- Käsittely: asynkroninen, polling
Jokainen luku tällä sivulla on peräisin Photta-rajapinnan dokumentaatiosta · tarkistettu
Lyhyt vastaus
Tiimit vaihtavat try-on-rajapintojen välillä tavanomaisista syistä: tulos sopii paremmin heidän katalogiinsa, kuvan hinta muodostuu erilaiseksi heidän volyymillään tai he tarvitsevat ominaisuutta, jota nykyinen toimittaja ei tarjoa — eräajo ghost mannequin -kuville, yksityiskohtien lähikuvat, läpi kauden uudelleenkäytettävät generoidut mallit.
Kolme asiaa: todennustieto, pyynnön runko ja tilapolku. Photta autentikoi bearer-avaimella jokaisella kutsulla, käyttää omia kenttänimiään ja raportoi työn tilan ominaisuuskohtaisessa status-endpointissa. Jokainen koodisi lähettämä arvo on dokumentoitu enum-arvona tai id-tunnisteena, jonka voit listata ensin.
Arkkitehtuuri. Molemmat ovat asynkronisia rajapintoja, joihin lähetetään dataa ja joille tehdään polling-kyselyitä, joten jonosi, workerisi, retry-käytäntösi ja tallennustilasi toimivat edelleen. Käytännössä migraatio tarkoittaa uutta asiakasmoduulia ja uusia kenttänimiä, ei uutta liukuhihnaa.
Endpoint, johon olet siirtymässä
Luettu Photta-rajapinnan dokumentaatiosta, ei kirjoitettu käsin.
Lyhyesti
- Endpoint
- POST /api/v1/tryon/apparel
- Autentikointi
- Bearer-API-avain
- Käsittely
- Asynkroninen — tee polling-kyselyitä status-endpointiin
- Tyypillinen kesto
- 1.5–4 min
- Credits
- 5 credits resoluutiolla 2K · 6 credits resoluutiolla 4K
- Kuvasuhteet
- 3:4 · 1:1 · 4:3 · 9:16 · 16:9
- Syöterajoitukset
- Enintään 10 MB per kuva; JPEG, PNG, WebP
- Idempotentti
- Ei
Neljä asiaa, jotka todella muuttuvat
Autentikointi
Yksi bearer-avain jokaiselle endpointille, luodaan Photta-hallintapaneelissasi. Ei endpoint-kohtaisia scopeja eikä tokeninvaihtovaihetta.
Pyynnön body
Photta ottaa vastaan snake_case-kenttiä dokumentoiduilla enumeilla sekä mallin, asennon ja taustan id-tunnisteita, jotka haet resurssien endpointeista ja välimuistitat.
Polling
Pollaa kyvykkyyden status-endpointia 3 sekunnin välein, kunnes se palauttaa tilaksi completed tai failed. Webhookeja ei ole, joten mitään uutta ei tarvitse avata julkiseksi.
Miten sinua veloitetaan
Credits-kulu per kutsu — vaatteiden try-on-toiminnolle 5 resoluutiolla 2K ja 6 resoluutiolla 4K — veloitetaan työn alkaessa ja hyvitetään automaattisesti, jos se epäonnistuu.
Uusi pyyntö
Sama kutsu kielillä cURL, Node.js ja 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"]Kysymyksiä migraatiosta
Kuinka kauan migraatio kestää?
Kyse on yhdestä asiakasmoduulista: uusi avain, uudet kenttien nimet, uusi status-polku. Jos workerisi jo tekee lähetyksen ja pollingin, ympäröivää koodia ei tarvitse muuttaa.
Täytyykö minun muuttaa jonojärjestelmääni?
Ei. Molemmat rajapinnat ovat asynkronisia, joten mikä tahansa nykyinen ratkaisusi — Celery, BullMQ, Inngest, cron-taulu — säilyttää rakenteensa. Vain tehtävän sisäiset kutsut muuttuvat.
Mitä tapahtuu jo luoduille kuville?
Ne ovat tiedostoja omassa tallennustilassasi, eikä mikään niissä muutu. Migraatio vaikuttaa vain siihen, mitä renderöit seuraavaksi, ei siihen, mitä olet jo julkaissut.
Miten hinnat vertautuvat?
Vertailusivu rinnastaa Phottan credits-kustannuksen per kutsu siihen, mitä FASHN ilmoittaa omalla hinnoittelusivullaan, sisältäen kunkin luvun tarkistuspäivämäärän. Oma volyymisi ratkaisee, kumpi tulee edullisemmaksi.
Voinko ajaa molempia yhtä aikaa?
Kyllä, ja se on turvallisin tapa vaihtaa. Ohjaa osa kuvastostasi uuden endpointin läpi, vertaa tuloksia oikeilla tuotteilla ja siirrä sitten loput.
Lue seuraavaksi
Ominaisuudet
Virtuaalinen try-on API vaatteille
REST API, joka asettaa vaatteet tekoälymallinukkejen päälle. Asynkroninen, 1.5–4 minuutin generointi, 5 credits resoluutiolla 2K, 6 resoluutiolla 4K. cURL-, Node.js- ja Python-esimerkit.
LueVertailu
Photta vs FASHN — Muodin AI-rajapinnat rinnakkain
Photta ja FASHN vertailussa: endpointit, credit-hinnoittelu, tilaustasot, samanaikaisuusrajat. Perustuu kummankin yrityksen omaan hinnoittelusivuun 2026-04-19. Ei keksittyjä lukuja.
LueReferenssi
Photta API:n hinnoittelu
Mitä kukin Photta API -endpoint maksaa creditseinä resoluutioilla 2K ja 4K, miten veloitus ja palautukset toimivat ja mitkä endpointit ovat ilmaisia. Ei kuvakohtaista rahahintaa.
LueReferenssi
Photta API:n rate limitit
Photta API:n rate limit, sen aikaikkuna, Retry-After-otsake, pollausväli ja tilauskohtaiset rinnakkaisuusrajat, kaikki API-dokumentaatiosta luettuna.
LuePikaopas
Ensimmäinen Photta-kuva alle viidessä minuutissa.
Rekisteröidy, luo API-avain, suorita ensimmäinen cURL-kutsusi, tee pollingia valmistumiseen asti ja tallenna tulos. Viisi vaihetta, dokumentoitu alusta loppuun.
Lue
Jokainen luku tällä sivulla on peräisin Photta-rajapinnan dokumentaatiosta · tarkistettu
Aja molempia, vaihda sitten
Ohjaa kopio jonostasi uuteen endpointiin ja vertaa tuloksia itse.
- 1.5–4 min
- 5 credits resoluutiolla 2K · 6 credits resoluutiolla 4K
- asynkroninen, polling