ForHosting KIT · Casa, cozinha e lazer

Escale a receita pelo ingrediente em mãos

Se a receita pede 500 g de farinha e só sobraram 200 g, todas as quantidades são multiplicadas por 0,4: a manteiga passa de 250 g para 100 g e nada fica faltando. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Quantidades
500, 250, 2, 100
Disponível
200
Índice limitante
0
Nomes
flour (g), butter (g), eggs, sugar (g)
Você obtém
Escalado
200, 100, 0,8, 40
Fator
0,4
Nome do limitante
flour (g)
Quantidade da receita
500

Quando a despensa está pela metade, a pergunta útil não é «quantas porções eu quero?» e sim «só me resta esta farinha — como reescrevo a ficha inteira para nada faltar?». As proporções se mantêm: metade da farinha continua combinando com metade da manteiga e metade dos ovos. Unidades não são convertidas — gramas continuam gramas —, então use a mesma unidade no estoque e na ficha.

O que significa escalar por sobras e como o fator é montado

Cozinheiros domésticos, planejadores de meal-prep e cozinhas de teste costumam enfrentar despensa parcial: a ficha pede quinhentos gramas de farinha, mas o saco só tem duzentos. Escalar a partir do estoque sobrante responde a essa restrição de forma direta. Você lista cada quantidade escalável na ordem da receita, marca qual linha é limitante — em geral o básico escasso — e informa quanto desse básico ainda tem.

Se a ficha dizia quinhentos gramas de farinha e duzentos e cinquenta de manteiga, e você só tem duzentos gramas de farinha, o fator é duzentos sobre quinhentos, ou seja 0.4, de modo que a manteiga vira cem gramas e as demais linhas encolhem igual. Rótulos de nome opcionais ficam alinhados a cada quantidade para que a resposta possa ecoar farinha, manteiga e ovos ao lado das novas cifras e assinalar qual linha foi o limitante.

Isso difere de um multiplicador por porções: você não escolhe primeiro o número de convidados; o estoque de um ingrediente escolhe o tamanho do lote.

Meal-prep com despensa parcial

Quando só resta um básico a granel, escale a fórmula completa de prep para usar esse básico por completo e manter as demais linhas em proporção.

Em que isso difere de um escalonador por porções ou multiplicador?

O modo porções escolhe primeiro o número de convidados.

O escalonador de receitas por sobras é grátis?

A ferramenta do navegador é grátis e roda localmente.

Como adapto uma receita à farinha que sobrou?

Digite as quantidades na ordem da receita, marque a farinha como ingrediente limitante e informe quanto você tem. Com 200 g dos 500 g pedidos, o fator é 0,4 e vale para todas as outras linhas.

Preciso usar a mesma unidade no estoque e na receita?

Sim. Nenhuma unidade é convertida, então, se a receita traz a farinha em gramas, informe em gramas o que sobrou. Misturar xícaras e gramas gera um fator errado para todos os ingredientes.

Qual ingrediente devo marcar como limitante?

O que está faltando, normalmente um básico escasso como a farinha. Você pode escolhê-lo pela posição na lista ou pelo nome; se informar os dois, vale o nome.

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.

