Bygg · SaaS för AI-fotografering

Bygg en tjänst för AI-produktfotografering

I en mening

Tilldela en Photta-API-nyckel per tenant (eller en delad pool om volymen är liten), fana ut över varje kunds katalog till en kö, anropa /api/v1/tryon/apparel per produkt, polla genererings-ID:na i en worker-pool, spara resultaten i din kunds bucket och fakturera varje debiterbar enhet (credit eller renderad bild) med påslag ovanpå Phottas credit-kostnad.

  • Credits: 5 credits vid 2K · 6 credits vid 4K
  • Typisk tid: 1.5–4 min
  • Bearbetning: asynkron, polling

Varje siffra på den här sidan kommer från Photter API-dokumentationen · kontrollerad

Fana ut över dina kunders kataloger, skicka try-on-jobb per produkt, fakturera per credit. Samma primitiva byggstenar som Photta exponerar för enskilda utvecklare kan sättas ihop till en white-label-SaaS — om du respekterar systemgränserna.

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

Hur det fungerar

Från en enda nyckel till en fleranvändartjänst

Fem arkitekturbeslut du måste fatta innan du skriver produktionskod.

  1. Steg 1

    Definiera ditt produktkontrakt

    Bestäm vad din kund får per debiterbar enhet: en renderad bild? En batch? En månatlig credit-pool? Ditt svar styr allt annat — ködjup, retry-policy, formuleringar på prissidan.

  2. Steg 2

    Provisionera Photta-nycklar per tenant

    Liten skala: en delad nyckel, spåra förbrukning per tenant i din databas. Större skala: en Photta-nyckel per tenant, hanterad via Phottas instrumentpanel — tydligare attribution, mindre skaderadie vid en läcka.

  3. Steg 3

    Fana ut via en kö

    Köa ett fotojobb för varje produkt i kundens flöde. Skicka aldrig in synkront under en CSV-import — du kommer att slå i taket för rate limiten på 600 anrop per minut och förlora jobb på grund av 429-fel.

  4. Steg 4

    Marginal ovanpå priset per credit

    Varje 4K-klädrendering kostar dig 6 credits. Varje faktura du skickar bör vara credits × din marginal. Logga den råa credit-kostnaden i din reskontra så att ekonomiavdelningen kan stämma av Phottas faktura mot din intäktsrad.

  5. Steg 5

    Övervaka latens och felfrekvens

    Spåra slutförandetid + felfrekvens per tenant. När en kunds foton konsekvent tar längre tid än 4 minuter eller misslyckas upprepade gånger beror det nästan alltid på felaktig indata (trasig URL, product_type som inte stöds) — inte ett Photta-problem.

Tre mönster du kommer att behöva

Fanout, dispatch per tenant, faktureringsreskontra — de bärande delarna 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
});

Vanliga utvecklarfrågor

Att driva en tjänst ovanpå Photta

Behöver jag en separat Photta-API-nyckel per tenant?

Nej, men det hjälper vid skalning. Under en handfull kunder fungerar en delad poolad nyckel med spårning per tenant i din egen databas utmärkt. Över det ger en nyckel per tenant tydligare attribution, enklare rotation och en mindre skaderadie om något läcker.

Vad gör jag när mina credits tar slut?

API:et returnerar 402 insufficient_credits med antal som krävs och antal tillgängliga. Sätt en lägstanivå (t.ex. 100 credits) och fyll på automatiskt innan jobb börjar misslyckas. Misslyckade jobb återbetalar sina credits, så en våg av 402-fel förvärrar inte skadan.

Hur bör jag prissätta min tjänst?

Photta tar 5 credits vid 2K, 6 credits vid 4K. Räkna om det till din slutkundsvaluta (kostnad × din marginal × credit-omräkning) och bestäm om du vill fakturera per bild, per batch eller per månad. De flesta SaaS-produkter inom fotografering landar i att fakturera per bild med ett månatligt minimibelopp.

Vilka SLA:er erbjuder Photta?

Phottas dokumenterade svarstid är 1.5 till 4 minuter per jobb. Det finns inget officiellt publicerat SLA för drifttid. Om ditt SaaS-system förbinder sig till en egen leveranstid bör du bygga in marginalen i ditt eget avtal (t.ex. ger "bilder levererade inom 1 timme" dig 10x marginal) och övervaka latens per klient för att fånga upp regressioner tidigt.

Kan jag white-labela resultatet?

Ja. De returnerade bilderna har inget Photta-varumärke. Du kan leverera dem till din kunds lagrings-bucket med din egen CDN-domän framför — din kund behöver aldrig veta att Phottas pipeline skapade dem. Själva API:et är inte white-label — API-nyckeln och kontrollpanelen bär Phottas varumärke.

Lansera ett SaaS för fotografering ovanpå Photta

Samma API, ditt varumärke, din marginal. Hämta en API-nyckel, koppla in de tre mönstren ovan i dina workers och du är halvvägs till lansering.