Calcule a melhor hora para acordar por ciclos do sono
Esta calculadora de ciclos do sono transforma o horário planejado para dormir em uma lista prática de possíveis alarmes.
Executar grátis
Informe quando pretende se deitar, a duração média do seu ciclo e quantos minutos costuma levar para adormecer. A calculadora soma primeiro esse intervalo e depois avança por ciclos completos, para que cada resultado coincida com o fim de um ciclo. Ela auxilia o planejamento, mas não garante a qualidade do sono nem substitui uma orientação médica individual.
Comece pelo horário em que realmente pretende se deitar
Use bedtime para informar o momento em que pretende ir para a cama, no formato HH:MM de 24 horas, como 22:30 ou 00:15. A calculadora não presume que o sono começa imediatamente. Primeiro, ela acrescenta fall_asleep_minutes, que tem quinze minutos como padrão, mas pode ser ajustado à sua rotina. Assim, 22:30 como horário de dormir e quinze minutos para adormecer geram um início estimado do sono às 22:45. Todas as opções de despertar são medidas a partir desse ponto, e não do instante em que você se deita. Essa diferença é importante porque ignorar a latência antecipa todos os alarmes em relação ao limite de ciclo desejado. A resposta inclui tanto o horário normalizado de dormir quanto sleep_starts_at, deixando a premissa visível ao salvar o resultado, exibi-lo em um aplicativo ou comparar rotinas noturnas. Horários que passam da meia-noite avançam automaticamente para o dia seguinte. Como a entrada contém apenas uma hora, o resultado mostra horários, não datas; interprete um resultado de madrugada como posterior ao bedtime informado.
Escolha uma duração média de ciclo realista
Os ciclos do sono costumam ser resumidos como períodos de aproximadamente noventa minutos. Por isso, cycle_minutes usa 90 como padrão, mas a calculadora permite fornecer outra média. O valor precisa ser um número finito e positivo, pois um ciclo igual a zero ou negativo não define um limite futuro para despertar. Em cada opção, o algoritmo multiplica cycle_minutes por uma quantidade inteira de ciclos, soma essa duração ao início estimado do sono e formata o resultado como HH:MM. Durações fracionárias são aceitas, enquanto o horário exibido é arredondado para o minuto mais próximo. A resposta preserva o sleep_minutes calculado em cada opção, permitindo que clientes automatizados vejam a duração associada ao relógio. Considere esse tamanho uma estimativa de planejamento, não uma medida biológica exata que permanece igual todas as noites. Estresse, doenças, idade, ambiente e variações normais podem alterar a arquitetura do sono. Se você tiver registros de um dispositivo ou diário, uma média de várias noites representativas tende a ser mais útil do que uma única observação atípica. A ferramenta faz a aritmética da média escolhida; ela não diagnostica estágios nem confirma que um limite realmente aconteceu.
Analise as opções e reserve uma duração total suficiente
O array wake_up_times é ordenado de um ciclo completo até max_cycles, cujo padrão é seis e pode ser configurado entre um e doze. Cada item informa a quantidade de ciclos, o total de minutos dormidos após adormecer e a wake_time correspondente. Isso torna a lista útil para explorar a conta, mas uma opção mais cedo não é automaticamente uma recomendação saudável. Um resultado de um ciclo pode ilustrar o limite de um cochilo curto, enquanto um plano noturno geralmente exige sono total suficiente para suas circunstâncias. Observe primeiro a duração completa e depois escolha entre horários alinhados aos ciclos que também atendam aos seus compromissos. O cálculo é determinístico: ele nunca consulta a data atual, o fuso local ou o relógio do sistema e não usa serviços de rede. As mesmas entradas sempre produzem a mesma saída no navegador e na API. A passagem pela meia-noite é resolvida com aritmética de relógio. Se problemas de sono, cansaço diurno intenso, pausas respiratórias ou outros sintomas preocupantes persistirem, use este cronograma apenas como registro para conversar com um profissional de saúde qualificado, não como substituto de uma avaliação.
Casos de uso
Planejar o alarme antes de dormir
Compare vários alarmes em ciclos completos depois de acrescentar os minutos que você normalmente leva para adormecer.
Criar um recurso de planejamento do sono
Forneça em um aplicativo de bem-estar ou painel pessoal uma programação determinística com ciclos, durações e horários.
Testar uma média de ciclo personalizada
Troque a estimativa comum de noventa minutos por uma média das suas observações e compare os limites obtidos.
Perguntas frequentes
Quanto custa a calculadora?
A calculadora no navegador é gratuita nesta página. As solicitações pela API começam em US$ 0,002.
Por que o tempo para adormecer é somado antes dos ciclos?
Os ciclos começam depois que você adormece; por isso, a latência é adicionada ao horário de dormir antes da contagem dos ciclos completos.
Um ciclo precisa ter exatamente 90 minutos?
Não. Noventa minutos é o padrão, mas cycle_minutes aceita qualquer número finito e positivo.
O que acontece quando um horário de despertar passa da meia-noite?
Ele retorna ao formato válido de 24 horas. Um resultado de madrugada deve ser entendido como posterior ao horário de dormir informado.
Acordar no limite de um ciclo garante que vou descansar bem?
Não. O resultado é uma estimativa matemática; a duração total do sono e fatores individuais de saúde continuam importantes.
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/final3/sleep-cycle-wake-time-calc \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"bedtime":"22:30"}'const res = await fetch("https://api.kit.forhosting.com/final3/sleep-cycle-wake-time-calc", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"bedtime": "22:30"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/final3/sleep-cycle-wake-time-calc",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"bedtime": "22:30"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/final3/sleep-cycle-wake-time-calc", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"bedtime":"22:30"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"bedtime":"22:30"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/final3/sleep-cycle-wake-time-calc", 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
{
"bedtime": "22:30"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "final3.sleep_cycle_wake_time_calc",
"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. |