Estimador de extensión de tesis: palabras y páginas
Planificar una tesis resulta más sencillo cuando el total nace de objetivos concretos por capítulo.
Ejecutar — gratis
Introduzca las palabras previstas para cada sección, elija un interlineado estándar y añada las páginas preliminares, referencias o anexos. La calculadora suma las palabras, estima las páginas de cada capítulo y muestra la extensión completa. Las reglas utilizadas permanecen visibles para que usted pueda contrastarlas con las normas de formato de su institución.
Convierta el índice en un plan medible
Anote los capítulos que realmente prevé entregar, aunque sus títulos todavía sean provisionales. Asigne a cada uno un objetivo coherente con su función: la introducción presenta la pregunta, la revisión bibliográfica sintetiza trabajos anteriores y la metodología explica el enfoque. El desglose permite detectar pronto una revisión desproporcionada o una discusión demasiado breve. Use el resultado como punto de partida y modifique los objetivos tras recibir comentarios de la dirección o terminar una sección. Se admite un valor de cero para capítulos aún sin objetivo, pero los nombres deben ser únicos para que las comparaciones posteriores no resulten ambiguas.
Comprenda la conversión de palabras en páginas
La paginación depende de tipografía, márgenes, párrafos, títulos, citas, tablas y figuras; por eso ninguna conversión garantiza el diseño final. Esta herramienta emplea reglas de planificación explícitas: 250 palabras por página con interlineado doble, 350 con interlineado de 1,5 y 500 con interlineado sencillo. Cada capítulo se redondea por separado porque normalmente empieza en una página nueva. Compare siempre el supuesto indicado en el resultado con la fuente, los márgenes, las notas al pie y las demás exigencias de su universidad.
Incluya las páginas que no refleja el recuento
Una tesis contiene portada, declaraciones, resumen, agradecimientos, índice, listas de figuras, bibliografía y anexos. Esas partes pueden ocupar muchas páginas aunque aporten pocas palabras al recuento principal. Introduzca los preliminares como páginas y reserve otro valor para referencias y anexos; se añadirán después de estimar los capítulos. Consulte una tesis reciente aceptada en su programa para obtener una primera referencia y revise las reservas cuando crezcan las citas o se aprueben anexos. Las figuras y tablas dentro de capítulos no se modelan aparte, de modo que conviene tratar el total como una estimación prudente.
Qué puede hacer con ella
Preparar una propuesta de tesis
Convierta un índice y objetivos preliminares en una estimación clara para la reunión de propuesta.
Equilibrar los capítulos
Compare las extensiones previstas y localice secciones excesivas o demasiado comprimidas.
Seguir el progreso de escritura
Recalcule el plan cuando evolucionen los capítulos, las referencias y los anexos.
Preguntas frecuentes
¿Cuántas palabras se suponen por página?
Se usan 250 con interlineado doble, 350 con 1,5 y 500 con interlineado sencillo; el resultado muestra el valor elegido.
¿Por qué se redondean los capítulos por separado?
Porque cada capítulo suele comenzar en una página nueva y así cada estimación también resulta útil por sí sola.
¿Los preliminares y las referencias aumentan las palabras?
No. Sus reservas aumentan las páginas totales, pero no alteran la suma de palabras de los capítulos.
¿Coincidirá exactamente con la tesis maquetada?
No. Fuentes, márgenes, títulos, notas, figuras y normas locales cambian la paginación; consulte la guía institucional.
¿Cuánto cuesta el cálculo por API?
Cada solicitud por API cuesta $0.002. El mismo estimador determinista también funciona en el 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/edu/thesis-length-estimate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"chapters":[{"name":"Introduction","word_count":3000},{"name":"Literature Review","word_count":8000},{"name":"Methodology","word_count":5000},{"name":"Results","word_count":7000},{"name":"Discussion","word_count":6000},{"name":"Conclusion","word_count":2000}]}'const res = await fetch("https://api.kit.forhosting.com/edu/thesis-length-estimate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"chapters": [
{
"name": "Introduction",
"word_count": 3000
},
{
"name": "Literature Review",
"word_count": 8000
},
{
"name": "Methodology",
"word_count": 5000
},
{
"name": "Results",
"word_count": 7000
},
{
"name": "Discussion",
"word_count": 6000
},
{
"name": "Conclusion",
"word_count": 2000
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/thesis-length-estimate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"chapters": [
{
"name": "Introduction",
"word_count": 3000
},
{
"name": "Literature Review",
"word_count": 8000
},
{
"name": "Methodology",
"word_count": 5000
},
{
"name": "Results",
"word_count": 7000
},
{
"name": "Discussion",
"word_count": 6000
},
{
"name": "Conclusion",
"word_count": 2000
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/thesis-length-estimate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"chapters":[{"name":"Introduction","word_count":3000},{"name":"Literature Review","word_count":8000},{"name":"Methodology","word_count":5000},{"name":"Results","word_count":7000},{"name":"Discussion","word_count":6000},{"name":"Conclusion","word_count":2000}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"chapters":[{"name":"Introduction","word_count":3000},{"name":"Literature Review","word_count":8000},{"name":"Methodology","word_count":5000},{"name":"Results","word_count":7000},{"name":"Discussion","word_count":6000},{"name":"Conclusion","word_count":2000}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/thesis-length-estimate", 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
{
"chapters": [
{
"name": "Introduction",
"word_count": 3000
},
{
"name": "Literature Review",
"word_count": 8000
},
{
"name": "Methodology",
"word_count": 5000
},
{
"name": "Results",
"word_count": 7000
},
{
"name": "Discussion",
"word_count": 6000
},
{
"name": "Conclusion",
"word_count": 2000
}
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.thesis_length_estimate",
"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_items | 100 |
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. |