Bygg · No-code-automatisering

Automatisera en katalog utan att skriva kod

I en mening

En no-code-körning skickar en batch med produktfoton via en HTTP-nod, väntar 3 sekunder, läser av batchstatusen och upprepar tills den är klar innan URL:erna skrivs tillbaka till ditt kalkylark.

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

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

En HTTP-nod, en väntnod och ett villkor. n8n, Make eller vilket verktyg som helst som hanterar HTTP kan köra en hel katalog genom batch-endpointen.

RESPONSE=$(curl -s -X POST https://api.photta.app/api/v1/ghost-mannequin/batch \
  -H "Authorization: Bearer $PHOTTA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "product_images": [
    {
      "image": "https://cdn.yourstore.com/products/jacket-front.jpg",
      "back_image": "https://cdn.yourstore.com/products/jacket-back.jpg",
      "image_side": "front"
    },
    {
      "image": "https://cdn.yourstore.com/products/shirt-front.jpg",
      "image_side": "front"
    },
    {
      "image": "https://cdn.yourstore.com/products/trousers-front.jpg",
      "image_side": "front"
    }
  ],
  "style": "3d",
  "background_color": "white",
  "resolution": "2K",
  "aspect_ratio": "3:4",
  "user_instruction": "closed front, buttoned up",
  "brand_label_id": "7cc9f988-068b-44cd-8004-22f486b10e67"
}')
ID=$(echo "$RESPONSE" | jq -r '.data.id')

Hur det fungerar

Ett kalkylark in, en bildmapp ut

Exportera katalogen, konfigurera en HTTP-nod, loopa med väntelägen, skriv tillbaka URL:erna.

  1. Steg 1

    Exportera katalogen

    En rad per plagg med en publik bild-URL. Den kolumnen är den enda indatan batch-endpointen behöver.

  2. Steg 2

    Hämta en Photta API-nyckel

    Spara den i ditt automationsverktygs valv för inloggningsuppgifter, inte i nodens body, så att exporterade arbetsflöden inte innehåller några hemligheter.

  3. Steg 3

    Konfigurera HTTP-noden

    POST, Bearer-headern och JSON-bodyn som visas här. Varje objekt i arrayen är ett plagg; stylingfälten gäller för alla.

  4. Steg 4

    Loopa med väntelägen

    Vänta 3 sekunder, läs av batchen, kontrollera om statusen är färdig och kör ett varv till. Det intervallet är det som dokumentationen publicerar.

  5. Steg 5

    Respektera gränserna

    Gränsen för batchstorlek och gränsen för samtidiga batcher styrs båda av din plan. Skicka en batch, slutför den och skicka sedan nästa.

  6. Steg 6

    Skriv tillbaka URL:erna

    När batchen är klar har varje objekt en egen output-URL. Skriv in dem i kalkylarket och ladda ner filerna i samma körning.

Noderna, och vad de ska innehålla

Request-bodyn är exemplet som API-dokumentationen publicerar; loopen är det dokumenterade polling-intervallet.

{
  "product_images": [
    {
      "image": "https://cdn.yourstore.com/products/jacket-front.jpg",
      "back_image": "https://cdn.yourstore.com/products/jacket-back.jpg",
      "image_side": "front"
    },
    {
      "image": "https://cdn.yourstore.com/products/shirt-front.jpg",
      "image_side": "front"
    },
    {
      "image": "https://cdn.yourstore.com/products/trousers-front.jpg",
      "image_side": "front"
    }
  ],
  "style": "3d",
  "background_color": "white",
  "resolution": "2K",
  "aspect_ratio": "3:4",
  "user_instruction": "closed front, buttoned up",
  "brand_label_id": "7cc9f988-068b-44cd-8004-22f486b10e67"
}
RESPONSE=$(curl -s -X POST https://api.photta.app/api/v1/ghost-mannequin/batch \
  -H "Authorization: Bearer $PHOTTA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "product_images": [
    {
      "image": "https://cdn.yourstore.com/products/jacket-front.jpg",
      "back_image": "https://cdn.yourstore.com/products/jacket-back.jpg",
      "image_side": "front"
    },
    {
      "image": "https://cdn.yourstore.com/products/shirt-front.jpg",
      "image_side": "front"
    },
    {
      "image": "https://cdn.yourstore.com/products/trousers-front.jpg",
      "image_side": "front"
    }
  ],
  "style": "3d",
  "background_color": "white",
  "resolution": "2K",
  "aspect_ratio": "3:4",
  "user_instruction": "closed front, buttoned up",
  "brand_label_id": "7cc9f988-068b-44cd-8004-22f486b10e67"
}')
ID=$(echo "$RESPONSE" | jq -r '.data.id')
{
  "nodes": [
    {
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "parameters": {
        "amount": 3,
        "unit": "seconds"
      }
    },
    {
      "name": "Read batch",
      "type": "n8n-nodes-base.httpRequest",
      "parameters": {
        "method": "GET",
        "url": "https://api.photta.app/api/v1/ghost-mannequin/batch/{{ $json.data.batch_id }}"
      }
    },
    {
      "name": "Done?",
      "type": "n8n-nodes-base.if",
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{ $json.data.status }}",
              "value2": "completed"
            }
          ]
        }
      }
    }
  ]
}
# 600 requests per minute per key, fixed window.
# One batch submission plus one poll every 3 seconds is ~21 requests per minute
# per batch in flight, so the concurrency cap binds long before the rate limit.
# On a 429, wait the Retry-After seconds (30 by default) before the next node runs.

Vanliga utvecklarfrågor

Frågor om no-code-körningar

Måste jag skriva kod?

Nej. Allt här är en HTTP-request med en JSON-body, vilket alla automationsverktyg kan skicka. Den enda text du skriver in är bodyn som visas på den här sidan.

Hur många bilder ryms i en körning?

API:ets batchgräns är 5 bilder på Free och Hobby, 10 på Seller, 25 på Brand och 50 på Studio. Större kataloger körs som flera batcher efter varandra.

Vad händer om en bild misslyckas?

Resten av batchen fortsätter. Batchens body rapporterar hur många som lyckades och hur många som misslyckades, och credits för misslyckade objekt återbetalas.

Kan detta köras enligt ett schema?

Ja. Trigga arbetsflödet varje natt och låt det plocka upp de rader som ännu inte har någon bild. Polling-loopen är densamma oavsett om en människa eller ett schema startar den.

Fungerar detta i Make eller Zapier?

Överallt där du kan skicka en HTTP-request med en header och en JSON-body samt vänta mellan stegen. Nodnamnen varierar; de tre stegen är desamma.

En katalog, utan en utvecklare

En HTTP-nod och en väntetid. Bodyn på den här sidan är den som dokumentationen publicerar.