PopNowAPI-Doku
ChatGPT, Claude und Agenten
Hauptinhalt

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

AuflistenGET /api/v1/recipes für Rezepte und Workflows; GET /api/v1/skills für Skills
Details prüfenGET /api/v1/recipes/{id} liefert Eingaben und, falls verfügbar, estimated_usd
Angebot und AusführungPOST /api/v1/recipes/{id}/run: zuerst ein Angebot anfordern, dann mit currency, max_usd und quote_id bestätigen
VerfolgenGET /api/v1/recipes/runs/{runId} mit dem Schlüssel, der den Lauf gestartet hat
FortsetzenPOST /api/v1/recipes/runs/{runId}/resume: Angebot für einen pausierten Lauf anfordern, dann sein Gesamtbudget bestätigen
Im Chatlist_my_recipes, run_my_recipe, get_recipe_run, resume_recipe_run, list_my_skills, use_my_skill über MCP
IDs findenEntwicklerkonsole → Recipes & skills

Ausführbares finden

List recipes and workflows
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:

Response
{
  "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:

Inspect one recipe
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.

Quote a recipe
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}'
Quote response
{
  "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.

Confirm the quoted budget
# 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-IDsAkzeptiert
RezeptGespeicherte Dateifelder des Modells wie image_urls, first_frame_url oder refs; prompt ersetzt den gespeicherten PromptEine Dateireferenz, eine Liste von Referenzen oder einfacher Text
Workflowin1, in2 … in der aufgeführten Reihenfolge; Texteingaben füllen einen Schritt ohne eigenen PromptDasselbe

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.

Check progress
curl https://api.popnow.ai/api/v1/recipes/runs/sfg_01jbq9a3d5f7g9h2k4m6n8p0qs \
  -H "Authorization: Bearer $POPNOW_API_KEY"
Completed run
{
  "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:

Quote a resume
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

Read a skill
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.

ToolWas es tutParameter
list_my_recipesListet Rezepte und Workflows einschließlich geteilter Elemente aufkeine
run_my_recipeErstellt zuerst ein Angebot und startet dann in der Währung der Verbindungrecipe_id, inputs, count; API-Schlüssel: currency, max_usd, quote_id, idempotency_key; OAuth: max_credits
get_recipe_runLiest Zustand, Kosten und Ergebnisserun_id
resume_recipe_runErstellt ein Angebot und setzt einen pausierten API-Key-USD-Lauf fortrun_id, dann currency, max_usd, quote_id
list_my_skillsListet deine Skills und die deiner Teams aufkeine
use_my_skillGibt lesbare Skill-Anweisungen zurückskill_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 ErgebnisWann
needs_confirmation: trueErstes Angebot, geänderter Preis oder nicht mehr passendes Angebot; prüfen und bestätigen
400Ungültige Eingaben oder USD-Freigabe, ein altes Credit-Limit oder ein Budget über der Obergrenze
402Unzureichendes API-Guthaben oder ein geltendes Ausgabelimit würde überschritten
403Der Schlüssel oder seine Berechtigungen erlauben die Arbeit nicht
404Das gespeicherte Element oder der Lauf ist für diesen Aufrufer nicht verfügbar
409Der 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.

Auf dieser Seite