POSThttps://api.kit.forhosting.com/cook/leftover-scale

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/cook/leftover-scale \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"amounts":[500,250,2,100],"on_hand":200}'
{
  "amounts": [
    500,
    250,
    2,
    100
  ],
  "on_hand": 200
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "cook.leftover_scale",
  "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.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Este escalonador de receitas por sobras toma cada quantidade numérica da sua lista de ingredientes, escolhe uma linha limitante (por índice ou por nome) e multiplica a lista inteira por on_hand dividido pela quantidade dessa linha na receita. Quantidades não positivas e um estoque on_hand não positivo são rejeitados com invalid_input em vez de inventar um prato zerado. O caminho é aritmética determinística pura com arredondamento decimal fixo, de modo que o executor gratuito do navegador e a API pré-paga devolvem o mesmo JSON sempre que você chama.

O que significa escalar por sobras e como o fator é montado

O solver calcula um único fator compartilhado igual a on_hand dividido pela quantidade da receita na linha limitante e multiplica cada quantidade por esse fator para manter as proporções relativas. Unidades não são convertidas de propósito aqui — use gramas ou xícaras tanto na quantidade da receita quanto em on_hand para o quociente ser adimensional — e conversores cook irmãos podem normalizar xícaras em gramas antes de escalar. Folhas de aula e coding kata podem afirmar o mesmo JSON arredondado porque a aritmética nunca depende do relógio nem de dados externos.

Como chamar a API: campos, formato da resposta e erros

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 on_hand como a quantidade positiva do ingrediente limitante que você realmente tem. Escolha a linha limitante com limiting_index (base zero; padrão zero se omitido) ou limiting_name, comparado sem distinguir maiúsculas à lista opcional names; quando ambos vêm preenchidos, o nome vence para scripts identificarem farinha sem fixar posições. Names (aliases labels, ingredients) são rótulos paralelos opcionais preenchidos ou truncados ao contagem de amounts. Valores absolutos ficam dentro do limite publicado de um trilhão, e o comprimento da lista é limitado para um Worker terminar rápido. Em sucesso a resposta ecoa amounts arredondados, scaled, factor, on_hand, limiting_index, limiting_name, recipe_amount dessa linha, count, names, linhas ingredients com flag is_limiting, formula, message e steps ordenados. Validação falha — amounts vazios, números não finitos, qualquer quantidade de receita não positiva, on_hand não positivo, índice fora da faixa ou limiting_name sem correspondência — devolve invalid_input e nunca é cobrada. O preço é um US$ 0,002 fixo por requisição bem-sucedida com unidade item. Prefira números em vez de strings de unidade dentro de amounts; coloque unidades em names para que duzentos e cinquenta e flour (g) fiquem separados e legíveis no array ingredients.

Dicas práticas, buscas relacionadas e quando usar outra ferramenta

Valores próximos de zero e negativos são rejeitados de propósito porque estoque ou linha de receita não positivos não definem uma escala útil. Esta landing mira quem busca escalar receita pelo ingrediente em mãos, calculadora de sobras limitantes ou escala a partir da despensa; não é conversor de unidades, nem estimador nutricional, nem o escalonador por porções ou multiplicador quando você já sabe o número de convidados. Prefira o escalonador de receitas irmão quando quiser fator dois para lote duplo, e ferramentas de xícaras para gramas quando ficha e saco usam medidas diferentes. Mantenha sempre on_hand e a quantidade de receita limitante na mesma unidade antes de enviar; misturar xícaras de farinha com gramas de estoque produz um fator matematicamente válido, porém culinariamente errado. Prefira limiting_name quando a lista é estável e limiting_index quando monta amounts por programa sem rótulos. Se vários ingredientes estão curtos, escolha o gargalo real — a linha com menor razão on_hand sobre quantidade de receita — ou rode a calculadora uma vez por candidato e fique com o lote escalado mínimo. Tarefas falhas que devolvem invalid_input não consomem saldo pré-pago, o que mantém baratos scripts exploratórios quando aprendizes enviam estoque zero de propósito. Checagens de ida e volta são simples: recalcule à mão on_hand dividido pela quantidade de receita limitante, multiplique cada linha e confirme que as entradas scaled publicadas batem no arredondamento de doze casas, inclusive que o scaled da linha limitante iguale on_hand após o arredondamento.

Acabar meia embalagem de farinha ou açúcar

Cole as quantidades da ficha, defina limiting_name como flour (g) e on_hand com o que o saco ainda tem; compre ou faça mise en place com a lista escalada.

Testes unitários para apps de cozinha

Gere arrays escalados de referência e rejeições deliberadas de on_hand não positivo para testes de contrato e valores esperados de coding kata.

Como funciona escalar uma receita a partir de um ingrediente em mãos?

Envie amounts, on_hand da linha escassa e limiting_index ou limiting_name. Fator = on_hand ÷ essa quantidade de receita; cada linha é multiplicada pelo mesmo fator.

O que acontece se on_hand ou uma quantidade de receita for zero ou negativa?

A ferramenta devolve invalid_input. Quantidades não positivas não definem escala por sobras e são rejeitadas de propósito.

Isso converte xícaras em gramas?

Não. Mantenha unidades coerentes na linha limitante e em on_hand, ou converta antes com uma ferramenta dedicada e só então escale os números aqui.

Ver a documentação completa do KIT →