Entwickeln · No-Code-Automatisierung
Einen Katalog ohne Code automatisieren
In aller Kürze
Ein No-Code-Durchlauf sendet einen Batch von Produktfotos mit einem HTTP-Node, wartet 3 Sekunden, liest den Batch-Status aus und wiederholt dies bis zum Abschluss, bevor die URLs zurück in Ihr Sheet geschrieben werden.
- Credits: 4 Credits bei 2K · 5 Credits bei 4K
- Typische Dauer: 1.5–4 min per image
- Verarbeitung: asynchron, Polling
Jeder Zahlenwert auf dieser Seite stammt aus der Photta-API-Dokumentation · geprüft
Ein HTTP-Node, ein Wait-Node und eine Condition. n8n, Make oder jedes Tool, das HTTP spricht, kann einen kompletten Katalog über den Batch-Endpoint verarbeiten.
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"]Funktionsweise
Tabelle rein, Bildordner raus
Katalog exportieren, einen HTTP-Node konfigurieren, mit Wartezeiten loopen, URLs zurückschreiben.
Schritt 1
Katalog exportieren
Eine Zeile pro Kleidungsstück mit einer öffentlichen Bild-URL. Diese Spalte ist die einzige Eingabe, die der Batch-Endpoint benötigt.
Schritt 2
Photta-API-Key abrufen
Speichern Sie ihn im Credential-Vault Ihres Automatisierungs-Tools, nicht im Node-Body, damit exportierte Workflows keine Secrets enthalten.
Schritt 3
HTTP-Node konfigurieren
POST, der Bearer-Header und der hier gezeigte JSON-Body. Jedes Element im Array ist ein Kleidungsstück; die Styling-Felder gelten für alle.
Schritt 4
Mit Wartezeiten loopen
3 Sekunden warten, den Batch auslesen, prüfen, ob der Status abgeschlossen ist, und von vorn beginnen. Dieses Intervall entspricht den Angaben in der Dokumentation.
Schritt 5
Limits einhalten
Das Batch-Größenlimit und das Limit für gleichzeitige Batches richten sich nach Ihrem Plan. Senden Sie einen Batch ab, schließen Sie ihn ab und senden Sie erst dann den nächsten.
Schritt 6
URLs zurückschreiben
Sobald der Batch abgeschlossen ist, enthält jedes Element seine eigene Ausgabe-URL. Schreiben Sie diese in das Sheet und laden Sie die Dateien im selben Durchlauf herunter.
Die Nodes und was hineingehört
Der Request-Body entspricht dem Beispiel aus der API-Dokumentation; die Schleife nutzt das dokumentierte Polling-Intervall.
{
"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.Häufige Fragen von Entwicklern
Fragen zu No-Code-Durchläufen
Muss ich Code schreiben?
Nein. Alles hier ist ein HTTP-Request mit einem JSON-Body, den jedes Automatisierungs-Tool senden kann. Der einzige Text, den Sie eingeben, ist der auf dieser Seite gezeigte Body.
Wie viele Bilder passen in einen Durchlauf?
Das API-Batch-Limit liegt bei 5 Bildern für Free und Hobby, 10 für Seller, 25 für Brand und 50 für Studio. Größere Kataloge werden als mehrere Batches nacheinander verarbeitet.
Was passiert, wenn ein Bild fehlschlägt?
Der Rest des Batches läuft weiter. Der Batch-Body gibt an, wie viele erfolgreich waren und wie viele fehlgeschlagen sind, und Credits für fehlgeschlagene Elemente werden erstattet.
Kann das zeitgesteuert laufen?
Ja. Triggern Sie den Workflow nachts und lassen Sie ihn alle Zeilen verarbeiten, die noch kein Bild haben. Die Polling-Schleife ist identisch, egal ob sie manuell oder über einen Zeitplan gestartet wird.
Funktioniert das in Make oder Zapier?
Überall dort, wo Sie einen HTTP-Request mit einem Header und einem JSON-Body senden und zwischen Schritten warten können. Die Bezeichnungen der Nodes ändern sich; die drei Schritte bleiben gleich.
Verwandte Seiten
Weiterführende Dokumentation
Funktionen
Batch-Ghost-Mannequin-API für komplette Kataloge
Übermittle viele Kleidungsfotos in einem einzigen Ghost-Mannequin-Request. IDs pro Element, aggregiertes Polling und Vorab-Reservierung von Credits. 4 Credits pro Bild bei 2K.
LesenSchnellstart
Erstes Photta-Bild in unter 5 Minuten.
Registrieren, API-Key generieren, ersten cURL-Aufruf ausführen, pollen bis zum Abschluss, Ergebnis persistieren. 5 Schritte, durchgängig dokumentiert.
LesenRate limits
LesenPricing
Lesen
Jeder Zahlenwert auf dieser Seite stammt aus der Photta-API-Dokumentation · geprüft
Ein Katalog, ganz ohne Entwickler
Ein HTTP-Node und ein Wait. Der Body auf dieser Seite entspricht dem aus der Dokumentation.