Escalador de porciones de receta
Pasar de 4 a 6 raciones multiplica cada cantidad por 1,5: 250 g de harina se convierten en 375 g y 2 huevos en 3. Indique las raciones originales, las deseadas y su lista de cantidades para obtener la receta escalada. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Cantidades
- 250, 100, 2, 1
- Porciones originales
- 4
- Porciones objetivo
- 6
- Nombres
- flour (g), sugar (g), eggs, salt (tsp)
- Escalado
- 375, 150, 3, 1,5
- Factor de escala
- 1,5
- Cantidad
- 4
Un escalador de porciones de receta toma cada cantidad numérica de su lista de ingredientes y la multiplica por un único factor compartido, de modo que un plato pensado para cuatro personas se convierta en una bandeja para doce, o en media tanda para dos, sin reescribir la ficha a mano. Introduzca el número original de raciones, el número objetivo y las cantidades como lista de números positivos; la herramienta obtiene el factor como objetivo dividido entre el original y devuelve la lista escalada, con etiquetas de nombre opcionales en el mismo orden.
Qué significa escalar porciones y cuándo cambiar el número de raciones
Cocineros caseros, servicios de meal prep, dietistas que elaboran menús de ejemplo y cocinas de prueba afrontan el mismo problema aritmético: una fórmula publicada fija cantidades para un rendimiento fijo, pero la mesa de esta noche exige otro rendimiento. Escalar porciones multiplica cada cantidad escalable por el mismo factor para que las proporciones relativas se mantengan—el doble de harina sigue encontrando el doble de agua a la misma hidratación, y la mitad del aceite sigue aliñando la mitad de las verduras.
El factor no se adivina: es exactamente las raciones objetivo divididas entre las raciones originales. De cuatro a seis personas es un factor de uno coma cinco; de ocho a dos es un factor de cero coma dos cinco. La herramienta acepta una lista no vacía de números finitos positivos como amounts, conteos de raciones original y objetivo positivos obligatorios, y etiquetas de nombre paralelas opcionales para que la respuesta pueda devolver harina, azúcar y sal junto a las nuevas cifras.
Aquí no se convierten unidades; doscientos cincuenta sigue siendo doscientos cincuenta hasta que decida si son gramos o mililitros, y el resultado escalado conserva la misma convención de unidades que ya usaba. Esa separación es deliberada: los convertidores de densidad de harina y de cucharadas a mililitros resuelven la unidad, mientras esta capacidad solo responde cuánto de cada línea listada necesita tras cambiar el tamaño del lote.
Qué puede hacer con ella
Rendimiento de catering desde un lote de cocina de prueba
Convierta un lote piloto escrito para ocho platos en un servicio de cuarenta y ocho enviando raciones original y objetivo para que el factor se derive automáticamente.
Preguntas frecuentes
¿Cómo funciona el escalador de porciones de receta?
Ambos conteos de raciones y cada amount deben ser finitos y estrictamente positivos. Los names opcionales se mantienen alineados con cada línea.
¿Qué ocurre si las raciones original u objetivo son cero o negativas?
Los conteos de raciones no positivos se rechazan porque no definen un tamaño de lote con sentido.
¿Puedo escalar hacia abajo además de hacia arriba?
Sí. Cualquier objetivo positivo menor que el original (por ejemplo 2 desde 8) produce un factor inferior a uno y reduce cada amount de forma proporcional.
¿Convierte tazas a gramos?
No. Solo escala números. Mantenga las unidades coherentes usted mismo, o use antes un convertidor dedicado y luego escale las cantidades resultantes.
¿Puedo poner nombre a cada ingrediente?
Sí. Añada nombres opcionales en el mismo orden que las cantidades, como harina (g), azúcar (g), huevos y sal (cucharadita). Poner la unidad en el nombre deja el número limpio y la lista escalada fácil de leer.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/health/recipe-portion-scaler \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"amounts":[250,100,2,1],"original_servings":4,"target_servings":6}'const res = await fetch("https://api.kit.forhosting.com/health/recipe-portion-scaler", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"amounts": [
250,
100,
2,
1
],
"original_servings": 4,
"target_servings": 6
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/recipe-portion-scaler",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"amounts": [
250,
100,
2,
1
],
"original_servings": 4,
"target_servings": 6
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/recipe-portion-scaler", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"amounts":[250,100,2,1],"original_servings":4,"target_servings":6}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"amounts":[250,100,2,1],"original_servings":4,"target_servings":6}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/recipe-portion-scaler", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"amounts": [
250,
100,
2,
1
],
"original_servings": 4,
"target_servings": 6
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.recipe_portion_scaler",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Las raciones o cantidades no positivas, las listas vacías y los valores no finitos se rechazan con invalid_input, de modo que un dato erróneo nunca produzca un lote silencioso a cero. El camino es aritmética pura y determinista—sin red, sin semillas aleatorias, sin dependencia del reloj—así que el ejecutor gratuito del navegador y la API de prepago devuelven el mismo JSON tras un redondeo decimal fijo cada vez que la invoque.
Cómo llamar a la API: campos, validación y forma de la respuesta
Cada amount debe ser asimismo positivo y finito; una lista vacía se rechaza porque no hay nada que escalar. Prefiera poner las unidades en el campo opcional names en lugar de dentro de las cadenas de amount, para que doscientos cincuenta y la harina en gramos queden separados y el solver no tenga que analizar texto mixto. Envíe un cuerpo JSON con amounts como array obligatorio de números finitos positivos—o una cadena separada por comas en formularios de texto—más original_servings y target_servings (los alias incluyen servings, from_servings, original para el conteo de origen, y target, to_servings, new_servings para el de destino). Ambos conteos de raciones deben ser números finitos estrictamente positivos; cero, negativos, ausentes o no numéricos devuelven invalid_input y no se cobran. Los valores absolutos se mantienen dentro del límite publicado de un billón, y la longitud de la lista está acotada para que un Worker termine con rapidez. En éxito la respuesta devuelve amounts redondeados, scaled, scale_factor, original_servings, target_servings, count, names opcionales, filas de ingredients que emparejan cada cantidad original con su valor escalado, formula, message y steps ordenados para auditorías. La validación fallida—amounts vacíos, números no finitos, raciones o cantidades no positivas, o campos obligatorios ausentes—devuelve invalid_input con un mensaje que nombra el problema. El precio es un fijo de $0.002 por solicitud correcta con unit item y precio unitario marginal cero.
Consejos prácticos, errores frecuentes, límites y herramientas relacionadas
Al escalar para invitados, compruebe que cada línea de la ficha sea proporcional—algunas recetas dejan el sazonado al gusto o fijan el tamaño de la sartén, así que puede escalar los ingredientes a granel y dejar las pizcas de especia a criterio. Esta landing se dirige a quienes buscan un escalador de porciones de receta, escalar ingredientes por raciones o una calculadora de rendimiento de lote; no es un convertidor de unidades, ni un estimador nutricional, ni un planificador de comidas completo. Prefiera herramientas hermanas de cocina o conversión cuando necesite tazas de harina a gramos o cucharadas a mililitros, y luego escale aquí los números resultantes. Las comprobaciones de ida y vuelta son sencillas: recalcule a mano cada amount por el factor y confirme que coincide con la entrada scaled publicada con el mismo redondeo a doce decimales, y confirme que al cambiar solo el objetivo se escala cada línea de forma proporcional dejando las etiquetas alineadas. Mantenga siempre original_servings distinto de cero y positivo en los formularios del cliente antes de enviar; la API seguirá lanzando un invalid_input claro si se cuela un cero o un conteo negativo, porque dividir por cero o inventar un lote negativo no es un escalado con sentido. Prefiera números en lugar de cadenas de unidad ya formateadas dentro de amounts; ponga las unidades en el campo opcional names. Los valores flotantes cercanos al límite se redondean a doce decimales para una comparación JSON estable entre motores. Las tareas fallidas que devuelven invalid_input no consumen saldo prepago, lo que mantiene baratos los scripts exploratorios cuando los aprendices envían a propósito raciones cero o listas vacías. En catering, convierta un lote piloto de ocho platos en un servicio de cuarenta y ocho enviando original_servings ocho y target_servings cuarenta y ocho, de modo que el factor se derive automáticamente sin un campo multiplicador aparte.
Casos de integración
Ajustar una receta casera para invitados
Pegue las cantidades numéricas de una pasta o un bizcocho para cuatro raciones, ponga original_servings en cuatro y target_servings en seis o dos, e imprima la lista escalada para la compra o la mise en place.
Pruebas unitarias para calculadoras de meal prep
Genere arrays escalados de referencia y rechazos deliberados de entrada no positiva para valores esperados de coding kata y pruebas de contrato de la API.
Preguntas técnicas
¿Es gratis el escalador de porciones de receta?
Sí en el navegador. Las llamadas programáticas a la API cuestan $0.002 por solicitud correcta desde el saldo prepago de KIT; las respuestas invalid_input no se cobran.