Rakenna · No-code-automaatio

Automatisoi tuotekuvasto kirjoittamatta koodia

Yhdellä lauseella

Kooditon ajo lähettää tuotekuvaerän yhdellä HTTP-solmulla, odottaa 3 sekuntia, lukee erän tilan ja toistaa tämän valmistumiseen asti ennen kuin URL-osoitteet kirjoitetaan takaisin taulukkoosi.

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

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

HTTP-solmu, odotussolmu ja ehto. n8n, Make tai mikä tahansa HTTP:tä tukeva työkalu voi ajaa koko tuoteluettelon batch-endpointin läpi.

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

Miten se toimii

Taulukkolaskenta sisään, kuvakansio ulos

Vie tuoteluettelo, määritä yksi HTTP-solmu, suorita silmukka viiveillä ja kirjoita URL-osoitteet takaisin.

  1. Vaihe 1

    Vie tuoteluettelo

    Yksi rivi per vaate julkisella kuvan URL-osoitteella. Kyseinen sarake on ainoa syöte, jonka batch-endpoint tarvitsee.

  2. Vaihe 2

    Hanki Photta API key

    Tallenna se automaatiotyökalusi salaisuuksien hallintaan, älä solmun runkoon, jotta viedyt työnkulut eivät sisällä salaisuuksia.

  3. Vaihe 3

    Määritä HTTP-solmu

    POST, bearer-otsake ja tässä näytetty JSON-runko. Jokainen taulukon alkio on yksi vaate; tyylikentät koskevat niitä kaikkia.

  4. Vaihe 4

    Suorita silmukka viiveillä

    Odota 3 sekuntia, lue erä, tarkista onko tila valmis ja toista tarvittaessa. Tämä aikaväli on dokumentaatiossa julkaistu arvo.

  5. Vaihe 5

    Noudata rajoituksia

    Eräkokoraja ja samanaikaisten erien enimmäismäärä määräytyvät tilauksesi mukaan. Lähetä yksi erä, aja se loppuun ja lähetä sitten seuraava.

  6. Vaihe 6

    Kirjoita URL-osoitteet takaisin

    Kun erä valmistuu, jokaisella alkiolla on oma tulos-URL. Kirjoita ne taulukkoon ja lataa tiedostot saman ajon aikana.

Solmut ja mitä niihin tulee

Pyynnön runko on API-dokumentaatiossa julkaistu esimerkki; silmukka noudattaa dokumentoitua polling-aikaväliä.

{
  "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.

Kehittäjien usein kysymää

Kysymyksiä koodittomista ajoista

Täytyykö minun kirjoittaa koodia?

Ei. Kaikki tässä on JSON-rungolla varustettuja HTTP-pyyntöjä, joita mikä tahansa automaatiotyökalu voi lähettää. Ainoa kirjoitettava teksti on tällä sivulla näkyvä runko.

Kuinka monta kuvaa yhteen ajoon mahtuu?

API:n eräkohtainen enimmäismäärä on 5 kuvaa Free- ja Hobby-tasoilla, 10 Seller-tasolla, 25 Brand-tasolla ja 50 Studio-tasolla. Suuremmat luettelot ajetaan useina peräkkäisinä erinä.

Mitä tapahtuu, jos yksi kuva epäonnistuu?

Muu osa erästä jatkuu normaalisti. Erän vastausrunko ilmoittaa, kuinka moni valmistui ja kuinka moni epäonnistui, ja epäonnistuneiden kohteiden credits palautetaan.

Voiko tämän ajaa ajastetusti?

Kyllä. Liipaise työnkulku öisin ja anna sen käsitellä rivit, joilla ei vielä ole kuvaa. Polling-silmukka toimii samalla tavalla riippumatta siitä, käynnistääkö sen ihminen vai ajastus.

Toimiiko tämä Makessa tai Zapierissa?

Kaikissa ympäristöissä, joissa voit lähettää HTTP-pyynnön otsakkeella ja JSON-rungolla sekä odottaa vaiheiden välillä. Solmujen nimet vaihtelevat; nämä kolme vaihetta pysyvät samoina.

Tuoteluettelo ilman kehittäjää

Yksi HTTP-solmu ja odotus. Tällä sivulla esitetty runko on sama, joka on julkaistu dokumentaatiossa.