Escalonador de porções de receita
Passar de 4 para 6 porções multiplica cada quantidade por 1,5: 250 g de farinha viram 375 g e 2 ovos viram 3. Informe as porções originais, as desejadas e a lista de quantidades para obter a receita ajustada. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Quantidades
- 250, 100, 2, 1
- Porções originais
- 4
- Porções desejadas
- 6
- Nomes
- flour (g), sugar (g), eggs, salt (tsp)
- Escalado
- 375, 150, 3, 1,5
- Fator de escala
- 1,5
- Quantidade
- 4
Um escalonador de porções de receita pega cada quantidade numérica da sua lista de ingredientes e multiplica por um único fator compartilhado, de modo que um prato pensado para quatro pessoas vire uma forma para doze, ou meia fornada para duas, sem reescrever a ficha à mão. Informe a contagem original de porções, a contagem alvo e as quantidades como lista de números positivos; a ferramenta obtém o fator como alvo dividido pelo original e devolve a lista escalonada, com rótulos de nome opcionais na mesma ordem. Use para meal prep, rendimento de catering, folhas de aula e testes unitários que precisam de um passo de escala transparente e auditável.
O que significa escalonar porções e quando mudar a contagem de porções
Cozinheiros caseiros, serviços de meal prep, nutricionistas que montam cardápios de exemplo e cozinhas de teste enfrentam o mesmo problema aritmético: uma fórmula publicada lista quantidades fixas para um rendimento fixo, mas a mesa de hoje precisa de outro rendimento. Escalonar porções multiplica cada quantidade escalável pelo mesmo fator para que as razões relativas permaneçam constantes—o dobro de farinha ainda encontra o dobro de água na mesma hidratação, e a metade do azeite ainda tempera a metade dos vegetais.
O fator não é adivinhado: é exatamente as porções alvo divididas pelas porções originais. De quatro para seis pessoas é um fator de um ponto cinco; de oito para duas é um fator de zero ponto dois cinco. A ferramenta aceita uma lista não vazia de números finitos positivos como amounts, contagens de porções original e alvo positivas obrigatórias, e rótulos de nome paralelos opcionais para que a resposta possa ecoar farinha, açúcar e sal ao lado das novas cifras.
Unidades não são convertidas aqui; duzentos e cinquenta permanece duzentos e cinquenta até você decidir se são gramas ou mililitros, e o resultado escalonado mantém a mesma convenção de unidade que você já usava. Essa separação é intencional: conversores de densidade de farinha e de colheres de sopa para mililitros resolvem a unidade, enquanto esta capacidade só responde quanto de cada linha listada você precisa depois que o tamanho do lote muda.
Casos de uso
Rendimento de catering a partir de um lote de cozinha de teste
Converta um lote piloto escrito para oito pratos em um serviço de quarenta e oito enviando porções original e alvo para que o fator seja derivado automaticamente.
Perguntas frequentes
Como funciona o escalonador de porções de receita?
Ambas as contagens de porções e cada amount devem ser finitos e estritamente positivos. Os names opcionais permanecem alinhados com cada linha.
O que acontece se as porções original ou alvo forem zero ou negativas?
Contagens de porções não positivas são rejeitadas porque não definem um tamanho de lote com sentido.
Posso escalonar para baixo além de para cima?
Sim. Qualquer alvo positivo menor que o original (por exemplo 2 a partir de 8) produz um fator abaixo de um e reduz cada amount proporcionalmente.
Isso converte xícaras em gramas?
Não. Apenas escala números. Mantenha as unidades consistentes você mesmo, ou use antes um conversor dedicado e então escale as quantidades resultantes.
Posso dar nome a cada ingrediente?
Sim. Inclua nomes opcionais na mesma ordem das quantidades, como farinha (g), açúcar (g), ovos e sal (colher de chá). Colocar a unidade no nome deixa o número limpo e a lista ajustada fácil de ler.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"amounts": [
250,
100,
2,
1
],
"original_servings": 4,
"target_servings": 6
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.recipe_portion_scaler",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Porções ou quantidades não positivas, listas vazias e valores não finitos são rejeitados com invalid_input, para que um dado inválido nunca produza um lote silencioso em zero. O caminho é aritmética pura e determinística—sem rede, sem sementes aleatórias, sem dependência do relógio—assim o executor gratuito do navegador e a API pré-paga devolvem o mesmo JSON após arredondamento decimal fixo em cada chamada.
Como chamar a API: campos, validação e formato da resposta
Cada amount deve ser igualmente positivo e finito; uma lista vazia é rejeitada porque não há o que escalonar. Prefira colocar unidades no campo opcional names em vez de dentro das strings de amount, para que duzentos e cinquenta e farinha em gramas fiquem separados e o solver nunca precise analisar texto misto. Envie um corpo JSON com amounts como array obrigatório de números finitos positivos—ou uma string separada por vírgulas em formulários de texto—mais original_servings e target_servings (os aliases incluem servings, from_servings, original para a contagem de origem, e target, to_servings, new_servings para o destino). Ambas as contagens de porções devem ser números finitos estritamente positivos; zero, negativos, ausentes ou não numéricos retornam invalid_input e nunca são cobrados. Os valores absolutos ficam dentro do limite publicado de um trilhão, e o comprimento da lista é limitado para que um Worker termine rápido. Em sucesso a resposta ecoa amounts arredondados, scaled, scale_factor, original_servings, target_servings, count, names opcionais, linhas de ingredients que emparelham cada quantidade original com seu valor escalonado, formula, message e steps ordenados para trilhas de auditoria. Validação falha—amounts vazios, números não finitos, porções ou quantidades não positivas, ou campos obrigatórios ausentes—retorna invalid_input com uma mensagem que nomeia o problema. O preço é um valor fixo de US$ 0,002 por solicitação bem-sucedida com unit item e preço unitário marginal zero.
Dicas práticas, erros comuns, limites e ferramentas relacionadas
Ao escalonar para convidados, confira se cada linha da ficha é proporcional—algumas receitas deixam o tempero a gosto ou fixam o tamanho da panela, assim você pode escalonar os ingredientes a granel e deixar as pitadas de especiaria a critério. Esta landing atende quem busca um escalonador de porções de receita, escalonar ingredientes por porções ou calculadora de rendimento de lote; não é conversor de unidades, nem estimador nutricional, nem planejador de refeições completo. Prefira ferramentas irmãs de cozinha ou conversão quando precisar de xícaras de farinha em gramas ou colheres de sopa em mililitros, e então escale aqui os números resultantes. Checagens de ida e volta são fáceis: recalcule cada amount vezes o fator à mão e confirme que coincide com a entrada scaled publicada no mesmo arredondamento de doze decimais, e confirme que mudar só o alvo escala cada linha proporcionalmente mantendo os rótulos alinhados. Mantenha sempre original_servings diferente de zero e positivo nos formulários do cliente antes de enviar; a API ainda lançará um invalid_input claro se zero ou uma contagem negativa passar, porque dividir por zero ou inventar um lote negativo não é uma escala com sentido. Prefira números em vez de strings de unidade já formatadas dentro de amounts; coloque as unidades no campo opcional names. Valores flutuantes próximos ao limite são arredondados a doze decimais para comparação JSON estável entre motores. Tarefas falhas que retornam invalid_input não consomem saldo pré-pago, o que mantém baratos scripts exploratórios quando aprendizes enviam de propósito porções zero ou listas vazias. Para catering, converta um lote piloto escrito para oito pratos em um serviço de quarenta e oito enviando original_servings oito e target_servings quarenta e oito, de modo que o fator seja derivado automaticamente sem um campo multiplicador separado.
Casos de integração
Redimensionar uma receita caseira para convidados
Cole as quantidades numéricas de uma massa ou bolo para quatro porções, defina original_servings como quatro e target_servings como seis ou dois, e imprima a lista escalonada para compras ou mise en place.
Testes unitários para calculadoras de meal prep
Gere arrays escalonados de referência e rejeições deliberadas de entrada não positiva para valores esperados de coding kata e testes de contrato da API.
Perguntas técnicas
O escalonador de porções de receita é grátis?
Sim no navegador. Chamadas programáticas à API custam US$ 0,002 por solicitação bem-sucedida do saldo pré-pago do KIT; respostas invalid_input não são cobradas.