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')const res = await fetch("https://api.photta.app/api/v1/ghost-mannequin/batch", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.PHOTTA_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
"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"
}),
});
const { data } = await res.json(); // data.id, data.statusimport os, requests
res = requests.post(
"https://api.photta.app/api/v1/ghost-mannequin/batch",
headers={"Authorization": f"Bearer {os.environ['PHOTTA_API_KEY']}"},
json={
"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"
},
)
data = res.json()["data"] # data["id"], data["status"]Miten se toimii
Taulukkolaskenta sisään, kuvakansio ulos
Vie tuoteluettelo, määritä yksi HTTP-solmu, suorita silmukka viiveillä ja kirjoita URL-osoitteet takaisin.
Vaihe 1
Vie tuoteluettelo
Yksi rivi per vaate julkisella kuvan URL-osoitteella. Kyseinen sarake on ainoa syöte, jonka batch-endpoint tarvitsee.
Vaihe 2
Hanki Photta API key
Tallenna se automaatiotyökalusi salaisuuksien hallintaan, älä solmun runkoon, jotta viedyt työnkulut eivät sisällä salaisuuksia.
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.
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.
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.
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.
Liittyvät sivut
Aiheeseen liittyvää luettavaa
Ominaisuudet
Batch ghost mannequin -API kokonaisille katalogeille
Lähetä useita vaatekuvia yhdessä ghost mannequin -pyynnössä. Kohteenkohtaiset tunnisteet, koottu polling ja ennakkoon tehty credits-varaus. 4 credits per kuva tarkkuudella 2K.
LuePikaopas
Ensimmäinen Photta-kuva alle viidessä minuutissa.
Rekisteröidy, luo API-avain, suorita ensimmäinen cURL-kutsusi, tee pollingia valmistumiseen asti ja tallenna tulos. Viisi vaihetta, dokumentoitu alusta loppuun.
LueRate limits
LuePricing
Lue
Jokainen luku tällä sivulla on peräisin Photta-rajapinnan dokumentaatiosta · tarkistettu
Tuoteluettelo ilman kehittäjää
Yksi HTTP-solmu ja odotus. Tällä sivulla esitetty runko on sama, joka on julkaistu dokumentaatiossa.