Costo per porzione ricetta
Farina, uova, latte e burro che costano 6,7 in tutto, divisi in 4 porzioni, fanno 1,675 a piatto. Inserisca quanto è costato ogni ingrediente del lotto e quante porzioni rende: ottiene il totale, il costo per piatto e ogni passaggio. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
Un calcolatore del costo per porzione trasforma la lista della spesa di una ricetta e la resa del lotto in un numero onesto: quanto costa davvero un piatto. Inserisca il costo di ogni ingrediente della ricetta completa —farina, uova, latte, spezie, olio— e il numero di porzioni che il lotto produce; lo strumento somma le voci, divide per le porzioni e restituisce il costo totale, il costo per porzione, le righe di ingredienti etichettate e l’aritmetica passo passo che può incollare in un foglio di meal-prep o in un preventivo di catering.
Cosa significa il costo per porzione per un lotto di ricetta
Il costo per porzione è il denaro totale speso in ingredienti per un lotto cotto diviso per quante porzioni quel lotto deve sfamare. Se un pasticcio di pasta usa farina, uova, latte e burro che insieme costano sei dollari e settanta e la teglia è tagliata in quattro porzioni uguali, ogni piatto costa un dollaro sessantasette e mezzo prima di manodopera, energia, imballaggio o markup.
Quella cifra è la base del budget pasti casalingo, delle schede dei blog di cucina, dell’ingegneria dei menu di mensa e dei preventivi catering per riga. Non è lo stesso del prezzo unitario sullo scaffale: il prezzo unitario confronta la confezione A con la B per prezzo su once; il costo per porzione aggrega molti ingredienti già acquistati per una ricetta e alloca quella somma tra i piatti.
Non è nemmeno uno scalatore di ricette: scalare moltiplica le quantità quando cambia il numero di ospiti; questo calcolatore assume che Lei conosca già il denaro speso per le quantità che cucinerà e serve solo l’aritmetica del totale sulle porzioni. Zero porzioni è un errore duro perché non c’è un piatto a cui allocare il costo, e un conteggio negativo di porzioni non è una resa fisica in questo modello. I basici gratuiti della dispensa possono essere inseriti a costo zero quando decide di escluderli; la somma funziona comunque.
Consigli pratici, limiti e ricerche correlate
Inserisca i costi delle quantità che userà davvero nel lotto, non dell’intera confezione al dettaglio salvo che usi tutto il pacco. Se metà di un cartone di panna da due dollari entra nella zuppa, usi un dollaro come costo di quella riga affinché la cifra del piatto resti onesta. Preferisca inviare numeri piuttosto che stringhe formattate come valuta; i numeri in stringa sono accettati solo se rispettano un pattern numerico finito rigoroso senza segni di dollaro o virgole.
Mantenga ogni costo non negativo —zero è consentito per campioni gratis o basici che esclude— mentre le porzioni devono restare strettamente positive. Questa pagina intercetta chi cerca un calcolatore di costo per porzione di ricetta, uno strumento di costo pasto per porzione o un aiuto al budget ingredienti; non è uno scraper di prezzi in tempo reale, né un comparatore di prezzo unitario del corridoio, né uno scalatore di quantità di ricetta.
Preferisca questa capacità quando conosce già i costi degli ingredienti e la resa del lotto; se la fonte è una foto di scontrino, estragga prima quei numeri.
Casi d'uso
Budget meal-prep casalingo
I cuochi elencano ogni costo di ingrediente di un lotto, inseriscono quante porzioni rende e vedono il vero costo del piatto prima della spesa o della cottura settimanale.
Note di prezzo su blog e schede ricetta
Gli autori allegheranno un costo approssimativo per porzione alle ricette pubblicate così i lettori confrontano le idee di pasto per budget, gusto e tempo.
Preventivi catering e menu di mensa
I team sommano i costi ingredienti di un piatto e dividono per le porzioni previste per seminare prezzi di menu, pasti scolastici o preventivi di evento prima del markup.
Domande frequenti
Come si calcola il costo per porzione?
Sommi ogni costo di ingrediente del lotto completo, poi divida quel totale per il numero di porzioni.
Serve un nome per ogni ingrediente?
No. Può inviare numeri nudi come costi, oppure oggetti con solo un campo cost. I nomi opzionali compaiono nella risposta e in steps se forniti.
Confronta i prezzi unitari del supermercato?
No. Alloca i costi degli ingredienti di una ricetta tra le porzioni. Per confrontare confezioni nel corridoio, usi uno strumento di prezzo unitario.
Il calcolatore del costo ricetta è gratis?
Lo strumento nel browser è gratis e gira in locale.
Che costo inserisco se uso solo una parte di un ingrediente?
Inserisca solo la parte che finisce nella ricetta. Se metà di una confezione di panna pagata 2 va nella zuppa, scriva 1 su quella riga, così il costo per porzione resta onesto.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/life/cost-per-serving \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"ingredients":[{"name":"Flour 1 kg","cost":1.2},{"name":"Eggs (6)","cost":2.4},{"name":"Milk 1 L","cost":1.1},{"name":"Butter 250 g","cost":2}],"servings":4}'const res = await fetch("https://api.kit.forhosting.com/life/cost-per-serving", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"ingredients": [
{
"name": "Flour 1 kg",
"cost": 1.2
},
{
"name": "Eggs (6)",
"cost": 2.4
},
{
"name": "Milk 1 L",
"cost": 1.1
},
{
"name": "Butter 250 g",
"cost": 2
}
],
"servings": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/cost-per-serving",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"ingredients": [
{
"name": "Flour 1 kg",
"cost": 1.2
},
{
"name": "Eggs (6)",
"cost": 2.4
},
{
"name": "Milk 1 L",
"cost": 1.1
},
{
"name": "Butter 250 g",
"cost": 2
}
],
"servings": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/cost-per-serving", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"ingredients":[{"name":"Flour 1 kg","cost":1.2},{"name":"Eggs (6)","cost":2.4},{"name":"Milk 1 L","cost":1.1},{"name":"Butter 250 g","cost":2}],"servings":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"ingredients":[{"name":"Flour 1 kg","cost":1.2},{"name":"Eggs (6)","cost":2.4},{"name":"Milk 1 L","cost":1.1},{"name":"Butter 250 g","cost":2}],"servings":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/cost-per-serving", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"ingredients": [
{
"name": "Flour 1 kg",
"cost": 1.2
},
{
"name": "Eggs (6)",
"cost": 2.4
},
{
"name": "Milk 1 L",
"cost": 1.1
},
{
"name": "Butter 250 g",
"cost": 2
}
],
"servings": 4
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.cost_per_serving",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
min_ingredients | 1 |
max_ingredients | 200 |
max_abs | 1000000000000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Quando le porzioni sono zero la divisione non è definita, quindi l’API restituisce un errore chiaro invalid_input invece di inventare l’infinito o un pasto gratis assurdo. Il percorso è aritmetica puramente deterministica —senza scraper di supermercato, senza rete, senza seme casuale, senza orologio— così l’esecutore gratuito del browser e l’API prepagata restituiscono lo stesso JSON dopo l’arrotondamento decimale fisso ogni volta che la chiama.
Come chiamare l’API e cosa torna indietro
Invii un corpo JSON con due campi obbligatori. ingredients (alias costs, items, list) è un array di almeno una e al massimo duecento voci. Ogni voce può essere un numero finito non negativo trattato come costo, oppure un oggetto con cost (alias price, amount, value) e un name opzionale (alias label, title, ingredient). servings (alias portions, people, yield, serves) è un numero finito strettamente maggiore di zero. I valori assoluti di costi e porzioni devono restare entro un bilione affinché somme e quozienti intermedi restino finiti in doppia precisione IEEE sul Worker e nel browser. In caso di successo la risposta imposta ingredient_count al numero di righe sommate, ingredients a un array di oggetti con index, name e cost arrotondato, servings alla resa arrotondato, total_cost alla somma di tutti i costi, cost_per_serving a total_cost diviso per servings, formula alla stringa cost_per_serving equals total_cost over servings, message a un breve riepilogo e steps a un array ordinato di righe di sostituzione. La validazione fallita —ingredients mancante, lista vuota, numeri non finiti, valori fuori dai limiti assoluti, costi negativi o servings zero o non positivo— restituisce invalid_input e non viene mai addebitata. Il prezzo è un $0.002 fisso per richiesta riuscita con unità item e prezzo unitario marginale zero.
Consigli pratici, limiti e ricerche correlate
Nell’insegnamento o nei test, abbini esempi: farina 1.2, uova 2.4, latte 1.1 e burro 2.0 per quattro porzioni dà totale 6.7 e costo per porzione 1.675; lo stesso totale per otto porzioni dimezza il costo del piatto; una lista di soli numeri funziona ancora senza nomi; e servings uguale a zero dimostra il percorso duro invalid_input. Le attività fallite che restituiscono invalid_input non consumano saldo prepagato, il che mantiene economici gli script esplorativi quando gli studenti impostano servings a zero di proposito. I controlli andata e ritorno sono semplici: ricalcoli a mano la somma dei costi e confermi che eguaglia total_cost, poi divida per servings e confermi cost_per_serving con lo stesso arrotondamento a dodici decimali.
Domande tecniche
Cosa succede se le porzioni sono zero?
La divisione per zero non è definita. L’API restituisce invalid_input e non addebita la richiesta.