Bygg · AI-fotografering som SaaS

Bygg en tjeneste for AI-produktfotografering

I én setning

Klargjør en Photta-API-nøkkel per tenant (eller en felles pott hvis volumet er lite), kjør fanout over hver kundes katalog inn i en kø, kall /api/v1/tryon/apparel per produkt, poll generasjons-ID-ene i en worker-pool, lagre resultatene i kundens bøtte, og fakturer hver fakturerbare enhet (credit eller generert bilde) med margin på toppen av Phottas credit-kostnad.

  • Credits: 5 credits ved 2K · 6 credits ved 4K
  • Typisk tidsbruk: 1.5–4 min
  • Prosessering: asynkron, polling

Hvert tall på denne siden er hentet fra dokumentasjonen for Photta-API-et · verifisert

Fan out over kundenes varekataloger, send try-on-jobber per produkt, fakturer per credit. De samme primitivene som Photta eksponerer for individuelle utviklere, kan settes sammen til en white-label-SaaS — hvis du respekterer grensene.

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

Slik fungerer det

Fra én nøkkel til en flerbrukertjeneste

Fem arkitekturbeslutninger du må ta før du skriver produksjonskode.

  1. Trinn 1

    Definer produktkontrakten din

    Bestem hva kunden din får per fakturerbare enhet: ett generert bilde? En batch? En månedlig credit-pott? Svaret ditt styrer alt annet — kødybde, retry-policy, tekst på prissiden.

  2. Trinn 2

    Klargjør Photta-nøkler per tenant

    Liten skala: én felles nøkkel, spor forbruk per tenant i databasen din. Større skala: én Photta-nøkkel per tenant, administrert via Photta-dashbordet — tydeligere attribusjon, mindre skadeomfang ved en lekkasje.

  3. Trinn 3

    Kjør fanout gjennom en kø

    Legg til en fotojobb i køen for hvert produkt i kundens datastrøm. Send aldri inn synkront under en CSV-import — du vil treffe rate limit-grensen på 600-requests-per-minute og miste jobber til 429-feil.

  4. Trinn 4

    Margin på toppen av credit-prisen

    Hver klesgenerering i 4K koster deg 6 credits. Hver faktura du sender, bør være credits × din margin. Registrer den rå credit-kostnaden i reskontroen din, slik at økonomiavdelingen kan avstemme Phottas faktura mot inntektslinjen din.

  5. Trinn 5

    Overvåk responstid og feilrate

    Spor fullføringstid + feilrate per tenant. Når en kundes bilder konsekvent tar lengre tid enn 4 minutter eller feiler gjentatte ganger, skyldes det nesten alltid ugyldige inndata (ødelagt URL, ustøttet product_type) — ikke et problem hos Photta.

Tre mønstre du vil trenge

Fanout, utsending per tenant, faktureringsreskontro — de bærende elementene i en fotograferings-SaaS.

// 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
});

Spørsmål utviklere stiller

Kjøre en tjeneste oppå Photta

Trenger jeg en egen Photta-API-nøkkel per tenant?

Nei, men det hjelper ved oppskalering. Med færre enn en håndfull kunder holder det fint med én felles nøkkel og sporing av forbruk per tenant i din egen database. Utover det gir en nøkkel per tenant renere attribusjon, enklere rullering og et mindre skadeomfang dersom noe lekker.

Hva gjør jeg når jeg går tom for credits?

API-et returnerer 402 insufficient_credits med påkrevde og tilgjengelige antall. Sett et laveste nivå (f.eks. 100 credits) og fyll på automatisk før jobbene begynner å feile. Feilede jobber refunderer sine credits, så et plutselig rush av 402-feil gjør ikke skaden verre.

Hvordan bør jeg prise tjenesten min?

Photta tar 5 credits ved 2K, 6 credits ved 4K. Konverter det til din utsalgsvaluta (kostnad × din margin × credit-konvertering) og avgjør om du vil fakturere per bilde, per batch eller per måned. De fleste foto-SaaS-produkter ender opp med å fakturere per bilde med et månedlig minstebeløp.

Hvilke SLA-er tilbyr Photta?

Phottas dokumenterte fullføringsvindu er 1,5 til 4 minutter per jobb. Det er ingen fast oppetids-SLA publisert. Hvis din SaaS forplikter seg til en egen leveringstid, bør du bygge inn slakk i din egen kontrakt (f.eks. «bilder levert innen 1 time» gir deg 10x handlingsrom) og spore forsinkelse per leietaker for å fange opp regresjoner tidlig.

Kan jeg hvitmerke resultatet?

Ja. De returnerte bildene har ingen Photta-merkevarebygging. Du kan levere dem til kundens bøtte med ditt eget CDN-domene foran — kunden din trenger aldri å vite at Phottas rørledning produserte dem. Selve API-et er ikke hvitmerket — nøkkelen + dashbordet er Photta-merket.

Lanser en foto-SaaS oppå Photta

Samme API, ditt varemerke, din margin. Hent en API-nøkkel, koble de tre mønstrene ovenfor inn i arbeiderne dine, og du er halvveis til lansering.