Calories d’une recette : total et par portion
Ce calculateur transforme une liste d’ingrédients en deux valeurs directement exploitables : les calories de la recette entière et celles de chaque portion.
Lancer gratuitement
Indiquez la quantité de chaque ingrédient, le nombre de calories contenu dans une unité correspondante et le nombre de portions obtenues. L’outil multiplie chaque quantité par sa valeur calorique unitaire, additionne les résultats, puis divise le total par le nombre de portions. Il fournit également un détail par ingrédient afin que vous puissiez contrôler le calcul au lieu de vous fier à une estimation inexpliquée.
Préparez des valeurs d’ingrédients compatibles
Commencez par les informations nutritionnelles de chaque ingrédient et vérifiez que leur unité correspond à la quantité saisie. Si une étiquette indique qu’une cuillère à soupe contient 95 calories, une quantité de deux représente deux cuillères et apporte 190 calories. Si votre recette est exprimée en grammes, mais que la source donne les calories pour 100 grammes, saisissez le nombre d’unités de 100 grammes ou convertissez d’abord la valeur en calories par gramme. Le calculateur ne devine ni les unités, ni la taille des portions, ni le rendement comestible, ni la densité, car ces hypothèses varient fortement selon les aliments. Chaque ligne doit comporter un nom clair, une quantité positive ou nulle et une valeur calorique unitaire non négative. Zéro peut représenter un ingrédient sans apport énergétique ou momentanément omis ; les valeurs négatives sont refusées. La cohérence entre l’unité de la source et celle de la quantité saisie reste la condition essentielle d’un total pertinent. Pour un résultat précis, consultez l’emballage, une base nutritionnelle fiable ou votre fiche de formulation.
Comprenez le calcul et le résultat
Pour chaque ligne, le calculateur multiplie la quantité par les calories par unité. Il additionne ensuite toutes les contributions pour obtenir le total de la recette, puis divise ce total par le nombre de portions. Ainsi, un ingrédient saisi avec une quantité de 1.5 et 80 calories par unité apporte 120 calories. Le détail conserve le nom normalisé, la quantité, la valeur unitaire et les calories calculées de chaque ingrédient, ce qui facilite la détection d’une erreur de transcription. Les résultats sont arrondis à six décimales pour rester stables et reproductibles, tandis que la somme est effectuée avant l’arrondi final. Le nombre de portions peut être un entier ou un nombre décimal positif, notamment 2.5, mais jamais zéro ou une valeur négative. La réponse inclut aussi le nombre d’ingrédients et le nombre de portions. Un traitement automatisé peut ainsi confirmer qu’il a analysé la bonne recette sans dépendre de l’ordre d’affichage ou d’hypothèses implicites.
Interprétez l’estimation avec discernement
Considérez le résultat comme une estimation arithmétique dont la qualité dépend des données fournies. Les étiquettes nutritionnelles appliquent des arrondis, les ingrédients naturels varient et la cuisson peut modifier la teneur en eau sans changer nécessairement l’énergie du plat. L’huile restant dans la poêle, une marinade jetée, les parures, l’évaporation et des portions inégales peuvent créer un écart entre les calories calculées et consommées. Pour organiser vos repas, utilisez le rendement réellement réparti : si vous prévoyiez six portions, mais remplissez cinq récipients, indiquez cinq. Pour davantage de régularité, pesez le plat fini, définissez une portion par son poids, puis déterminez combien de portions contient la préparation. L’API effectue le même calcul déterministe que la version du navigateur, sans recherche en ligne ni remplacement silencieux des données manquantes. Elle convient donc aux feuilles de recettes, aux outils de conception de menus, aux systèmes de préparation de repas et aux tests reproductibles. Elle ne constitue pas un avis médical et ne remplace pas un professionnel qualifié pour la nutrition clinique, les allergies ou un traitement.
Cas d’usage
Planifier des portions préparées
Calculez le total de la préparation et répartissez-le entre le nombre exact de récipients préparés.
Comparer plusieurs variantes
Modifiez une quantité ou une valeur calorique et observez l’effet sur la recette et chaque portion.
Enrichir un système de recettes
Intégrez un résultat déterministe et un détail vérifiable dans des menus, tableaux ou applications culinaires.
Questions fréquentes
Combien coûte un calcul par API ?
Chaque calcul par API coûte $0.002. Le calculateur du navigateur s’exécute localement et gratuitement.
Que signifie calories par unité ?
Il s’agit des calories d’une unité correspondant à votre quantité, par exemple un gramme, une cuillère, une tasse ou un paquet.
Le nombre de portions peut-il être décimal ?
Oui. Tout nombre fini strictement positif est accepté, y compris pour un rendement partiel ou défini par poids.
Pourquoi zéro et les valeurs négatives sont-ils refusés ?
Le calcul par portion nécessite une division par une quantité physiquement valable, qui doit donc être supérieure à zéro.
L’outil recherche-t-il les informations nutritionnelles ?
Non. Il applique un calcul déterministe aux quantités et calories que vous fournissez, sans aucune requête réseau.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/cook/calorie-count-recipe \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"ingredients":[{"name":"Rolled oats","quantity":2,"calories_per_unit":150},{"name":"Banana","quantity":1.5,"calories_per_unit":105},{"name":"Peanut butter","quantity":2,"calories_per_unit":95}],"servings":5}'const res = await fetch("https://api.kit.forhosting.com/cook/calorie-count-recipe", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"ingredients": [
{
"name": "Rolled oats",
"quantity": 2,
"calories_per_unit": 150
},
{
"name": "Banana",
"quantity": 1.5,
"calories_per_unit": 105
},
{
"name": "Peanut butter",
"quantity": 2,
"calories_per_unit": 95
}
],
"servings": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/cook/calorie-count-recipe",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"ingredients": [
{
"name": "Rolled oats",
"quantity": 2,
"calories_per_unit": 150
},
{
"name": "Banana",
"quantity": 1.5,
"calories_per_unit": 105
},
{
"name": "Peanut butter",
"quantity": 2,
"calories_per_unit": 95
}
],
"servings": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/cook/calorie-count-recipe", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"ingredients":[{"name":"Rolled oats","quantity":2,"calories_per_unit":150},{"name":"Banana","quantity":1.5,"calories_per_unit":105},{"name":"Peanut butter","quantity":2,"calories_per_unit":95}],"servings":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"ingredients":[{"name":"Rolled oats","quantity":2,"calories_per_unit":150},{"name":"Banana","quantity":1.5,"calories_per_unit":105},{"name":"Peanut butter","quantity":2,"calories_per_unit":95}],"servings":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/cook/calorie-count-recipe", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"ingredients": [
{
"name": "Rolled oats",
"quantity": 2,
"calories_per_unit": 150
},
{
"name": "Banana",
"quantity": 1.5,
"calories_per_unit": 105
},
{
"name": "Peanut butter",
"quantity": 2,
"calories_per_unit": 95
}
],
"servings": 5
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "cook.calorie_count_recipe",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |