Le tue ricette, workflow e skill
Esegui ricette e workflow salvati tramite API o MCP. Richiedi un preventivo e approva un budget in USD, segui ogni passaggio e riprendi le esecuzioni in pausa con la chiave API originale.
Riutilizza ciò che hai salvato su popnow.ai: una ricetta di Studio con modello, prompt, impostazioni e file; un workflow del canvas i cui passaggi usano i risultati precedenti; oppure una skill Poppie con istruzioni che un altro assistente può seguire.
Gli elementi restano privati, accessibili solo a te e ai team con cui li condividi. Il prompt della ricetta di un collega non viene restituito: il server lo compone durante l’esecuzione. Le esecuzioni REST e MCP con chiave API usano il tuo saldo API separato in USD. Le esecuzioni MCP via OAuth usano i crediti del sito. I saldi non si possono trasferire né usare l’uno al posto dell’altro. Il saldo API iniziale è di $0; aggiungi fondi in Fatturazione API.
Vista d’insieme
| Elenco | GET /api/v1/recipes per ricette e workflow; GET /api/v1/skills per le skill |
| Dettagli | GET /api/v1/recipes/{id} restituisce gli input e, quando disponibile, estimated_usd |
| Preventivo ed esecuzione | POST /api/v1/recipes/{id}/run: richiedi prima un preventivo, poi approva currency, max_usd e quote_id |
| Monitoraggio | GET /api/v1/recipes/runs/{runId} con la chiave che ha avviato l’esecuzione |
| Ripresa | POST /api/v1/recipes/runs/{runId}/resume: richiedi un preventivo per un’esecuzione in pausa, poi approva il suo budget totale |
| In chat | list_my_recipes, run_my_recipe, get_recipe_run, resume_recipe_run, list_my_skills, use_my_skill tramite MCP |
| Trova gli ID | Console per sviluppatori → Recipes & skills |
Trova ciò che puoi eseguire
curl "https://api.popnow.ai/api/v1/recipes?kind=recipe" \
-H "Authorization: Bearer $POPNOW_API_KEY"Ometti kind per elencare sia ricette sia workflow. Prima compaiono i tuoi elementi, poi quelli condivisi con i tuoi team (mine: false, con teamId). Ogni elemento descrive i propri input:
{
"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"
}]
}
}Leggi un elemento per ottenere la stima attuale con i file salvati:
curl https://api.popnow.ai/api/v1/recipes/svd_01jbq8x4m2c7d9f3h5k6n8p0rt \
-H "Authorization: Bearer $POPNOW_API_KEY"I metadati API usano currency: "USD" e il campo facoltativo estimated_usd, senza estimatedCredits. Questa stima non autorizza l’esecuzione: invia gli input effettivi a POST /run per ottenere un quote_id.
Eseguila
Invia prima gli input e il numero di risultati desiderati senza campi di approvazione. Un preventivo non crea un’esecuzione e non blocca fondi; non richiede un 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
}
}Dopo aver verificato e approvato l’importo, ripeti gli stessi input e lo stesso numero di risultati con currency: "USD", max_usd come stringa decimale e il quote_id ricevuto. L’esecuzione richiede un Idempotency-Key da 1 a 100 caratteri; riutilizza quella chiave quando ritenti lo stesso invio.
# 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\"}"Un avvio riuscito restituisce needs_confirmation: false, run_id, state e il max_usd approvato. Se il prezzo supera il limite o il preventivo non corrisponde più, la risposta contiene invece needs_confirmation: true e un nuovo preventivo; non viene avviata alcuna esecuzione. Mostra il nuovo importo e chiedi di nuovo l’approvazione. Il solo HTTP 200 non significa che il lavoro sia iniziato.
max_usd è una stringa decimale non negativa con un massimo di nove cifre decimali. Numeri JSON, valori negativi, notazione esponenziale, campi sconosciuti e vecchie approvazioni maxCredits / max_credits vengono rifiutati, non convertiti. Inviare max_usd senza quote_id non è valido. Anche un preventivo a prezzo zero richiede un’approvazione esplicita.
Cosa sono gli input
| ID degli input | Accetta | |
|---|---|---|
| Ricetta | Campi dei file del modello salvati, come image_urls, first_frame_url o refs; prompt sostituisce il prompt salvato | Un riferimento a un file, un elenco di riferimenti o testo semplice |
| Workflow | in1, in2 … nell’ordine indicato; gli input testuali compilano un passaggio senza un proprio prompt | Lo stesso |
I file possono essere un URL https, un popnow://g/<job>/<n> da un risultato precedente, un popnow://f/<file> da un caricamento o un popnow://a/<asset> da un asset API. Gli input omessi riusano i file salvati. count va da 1 a 4 per le ricette; i workflow vengono eseguiti una volta. Gli input non validi restituiscono 400 con param: inputs.<id>.
Un workflow può aver bisogno di un risultato precedente prima di poter calcolare il prezzo di un passaggio. In tal caso il preventivo include unpriced_steps: cost_usd copre solo i passaggi con un prezzo già calcolato, non l’intero workflow. I passaggi senza prezzo non possono essere eseguiti. Quando i loro input sono pronti, l’esecuzione si mette in pausa in attesa di un nuovo preventivo di ripresa e della sua approvazione. Senza prezzo non significa gratuito.
Segui un’esecuzione
Usa la stessa chiave API che ha avviato l’esecuzione. Un’altra chiave dello stesso account non può leggere o riprendere l’esecuzione. Le richieste di stato con chiave API non reinterpretano in USD un’esecuzione OAuth in crediti.
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 è draft, running, paused, done, stopped o failed. Interroga lo stato finché è draft o running. Per paused, controlla pause_reason e richiedi un preventivo di ripresa dopo aver risolto il problema. items mantiene stepId, state, jobId e uri; recordInfo restituisce i link di download di ogni attività.
spent_usd è l’addebito netto effettivo sul portafoglio API, tenendo conto dei fondi restituiti. cost_usd è una stima, non l’addebito definitivo. Le risposte in USD non contengono crediti interi. Le esecuzioni storiche in crediti del sito mantengono la valuta originale e restano nel flusso supportato sul sito o via OAuth.
Riprendere un’esecuzione in pausa
Invia {} per ottenere un nuovo preventivo:
curl https://api.popnow.ai/api/v1/recipes/runs/sfg_01jbq9a3d5f7g9h2k4m6n8p0qs/resume \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'Dopo la verifica, ripeti la richiesta con currency: "USD", max_usd e il nuovo quote_id. È il budget totale dell’intera esecuzione, inclusi i fondi già spesi e gli impegni per le attività in corso, non un importo aggiuntivo. Gli input e il numero di risultati originali non possono cambiare.
La ripresa non richiede un Idempotency-Key. Richieste simultanee non possono riprendere il lavoro due volte; un’esecuzione già ripresa restituisce un conflitto. La chiave originale, il conto di pagamento e il contesto di origine restano associati. Se la policy IP della chiave cambia, avvia una nuova esecuzione da un’origine consentita anziché aggirare la pausa.
Skill
curl https://api.popnow.ai/api/v1/skills/skl_01jbpz7c9e1g3j5m7q9s1v3x5z \
-H "Authorization: Bearer $POPNOW_API_KEY"GET /api/v1/skills elenca le tue skill e quelle condivise con i tuoi team. GET /api/v1/skills/{id} aggiunge il loro body in Markdown. Una skill di team condivisa in modalità use only (shareMode: "use") non ha un body: funziona in PopNow, ma le sue istruzioni restano nascoste.
In ChatGPT e Claude
Collega il server MCP e chiedi «esegui la mia ricetta Weekly post con questa foto». L’assistente usa il conto di pagamento collegato, senza scegliere tra i portafogli.
| Strumento | Cosa fa | Parametri |
|---|---|---|
list_my_recipes | Elenca ricette e workflow, inclusi gli elementi condivisi | nessuno |
run_my_recipe | Prima fornisce un preventivo, poi avvia nella valuta della connessione | recipe_id, inputs, count; chiave API: currency, max_usd, quote_id, idempotency_key; OAuth: max_credits |
get_recipe_run | Legge stato, costi e risultati | run_id |
resume_recipe_run | Fornisce un preventivo e riprende un’esecuzione USD in pausa avviata con chiave API | run_id, poi currency, max_usd, quote_id |
list_my_skills | Elenca le tue skill e quelle dei tuoi team | nessuno |
use_my_skill | Restituisce le istruzioni leggibili di una skill | skill_id |
MCP con chiave API segue le regole sopra per preventivi in USD, conferma, budget totale e uso della stessa chiave. La conferma di run_my_recipe richiede anche una stringa idempotency_key da 1 a 100 caratteri; la richiesta di preventivo non la richiede. Se la risposta viene persa, ritenta con la stessa chiave e tutti gli stessi parametri per recuperare l’esecuzione già accettata, anche se nel frattempo la ricetta o il prezzo sono cambiati. Usa una nuova chiave solo per un’esecuzione approvata separatamente. Cambiare i parametri mantenendo la stessa chiave restituisce un conflitto. OAuth mantiene le approvazioni max_credits in crediti del sito e rifiuta i campi USD. Lo strumento di ripresa è destinato alle esecuzioni USD con chiave API e non richiede una nuova chiave di idempotenza; usa lo stato dell’esecuzione originale per evitare di ripetere il lavoro.
Limiti ed errori
Ogni passaggio in USD ricontrolla stato e scadenza della chiave, permessi sui modelli, limiti di spesa e saldo API. Il budget include fondi spesi, importi bloccati per attività in corso e lavoro prenotato; contano anche i tentativi tecnici ripetuti. Una variazione di prezzo anche di soli $0.000000001 mette in pausa l’esecuzione per ottenere l’approvazione. Il budget totale è limitato a $10,000, con $1,000 per passaggio.
| Stato o risultato | Quando |
|---|---|
needs_confirmation: true | Preventivo iniziale, prezzo cambiato o preventivo non corrispondente; verifica e approva |
400 | Input o approvazione in USD non validi, un vecchio limite in crediti o un budget oltre il massimo |
402 | Fondi API insufficienti o superamento di un limite di spesa applicabile |
403 | La chiave o i suoi permessi non consentono il lavoro |
404 | L’elemento salvato o l’esecuzione non è disponibile per chi effettua la chiamata |
409 | L’esecuzione non può riprendere nello stato attuale, gli input del workflow non sono pronti o il modello salvato è stato ritirato |
Altre persone possono vedere o eseguire le mie ricette?
Solo tu e i team con cui li condividi potete accedere agli elementi salvati. Non esiste un catalogo pubblico e non si può ottenere accesso indovinando un ID. Il prompt di una ricetta condivisa non viene mai restituito a un collega.
Chi paga quando eseguo una ricetta condivisa dal mio team?
Tu. Le esecuzioni con chiave API usano il tuo portafoglio API in USD; OAuth usa i crediti del sito. Prima verifica il preventivo e approva il budget.
Devo caricare di nuovo i miei file a ogni esecuzione?
No. Usa un URL https o un riferimento popnow:// a un risultato, un caricamento o un asset API. Gli input omessi riusano i file salvati.
Cosa succede quando il modello usato da una ricetta viene ritirato?
L’esecuzione non può iniziare. Apri la ricetta su popnow.ai, scegli un modello disponibile e salvala di nuovo, poi richiedi un nuovo preventivo.
Esiste un SDK per le ricette?
Usa questi esempi JSON su HTTPS o un client HTTP, mantenendo gli USD come stringhe. Non riutilizzare vecchi esempi SDK che approvano le esecuzioni delle ricette API con crediti interi.
Correlati
Usa PopNow in ChatGPT e Claude
Collega il server MCP ed esegui le ricette salvate da una chat.
Attività
Stati delle attività, risultati e link di download per ogni passaggio.
Idempotenza
Ritenta un invio confermato senza avviare un’altra esecuzione.
Asset
Carica i file una volta e riutilizza i loro riferimenti.
Agent skills
Trova uno stile pronto per un video di lancio, una presentazione, un sito o un’immagine editoriale e consegnalo al tuo agente di coding. Scegline uno in chat tramite MCP, oppure installalo in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot o OpenCode con un prompt, uno ZIP o curl.
n8n
Genera immagini, video e audio AI in n8n con il nodo HTTP Request integrato e l’API PopNow. JSON del workflow importabile, configurazione della credenziale, ciclo di polling, webhook e correzioni per gli errori più comuni.

