Rakenna · AI-valokuvaus-SaaS

Rakenna AI-tuotekuvauspalvelu

Yhdellä lauseella

Provisioi Photta API -avain asiakaskohtaisesti (tai käytä jaettua avainta pientuotannossa), hajauta kunkin asiakkaan tuotekatalogi jonoon, kutsu /api/v1/tryon/apparel tuotekohtaisesti, hoida generation ID -tunnisteiden polling worker-poolissa, tallenna tulokset asiakkaasi bucketiin ja laskuta jokainen laskutettava yksikkö (credit tai renderöity kuva) marginaalilla Phottan credit-kustannuksen päälle.

  • Credits: 5 credits resoluutiolla 2K · 6 credits resoluutiolla 4K
  • Tyypillinen kesto: 1.5–4 min
  • Käsittely: asynkroninen, polling

Jokainen luku tällä sivulla on peräisin Photta-rajapinnan dokumentaatiosta · tarkistettu

Hajauta työt asiakkaidesi tuotekatalogien yli, lähetä try-on-työt tuotekohtaisesti ja laskuta credit-perusteisesti. Samat primitiivit, jotka Photta tarjoaa yksittäisille kehittäjille, skaalautuvat white-label-SaaS-palveluksi — kunhan huomioit rajapinnan reunaehdot.

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')

Miten se toimii

Yhdestä avaimesta moniasiakasympäristöön

Viisi arkkitehtuuripäätöstä, jotka sinun on tehtävä ennen tuotantokoodin kirjoittamista.

  1. Vaihe 1

    Määrittele tuotesopimuksesi

    Päätä, mitä asiakkaasi saa laskutusyksikköä kohden: yhden renderöidyn kuvan? Erän? Kuukausittaisen credit-poolin? Vastauksesi ohjaa kaikkea muuta — jonon syvyyttä, retry-käytäntöä ja hinnoittelusivun tekstejä.

  2. Vaihe 2

    Provisioi Photta-avaimet asiakaskohtaisesti

    Pieni mittakaava: yksi jaettu avain, seuraa asiakaskohtaista käyttöä omassa tietokannassasi. Suurempi mittakaava: yksi Photta-avain asiakasta kohden Phottan hallintapaneelista hallittuna — selkeämpi kohdistus ja pienempi vaikutusalue avainvuodoissa.

  3. Vaihe 3

    Hajauta jonon kautta

    Lisää valokuvatyö jonoon jokaiselle asiakkaan syötteen tuotteelle. Älä koskaan lähetä pyyntöjä synkronisesti CSV-tuonnin aikana — saavutat 600 pyynnön minuuttikohtaisen rate limitin ja menetät töitä 429-virheisiin.

  4. Vaihe 4

    Marginaali credit-hinnan päälle

    Jokainen 4K-vaaterenderöinti maksaa sinulle 6 credits. Jokaisen lähettämäsi laskun tulisi olla credits × marginaalisi. Kirjaa raaka credit-kustannus kirjanpitoosi, jotta taloushallinto voi täsmäyttää Phottan laskun liikevaihtoosi.

  5. Vaihe 5

    Valvo viivettä ja virheprosenttia

    Seuraa valmistumisaikaa ja virheprosenttia asiakaskohtaisesti. Kun asiakkaan valokuvat kestävät toistuvasti yli 4 minuuttia tai epäonnistuvat jatkuvasti, syynä on lähes aina virheellinen syöte (rikkinäinen URL, ei-tuettu product_type) — ei ongelma Phottassa.

Kolme tarvitsemaasi mallia

Hajautus, asiakaskohtainen lähetys, laskutusloki — valokuvaus-SaaS-palvelun kantavat rakenteet.

// For each product in the customer's feed, kick off a try-on.
for (const product of catalog) {
  await photoQueue.add("photo", {
    customerId: product.customer_id,
    productUrl: product.image,
    productType: product.type, // "top" | "bottom" | "top_and_bottom" | "one_piece"
  });
}
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.status
// A completed apparel job costs 5 credits at 2K and 6 at 4K.
// Record it to your billing pipeline so you can margin on top of it.
await billingLedger.append({
  customer: data.customerId,
  sku: "photo-4k",
  quantity: 1,
  wholesaleCost: 6, // credits, = your Photta spend
});

Kehittäjien usein kysymää

Palvelun pyörittäminen Phottan päällä

Tarvitsenko erillisen Photta API -avaimen kullekin asiakkaalle?

Et, mutta se auttaa skaalattaessa. Muutaman asiakkaan kohdalla yksi jaettu avain asiakaskohtaisella käytönseurannalla omassa tietokannassasi riittää. Tämän jälkeen asiakaskohtainen avain tarjoaa selkeämmän kohdistuksen, helpomman kierrätyksen ja pienemmän vaikutusalueen tietovuodon sattuessa.

Mitä teen, kun credits loppuvat?

API palauttaa virheen 402 insufficient_credits sekä vaaditut (required) ja saatavilla olevat (available) määrät. Aseta hälytysraja (esim. 100 credits) ja lataa saldoa automaattisesti ennen kuin työt alkavat epäonnistua. Epäonnistuneet työt palauttavat credits-yksikkönsä, joten 402-virheiden ryöppy ei pahenna vahinkoa.

Miten minun tulisi hinnoitella palveluni?

Photta veloittaa 5 credits resoluutiolla 2K ja 6 credits resoluutiolla 4K. Muunna tämä vähittäismyyntivaluutaksesi (kustannus × katteesi × credit-muunnos) ja päätä, laskutatko per kuva, per erä vai kuukausitasolla. Useimmat valokuvaus-SaaS-tuotteet päätyvät laskuttamaan kuvalatauskohtaisesti kuukausiminimillä.

Mitä SLA-tasoja Photta tarjoaa?

Phottan dokumentoitu valmistumisaika on 1.5–4 minuuttia per työ. Sitovaa uptime-SLA:ta ei ole julkaistu. Jos oma SaaS-palvelusi sitoutuu tiettyyn läpimenoaikaan, rakenna pelivara omaan sopimukseesi (esim. 'kuvat toimitetaan 1 tunnin sisällä' antaa 10-kertaisen liikkumavaran) ja seuraa vuokralaiskohtaista viivettä havaitaksesi suorituskyvyn heikkenemiset ajoissa.

Voinko white-labeloida tuotoksen?

Kyllä. Palautetuissa kuvissa ei ole Photta-brändäystä. Voit toimittaa ne asiakkaasi bucketiin oman CDN-domainisi kautta — asiakkaasi ei tarvitse koskaan tietää, että Phottan putki tuotti ne. Itse API ei ole white-label — avain ja hallintapaneeli ovat Photta-brändättyjä.

Rakenna valokuvaus-SaaS Phottan päälle

Sama API, oma brändisi, oma katteesi. Ota API-avain, kytke yllä olevat kolme mallia työntekijöihisi (workers), ja olet puolivälissä julkaisua.