レシピの総カロリーと1食分を計算
このレシピ用カロリー計算ツールは、材料一覧から実用的な二つの数値、すなわち料理全体のカロリーと1食分のカロリーを算出します。各材料について使用量と、それに対応する1単位当たりのカロリーを入力し、完成する食数をご指定ください。各使用量に単位当たりの値を掛け、すべてを合計してから食数で割ります。材料ごとの計算内訳も表示されるため、根拠の見えない推定値に頼らず、入力や計算結果をご自身で確認していただけます。
無料で実行
材料の単位をそろえてご準備ください
まず各材料の栄養表示を確認し、表示されている単位と入力する使用量の単位を一致させてください。大さじ1杯が95カロリーと表示されている場合、数量を二つとすれば大さじ2杯となり、190カロリーとして計算されます。レシピはグラム表記でも、資料が100グラム当たりのカロリーを示している場合は、100グラムを一単位とした数量を入力するか、あらかじめ1グラム当たりへ換算してください。本ツールは、単位、標準的な盛り付け量、可食部の歩留まり、材料の密度を推測しません。食品や調理環境によって条件が大きく異なるためです。各行には明確な材料名、ゼロ以上の数量、ゼロ以上の単位当たりカロリーが必要です。ゼロはカロリーを含まない材料や今回は使わない材料を表せますが、負の値は食品エネルギーとして成立しないため受け付けません。信頼できる結果には単位の整合が最も重要です。精度が必要な場合は、包装表示、信頼できる栄養データベース、または独自の配合表をご確認ください。
計算方法と結果をご確認ください
各行では、材料の数量に単位当たりのカロリーを掛けます。次にすべての材料の寄与分を加算してレシピ全体のカロリーを求め、その合計を食数で割ります。たとえば数量が1.5、単位当たりが80カロリーの材料は、120カロリーとなります。内訳には、整えた材料名、数量、単位当たりの値、材料ごとの計算値が残るため、転記ミスを見つけやすくなります。安定して再現できる出力にするため、表示値は小数第六位までに丸めますが、合計処理は最終的な丸めの前に行います。食数には整数だけでなく、2.5のような正の小数も指定できるため、重量基準や端数のある出来上がりにも対応できます。ただし、ゼロまたは負の値では意味のある割り算ができないため指定できません。結果には材料数と食数も含まれますので、自動処理でも表示順や暗黙の前提に頼らず、意図したレシピを処理したか確認できます。
推定値を適切にご活用ください
結果は、ご入力いただいた値の品質に左右される算術上の推定値としてお取り扱いください。栄養表示には丸め規則があり、自然由来の材料には個体差があります。また、加熱で水分量が変化しても、料理全体のエネルギーが同じ割合で変わるとは限りません。鍋に残った油、捨てた漬け汁、取り除いた部分、蒸発、盛り付けのばらつきにより、実際に摂取するカロリーと計算値に差が出る場合があります。食事計画では、実際に分けた食数をご指定ください。六食分の予定でも五つの容器に分けた場合は、五食として入力します。均一性を高めるには、完成品を量り、1食分を重量で定義したうえで、全体に何食分あるかを求めてください。APIはブラウザー版と同じ決定的な計算を行い、ネットワーク検索や不足情報の自動補完はしません。レシピ表、献立作成、作り置き管理、再現可能なテストに適しています。医療上の助言ではなく、臨床栄養、アレルギー、治療について専門家の判断に代わるものではありません。
活用例
作り置きの食数を計画する
料理全体の値を算出し、実際に用意する容器の数で正確に分けていただけます。
レシピの変更案を比較する
材料の数量やカロリー値を変え、料理全体と1食分への影響をご確認いただけます。
レシピ管理へ推定値を追加する
献立、表計算、料理アプリで、再現可能な結果と確認可能な材料内訳をご利用いただけます。
よくある質問
APIでの計算料金はいくらですか?
APIでの計算1回につき$0.002です。ブラウザー版は端末内で無料で実行されます。
単位当たりのカロリーとは何ですか?
入力する数量と同じ単位一つ分のカロリーです。グラム、大さじ、カップ、包装一つなどをご指定いただけます。
食数に小数を指定できますか?
はい。有限の正数であれば、端数のある出来上がりや重量基準の食数にも対応します。
ゼロや負の食数を指定できないのはなぜですか?
1食分の算出には、物理的に意味のある食数で割る必要があるため、ゼロより大きい値が必要です。
栄養情報を自動で検索しますか?
いいえ。ご入力いただいた数量とカロリーだけを決定的に計算し、ネットワークへの問い合わせは行いません。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
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)リクエスト例
{
"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": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "cook.calorie_count_recipe",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |