Calculadora de repetición espaciada
La calculadora de repetición espaciada convierte el resultado de un repaso en una fecha concreta para volver a estudiar.
Ejecutar — gratis
Corre en su navegador. Gratis y sin límite: sus datos no salen de esta página.
Indique la fecha del repaso actual, el intervalo vigente de la tarjeta en días y una calidad de recuerdo de cero a cinco. La calculadora aplica un calendario SM-2 simplificado y transparente, y devuelve tanto el próximo intervalo como la fecha correspondiente. Resulta útil para herramientas de estudio, registros personales y aplicaciones pequeñas que necesitan una programación coherente sin base de datos, estado oculto ni resultados impredecibles.
Describa la tarjeta en el momento del repaso
Comience con la fecha en la que el estudiante repasó la tarjeta, escrita como YYYY-MM-DD. Esta fecha explícita hace que cada cálculo sea reproducible: si ejecuta mañana la misma solicitud, obtendrá la misma respuesta. Después, indique el intervalo actual como un número entero de días. El valor cero representa una tarjeta nueva que aún no ha obtenido un intervalo, mientras que uno corresponde a una tarjeta prevista para el día siguiente al repaso anterior. Por último, valore la calidad del recuerdo de cero a cinco. Cero significa que la respuesta se olvidó por completo, tres es la nota mínima aprobatoria y cinco representa una respuesta correcta y sin esfuerzo. La escala es deliberadamente estricta y solo acepta enteros. Estos tres datos claros permiten conectar fácilmente la calculadora con un formulario, una hoja de cálculo, una herramienta de línea de comandos o una aplicación de tarjetas. Además, evitan depender por accidente del reloj del servidor, de la zona horaria del usuario o de un historial no incluido en la solicitud.
Comprenda el cálculo SM-2 simplificado
Una calidad inferior a tres se considera un fallo de recuerdo, por lo que el próximo intervalo vuelve a un día y el material reaparece pronto. El primer repaso aprobado de una tarjeta nueva también recibe un intervalo de un día. Si la tarjeta ya tiene un intervalo de un día y el repaso se aprueba, pasa a seis días, siguiendo la conocida progresión inicial de SM-2. En repasos posteriores aprobados, el intervalo actual se multiplica por un factor de facilidad derivado de la calidad. El factor parte del valor estándar 2.5, aumenta ligeramente con un recuerdo perfecto y disminuye cuando aprobar resultó más difícil, con un mínimo de 1.3. El número resultante se redondea al día entero más cercano. El método es simplificado porque calcula con el intervalo y la valoración suministrados, sin guardar por separado el número de repeticiones ni un factor de facilidad histórico. La respuesta incluye el intervalo calculado, la próxima fecha, la calidad enviada y un valor booleano que indica si el recuerdo se consideró satisfactorio.
Utilice el resultado de forma coherente en su estudio
Guarde el próximo intervalo devuelto junto a la tarjeta y programe en su cola la fecha de repaso obtenida. En la sesión siguiente, envíe de nuevo ese intervalo almacenado junto con la nueva calidad y la fecha de ese repaso. Así se crea un ciclo de retroalimentación compacto: el material difícil vuelve pronto y el que se recuerda con seguridad queda más espaciado. La calculadora valida fechas reales del calendario gregoriano, incluidos los años bisiestos, y suma días de calendario en vez de tratar las fechas como texto ambiguo. También rechaza valoraciones fraccionarias, ausentes o fuera del rango en lugar de adivinarlas, lo que ayuda a detectar interfaces e importaciones defectuosas. El algoritmo es determinista y no utiliza red, valores aleatorios, reloj actual, perfiles del estudiante ni inteligencia artificial. Por ello sirve para pruebas reproducibles y software educativo auditable. Considere el calendario una base práctica, no una promesa clínica: puede adaptar el plan a plazos, cansancio, dificultad o necesidades de accesibilidad sin perder una regla de cálculo clara.
Qué puede hacer con ella
Programe una baraja de estudio personal
Convierta cada autoevaluación en la próxima fecha prevista sin mantener un servicio complejo de programación.
Añada repetición a una aplicación educativa
Use un endpoint determinista para actualizar los intervalos cuando los estudiantes envíen sus valoraciones.
Audite un flujo de tarjetas
Recalcule calendarios guardados a partir de fechas, intervalos y notas de calidad para comprobar su coherencia.
Preguntas frecuentes
¿Qué significa la valoración de calidad?
Use un entero desde 0 para un fallo total hasta 5 para un recuerdo perfecto y sin esfuerzo. Las notas 3, 4 y 5 cuentan como recuerdo satisfactorio.
¿Qué ocurre cuando falla el recuerdo?
Una calidad inferior a 3 restablece el próximo intervalo a un día para que la tarjeta vuelva pronto.
¿Se trata del algoritmo SM-2 completo?
No. Emplea las reglas reconocibles de intervalos y factores de calidad de SM-2, pero no conserva un contador de repeticiones ni un factor de facilidad histórico.
¿Por qué debo indicar la fecha actual?
Una fecha explícita hace que el resultado sea determinista y evita suposiciones sobre el reloj del servidor o su zona horaria.
¿Puede la calidad quedar fuera de 0 a 5?
No. Los valores fuera de 0 a 5, fraccionarios o no numéricos producen un error de entrada no válida.
¿Cuánto cuesta una solicitud a la API?
Cada solicitud a la API cuesta $0.002. El cálculo también está disponible en la experiencia gratuita del navegador.
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/life/flashcard-spaced-repetition \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"current_date":"2026-08-05","current_interval":10,"quality":4}'const res = await fetch("https://api.kit.forhosting.com/life/flashcard-spaced-repetition", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"current_date": "2026-08-05",
"current_interval": 10,
"quality": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/flashcard-spaced-repetition",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"current_date": "2026-08-05",
"current_interval": 10,
"quality": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/flashcard-spaced-repetition", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"current_date":"2026-08-05","current_interval":10,"quality":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"current_date":"2026-08-05","current_interval":10,"quality":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/flashcard-spaced-repetition", 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
{
"current_date": "2026-08-05",
"current_interval": 10,
"quality": 4
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.flashcard_spaced_repetition",
"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. |