Deine Rezepte, Workflows und Skills
Gespeicherte Rezepte und Workflows über die API oder MCP ausführen. Ein USD-Budget anfragen und bestätigen, jeden Schritt verfolgen und pausierte Läufe mit dem ursprünglichen API-Schlüssel fortsetzen.
Verwende erneut, was du auf popnow.ai gespeichert hast: ein Rezept aus dem Studio mit Modell, Prompt, Einstellungen und Dateien; einen Canvas-Workflow, dessen Schritte auf früheren Ergebnissen aufbauen; oder einen Poppie-Skill mit Anweisungen, denen ein anderer Assistent folgen kann.
Die Elemente bleiben nur für dich und die Teams zugänglich, mit denen du sie teilst. Der Prompt eines Teamkollegen wird nicht zurückgegeben; der Server setzt ihn zur Laufzeit zusammen. REST- und MCP-Läufe mit API-Schlüssel verwenden dein separates API-USD-Guthaben. OAuth-MCP-Läufe verwenden Website-Credits. Die Guthaben lassen sich weder übertragen noch gegenseitig verwenden. Neue API-Guthaben beginnen bei $0; lade unter API-Abrechnung auf.
Auf einen Blick
| Auflisten | GET /api/v1/recipes für Rezepte und Workflows; GET /api/v1/skills für Skills |
| Details prüfen | GET /api/v1/recipes/{id} liefert Eingaben und, falls verfügbar, estimated_usd |
| Angebot und Ausführung | POST /api/v1/recipes/{id}/run: zuerst ein Angebot anfordern, dann mit currency, max_usd und quote_id bestätigen |
| Verfolgen | GET /api/v1/recipes/runs/{runId} mit dem Schlüssel, der den Lauf gestartet hat |
| Fortsetzen | POST /api/v1/recipes/runs/{runId}/resume: Angebot für einen pausierten Lauf anfordern, dann sein Gesamtbudget bestätigen |
| Im Chat | list_my_recipes, run_my_recipe, get_recipe_run, resume_recipe_run, list_my_skills, use_my_skill über MCP |
| IDs finden | Entwicklerkonsole → Recipes & skills |
Ausführbares finden
curl "https://api.popnow.ai/api/v1/recipes?kind=recipe" \
-H "Authorization: Bearer $POPNOW_API_KEY"Lass kind weg, um Rezepte und Workflows zusammen aufzulisten. Deine eigenen Elemente erscheinen zuerst, danach die mit deinen Teams geteilten Elemente (mine: false, mit teamId). Jedes Element beschreibt seine Eingaben:
{
"code": 200,
"msg": "success",
"data": {
"items": [{
"id": "svd_01jbq8x4m2c7d9f3h5k6n8p0rt",
"kind": "recipe",
"name": "Weekly post",
"mine": true,
"media": "image",
"currency": "USD",
"inputs": [
{ "id": "image_urls", "label": "Product", "media": "image", "multiple": false, "required": false },
{ "id": "prompt", "label": "Prompt", "media": "text", "multiple": false, "required": false }
],
"steps": 1,
"updatedAt": "2026-10-23T09:12:00Z"
}]
}
}Lies ein einzelnes Element, um seine aktuelle Schätzung mit den gespeicherten Dateien zu erhalten:
curl https://api.popnow.ai/api/v1/recipes/svd_01jbq8x4m2c7d9f3h5k6n8p0rt \
-H "Authorization: Bearer $POPNOW_API_KEY"API-Metadaten verwenden currency: "USD" und optional estimated_usd, ohne estimatedCredits. Diese Schätzung ist keine Ausführungsfreigabe: Sende die tatsächlichen Eingaben an POST /run, um eine quote_id zu erhalten.
Ausführen
Sende zuerst die vorgesehenen Eingaben und die Anzahl ohne Bestätigungsfelder. Ein Angebot erzeugt keinen Lauf und reserviert kein Guthaben; es benötigt keinen Idempotency-Key.
curl https://api.popnow.ai/api/v1/recipes/svd_01jbq8x4m2c7d9f3h5k6n8p0rt/run \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{"inputs":{},"count":1}'{
"code": 200,
"msg": "success",
"data": {
"currency": "USD",
"cost_usd": "0.048",
"available_usd": "5",
"spent_usd": "0",
"quote_id": "quote_from_server",
"needs_confirmation": true
}
}Nachdem du den Betrag geprüft und bestätigt hast, sende dieselben Eingaben und dieselbe Anzahl erneut, zusammen mit currency: "USD", max_usd als Dezimalstring und der zurückgegebenen quote_id. Die Ausführung benötigt einen Idempotency-Key mit 1–100 Zeichen; verwende bei Wiederholungen derselben Übermittlung denselben Schlüssel.
# Set QUOTE_ID to the quote_id returned above, after reviewing the quote.
curl https://api.popnow.ai/api/v1/recipes/svd_01jbq8x4m2c7d9f3h5k6n8p0rt/run \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d "{\"inputs\":{},\"count\":1,\"currency\":\"USD\",\"max_usd\":\"0.048\",\"quote_id\":\"$QUOTE_ID\"}"Ein erfolgreicher Start liefert needs_confirmation: false, run_id, state und das bestätigte max_usd. Übersteigt der Preis das Limit oder passt das Angebot nicht mehr, enthält die Antwort stattdessen needs_confirmation: true und ein neues Angebot; es startet kein Lauf. Zeige den neuen Betrag an und frage erneut nach Zustimmung. HTTP 200 allein bedeutet nicht, dass die Arbeit gestartet wurde.
max_usd ist ein nichtnegativer Dezimalstring mit bis zu neun Nachkommastellen. JSON-Zahlen, negative Werte, Exponentialschreibweise, unbekannte Felder und alte Freigaben mit maxCredits / max_credits werden abgewiesen, nicht umgerechnet. max_usd ohne quote_id ist ungültig. Auch ein Angebot zum Nullpreis braucht eine ausdrückliche Zustimmung.
Was die Eingaben sind
| Eingabe-IDs | Akzeptiert | |
|---|---|---|
| Rezept | Gespeicherte Dateifelder des Modells wie image_urls, first_frame_url oder refs; prompt ersetzt den gespeicherten Prompt | Eine Dateireferenz, eine Liste von Referenzen oder einfacher Text |
| Workflow | in1, in2 … in der aufgeführten Reihenfolge; Texteingaben füllen einen Schritt ohne eigenen Prompt | Dasselbe |
Dateien können eine https-URL, popnow://g/<job>/<n> aus einem früheren Ergebnis, popnow://f/<file> aus einem Upload oder popnow://a/<asset> aus einem API-Asset sein. Ausgelassene Eingaben verwenden die gespeicherten Dateien. count liegt für Rezepte bei 1–4; Workflows laufen einmal. Ungültige Eingaben liefern 400 mit param: inputs.<id>.
Ein Workflow benötigt unter Umständen ein früheres Ergebnis, bevor sich der Preis eines Schritts ermitteln lässt. Sein Angebot enthält dann unpriced_steps: cost_usd umfasst nur die bereits bepreisten Schritte, nicht den gesamten Workflow. Schritte ohne Preis können nicht ausgeführt werden. Sobald ihre Eingaben bereitstehen, pausiert der Lauf für ein neues Angebot zur Fortsetzung und dessen Bestätigung. Ein noch nicht ermittelter Preis bedeutet nicht kostenlos.
Einen Lauf verfolgen
Verwende denselben API-Schlüssel, der den Lauf gestartet hat. Ein anderer Schlüssel desselben Kontos kann den Lauf weder lesen noch fortsetzen. Statusabfragen mit API-Schlüssel interpretieren einen OAuth-Credit-Lauf nicht als USD-Lauf.
curl https://api.popnow.ai/api/v1/recipes/runs/sfg_01jbq9a3d5f7g9h2k4m6n8p0qs \
-H "Authorization: Bearer $POPNOW_API_KEY"{
"code": 200,
"msg": "success",
"data": {
"currency": "USD",
"run_id": "sfg_01jbq9a3d5f7g9h2k4m6n8p0qs",
"state": "done",
"cost_usd": "0.048",
"available_usd": "4.952",
"spent_usd": "0.048",
"max_usd": "0.048",
"needs_confirmation": false,
"items": [
{ "stepId": "r1", "state": "succeeded", "jobId": "job_01jbq9a6v8w0x2y4z6a8b0c2d4", "uri": "popnow://g/job_01jbq9a6v8w0x2y4z6a8b0c2d4/0" }
]
}
}state ist draft, running, paused, done, stopped oder failed. Frage den Status ab, solange er draft oder running ist. Prüfe bei paused den Wert pause_reason und fordere nach Behebung des Problems ein Angebot zur Fortsetzung an. items behält stepId, state, jobId und uri; recordInfo liefert die Download-Links jedes Tasks.
spent_usd ist die tatsächliche Nettobelastung des API-Guthabens unter Berücksichtigung zurückgezahlter Beträge. cost_usd ist eine Schätzung, nicht der abgerechnete Betrag. USD-Antworten enthalten keine ganzzahligen Credits. Historische Läufe mit Website-Credits behalten ihre ursprüngliche Währung und bleiben über den jeweils unterstützten Website- oder OAuth-Ablauf zugänglich.
Einen pausierten Lauf fortsetzen
Sende {}, um ein neues Angebot zu erhalten:
curl https://api.popnow.ai/api/v1/recipes/runs/sfg_01jbq9a3d5f7g9h2k4m6n8p0qs/resume \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'Sende nach der Prüfung erneut eine Anfrage mit currency: "USD", max_usd und der neuen quote_id. Dies ist das Gesamtbudget für den gesamten Lauf, einschließlich bereits ausgegebener Beträge und Kosten laufender Aufgaben, kein zusätzliches Budget. Die ursprünglichen Eingaben und die Anzahl können nicht geändert werden.
Zum Fortsetzen ist kein Idempotency-Key nötig. Gleichzeitige Anfragen können die Arbeit nicht doppelt fortsetzen; ein bereits fortgesetzter Lauf liefert einen Konflikt. Der ursprüngliche Schlüssel, das Zahlungskonto und der Herkunftskontext bleiben zugeordnet. Ändert sich die IP-Richtlinie des Schlüssels, starte einen neuen Lauf von einer erlaubten Quelle, statt die Pause zu umgehen.
Skills
curl https://api.popnow.ai/api/v1/skills/skl_01jbpz7c9e1g3j5m7q9s1v3x5z \
-H "Authorization: Bearer $POPNOW_API_KEY"GET /api/v1/skills listet deine Skills und die mit deinen Teams geteilten Skills auf. GET /api/v1/skills/{id} ergänzt ihren Markdown-body. Ein Team-Skill, der als use only (shareMode: "use") geteilt ist, hat keinen body: Er lässt sich in PopNow verwenden, während seine Anweisungen verborgen bleiben.
In ChatGPT und Claude
Verbinde den MCP-Server und sage etwa „führ mein Rezept Weekly post mit diesem Foto aus“. Der Assistent verwendet das verbundene Zahlungskonto, ohne zwischen Guthaben zu wählen.
| Tool | Was es tut | Parameter |
|---|---|---|
list_my_recipes | Listet Rezepte und Workflows einschließlich geteilter Elemente auf | keine |
run_my_recipe | Erstellt zuerst ein Angebot und startet dann in der Währung der Verbindung | recipe_id, inputs, count; API-Schlüssel: currency, max_usd, quote_id, idempotency_key; OAuth: max_credits |
get_recipe_run | Liest Zustand, Kosten und Ergebnisse | run_id |
resume_recipe_run | Erstellt ein Angebot und setzt einen pausierten API-Key-USD-Lauf fort | run_id, dann currency, max_usd, quote_id |
list_my_skills | Listet deine Skills und die deiner Teams auf | keine |
use_my_skill | Gibt lesbare Skill-Anweisungen zurück | skill_id |
MCP mit API-Schlüssel folgt den obigen Regeln für USD-Angebote, Bestätigung, Gesamtbudget und denselben Schlüssel. Zum Bestätigen von run_my_recipe ist außerdem ein idempotency_key-String mit 1–100 Zeichen erforderlich; für ein Angebot nicht. Geht die Antwort verloren, wiederhole den Aufruf mit demselben Idempotenzschlüssel und sämtlichen unveränderten Parametern, um den bereits angenommenen Lauf zurückzuerhalten, auch wenn sich das Rezept oder der Preis inzwischen geändert hat. Verwende einen neuen Schlüssel nur für einen gesondert bestätigten Lauf. Geänderte Parameter mit demselben Schlüssel führen zu einem Konflikt. OAuth behält die Freigabe von Website-Credits mit max_credits bei und lehnt USD-Felder ab. Das Tool zum Fortsetzen ist für API-Key-USD-Läufe bestimmt und benötigt keinen neuen Idempotenzschlüssel; es verhindert doppelte Arbeit anhand des Zustands des ursprünglichen Laufs.
Limits und Fehler
Jeder USD-Schritt prüft erneut Schlüsselstatus, Ablaufdatum, Modellberechtigungen, Ausgabelimits und API-Guthaben. Das Budget umfasst bereits ausgegebene Beträge, Reservierungen für laufende Aufgaben und eingeplante Arbeit; auch technische Wiederholungsversuche zählen dazu. Schon eine Preisänderung von 0,000000001 USD pausiert die Ausführung bis zur Bestätigung. Das Gesamtbudget ist auf 10.000 USD begrenzt, mit 1.000 USD pro Schritt.
| Status oder Ergebnis | Wann |
|---|---|
needs_confirmation: true | Erstes Angebot, geänderter Preis oder nicht mehr passendes Angebot; prüfen und bestätigen |
400 | Ungültige Eingaben oder USD-Freigabe, ein altes Credit-Limit oder ein Budget über der Obergrenze |
402 | Unzureichendes API-Guthaben oder ein geltendes Ausgabelimit würde überschritten |
403 | Der Schlüssel oder seine Berechtigungen erlauben die Arbeit nicht |
404 | Das gespeicherte Element oder der Lauf ist für diesen Aufrufer nicht verfügbar |
409 | Der Lauf kann in seinem aktuellen Zustand nicht fortgesetzt werden, Workflow-Eingaben sind noch nicht bereit oder das gespeicherte Modell wurde eingestellt |
Können andere meine Rezepte sehen oder ausführen?
Nur du und die Teams, mit denen du sie teilst, haben Zugriff auf gespeicherte Elemente. Es gibt keinen öffentlichen Katalog und keinen Zugriff durch Erraten einer ID. Der Prompt eines geteilten Rezepts wird nie an einen Teamkollegen zurückgegeben.
Wer zahlt, wenn ich ein Rezept ausführe, das mein Team geteilt hat?
Du. Läufe mit API-Schlüssel verwenden dein API-USD-Guthaben; OAuth verwendet Website-Credits. Prüfe zuerst das Angebot und bestätige das Budget.
Muss ich meine Dateien für jeden Lauf neu hochladen?
Nein. Verwende eine https-URL oder eine popnow://-Referenz aus einem Ergebnis, einem Upload oder einem API-Asset. Ausgelassene Eingaben verwenden die gespeicherten Dateien.
Was passiert, wenn das Modell eines Rezepts eingestellt wird?
Der Lauf kann nicht starten. Öffne das Rezept auf popnow.ai, wähle ein verfügbares Modell, speichere es erneut und fordere dann ein neues Angebot an.
Gibt es ein SDK für Rezepte?
Nutze diese JSON-über-HTTPS-Beispiele oder einen HTTP-Client und behalte USD-Beträge als Strings bei. Verwende keine älteren SDK-Beispiele, die API-Rezeptläufe mit ganzzahligen Credits freigeben.
Siehe auch
In ChatGPT und Claude nutzen
Den MCP-Server verbinden und gespeicherte Rezepte aus einem Chat ausführen.
Tasks
Task-Zustände, Ergebnisse und Download-Links für jeden Schritt.
Idempotenz
Eine bestätigte Übermittlung wiederholen, ohne einen weiteren Lauf zu starten.
Assets
Dateien einmal hochladen und ihre Referenzen wiederverwenden.
Agent-Skills
Für ein Launch-Video, eine Slide-Deck, eine Website oder ein redaktionelles Bild einen fertigen Stil finden und deinem Coding-Agenten übergeben. In einem Chat über MCP auswählen oder mit einem Prompt, einer ZIP-Datei oder curl in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot oder OpenCode installieren.
n8n
Erzeuge KI-Bilder, Video und Audio in n8n mit dem integrierten HTTP-Request-Node und der PopNow-API. Importierbares Workflow-JSON, Einrichtung der Zugangsdaten, Abfrageschleife, Webhooks und Lösungen für häufige Fehler.

