Ajustar nivel de lectura
Cada público lee a un nivel distinto, y un mismo documento rara vez le sirve a todos por igual. La API de Nivel de Lectura toma un texto de origen y un nivel MCER objetivo, y devuelve una reescritura que conserva el sentido pero ajusta el vocabulario, el largo de las oraciones y la estructura. Envíe un manual de políticas para el público general o un informe técnico para estudiantes de idioma, y vuelve calibrado, no simplemente simplificado a golpe de tijera.
Ejecútela online
Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.
Quién necesita esto de verdad
Editoriales que arman lecturas graduadas, equipos de recursos humanos que redactan material de inducción para una fuerza laboral multilingüe, y plataformas educativas que sirven la misma lección a estudiantes de distinta competencia chocan con el mismo muro: reescribir a mano para cada nivel no escala. Este endpoint existe para cubrir ese vacío, convirtiendo un texto maestro en una familia de versiones sin contratar a un redactor por cada peldaño de la escalera.
Qué mide en realidad la escala MCER
El Marco Común Europeo de Referencia para las Lenguas se creó a fines de los años noventa para darles a docentes e instituciones un vocabulario compartido sobre competencia, desde las frases de supervivencia de A1 hasta el manejo casi nativo de matices y registro de C2. Desde entonces se convirtió en la vara de medir por defecto mucho más allá de Europa, usada por tribunales examinadores, autoridades migratorias y aplicaciones de idiomas por igual. Apuntar a un nivel MCER no es entonces una apuesta estilística, sino una solicitud contra un estándar bien documentado y reconocido internacionalmente.
Cómo se construye la reescritura
Envíe el texto de origen y el nivel deseado a POST /text/reading-level, la tarea entra en cola de forma asíncrona y recibe un task_id de inmediato. El motor analiza la complejidad de las oraciones, la frecuencia léxica y la densidad de modismos del original, y luego reconstruye el pasaje en el nivel objetivo, manteniendo intactos los hechos, los nombres y la intención. El resultado llega por un webhook firmado en el momento en que termina, o mediante un enlace firmado que permanece válido durante 24 horas.
Dónde encaja en un flujo automatizado
Al ser un endpoint HTTP simple con entrega asíncrona, el motor de nivel de lectura se integra sin fricción en un gancho de publicación de un CMS, una herramienta de autoría de cursos o un trabajo por lotes que reclasifica de un tirón toda una biblioteca de contenido durante la noche. Los reintentos ante fallos transitorios son automáticos, y una tarea que finalmente falla nunca se cobra, así que un proceso nocturno programado puede confiar en recibir un resultado limpio o un error claro, sin ambigüedades intermedias.
Qué esperar del resultado
La reescritura no es un simple intercambio mecánico de palabras: reestructura cláusulas, ajusta conectores y recorta o amplía explicaciones para que el resultado se lea con naturalidad en el nivel pedido, no como un hablante nativo forzándose a sonar simple. Los textos largos o muy técnicos tardan proporcionalmente más en procesarse, y por eso mismo la API es asíncrona en lugar de mantener una conexión abierta esperando.
Qué puede hacer con ella
Bibliotecas de lectura graduada
Una aplicación de idiomas convierte una noticia en seis versiones, de A1 a C2, para que cada suscriptor lea la misma actualidad a su propio nivel.
Documentos de inducción multilingües
Una plataforma de recursos humanos reescribe su manual de cumplimiento a un inglés B1 para el personal que aprendió el idioma como segunda lengua, y reduce las dudas durante la capacitación.
Comunicación pública accesible
Un gobierno municipal simplifica los avisos de programas sociales a nivel A2/B1 para que los vecinos con estudios formales limitados puedan actuar sin necesitar traductor ni gestor de trámites.
Adaptación de libros de texto a escala
Una editorial procesa por lotes toda una colección de capítulos durante la noche para producir una edición complementaria de nivel más bajo, en vez de encargar una reescritura manual capítulo por capítulo.
Preguntas frecuentes
¿Qué niveles admite la API de nivel de lectura?
Los seis niveles del MCER: A1, A2, B1, B2, C1 y C2, indicados como parámetro de destino en la solicitud.
¿Existe una capa gratuita para probar la API?
No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.
¿Cómo se cobra la reescritura de nivel de lectura?
$0.003 por solicitud más $0.0135 por cada 1000 palabras procesadas, y solo se cobran las tareas que terminan con éxito.
¿Cambia el significado del texto?
No, el motor conserva los hechos, los nombres y la intención; ajusta el vocabulario, el largo de las oraciones y la estructura, no el contenido de fondo.
¿Cómo recibo el resultado?
Por un webhook firmado en el momento en que termina la tarea, o mediante un enlace de descarga firmado que permanece válido 24 horas; después de ese plazo los datos se eliminan.
¿Qué pasa si una tarea falla?
El sistema reintenta automáticamente hasta tres veces; si aun así falla, recibe un error claro y nunca se le cobra por esa tarea.
¿Puedo procesar un libro entero o un documento muy largo?
Sí, el endpoint es asíncrono justamente para que los textos largos se pongan en cola y se procesen sin mantener una conexión abierta; los textos más extensos simplemente tardan más en devolver el resultado.
¿Mi contenido se usa para entrenar modelos?
No, el texto enviado se usa solo para generar su resultado y se elimina al vencer el período de retención; nunca se usa para entrenamiento.
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, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/text/reading-level \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"…"}'const res = await fetch("https://api.kit.forhosting.com/text/reading-level", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/reading-level",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/reading-level", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/reading-level", 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
{
"text": "…"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.reading_level",
"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.
Límites
max_tokens | 20000 |
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. |
422 | task_failed | La tarea falló tras 3 reintentos. No se cobra. |