Palabras por párrafo
El recuento de palabras por párrafo muestra el ritmo y el equilibrio que no revela el total de un documento.
Ejecutar — gratis
Pegue un texto con párrafos separados por líneas en blanco y obtendrá el recuento de cada uno, el total y la media. Además, se señalan los párrafos muy por encima o por debajo de esa media, para que profesionales de edición, estudiantes y equipos de contenido localicen rápidamente las secciones que conviene revisar.
Prepare el texto con límites claros entre párrafos
Pegue texto sin formato y deje al menos una línea completamente vacía entre párrafos. Un salto de línea normal dentro de un párrafo no crea otro, de modo que el texto ajustado y los saltos deliberados permanecen juntos. Se aceptan espacios o tabulaciones en una línea separadora vacía. El espacio inicial y final se elimina antes del análisis, y varias líneas vacías seguidas siguen representando un único límite. El contador reconoce secuencias de letras y números como palabras y conserva unidos los apóstrofos y guiones internos habituales; por ello, expresiones compuestas cuentan como una palabra. La puntuación aislada no aumenta el recuento. Un párrafo formado únicamente por símbolos puede aparecer con cero palabras si está entre límites válidos. Si toda la entrada está vacía o solo contiene espacios, la solicitud falla porque no hay párrafos que analizar. Esta estructura explícita permite repetir el resultado entre borradores y evita interpretar cada línea visual como un párrafo distinto.
Interprete la media y los indicadores
La herramienta cuenta primero todos los párrafos, suma sus palabras para obtener el total del documento y divide esa cifra por el número de párrafos. La media mostrada se redondea a dos decimales, aunque la clasificación utiliza el valor sin redondear. Un párrafo se marca muy por encima de la media solo cuando supera el 150 por ciento de ella. Se marca muy por debajo únicamente cuando queda por debajo del 50 por ciento. Los valores situados exactamente en cualquiera de esos límites permanecen dentro de la media, lo que hace previsible la regla. Estos avisos son señales, no juicios de calidad. Los diálogos, títulos, transiciones, ejemplos y conclusiones pueden tener extensiones distintas de forma natural, y un párrafo muy breve puede ser intencionado. Utilice el resultado para decidir dónde mirar y lea después el pasaje en su contexto. Al añadir o quitar texto cambia la media, por lo que también pueden cambiar varios indicadores en la siguiente ejecución.
Convierta el informe en una revisión práctica
Comience por los párrafos señalados como muy superiores a la media y compruebe si contienen varias ideas que se entenderían mejor por separado. Busque un cambio de tema, un ejemplo largo o una transición que permita dividirlos de manera natural. Después revise los párrafos muy inferiores a la media. Uno corto puede aportar énfasis, pero también puede ser una afirmación sin apoyo, una frase aislada o un fragmento que debería unirse al párrafo vecino. Tras editar, analice de nuevo el texto completo en lugar de comparar recuentos aislados, pues la media describe el conjunto actual. La salida numerada mantiene el orden original y facilita localizar cada resultado sin repetir texto posiblemente sensible. Los equipos también pueden usar la API en controles editoriales, sistemas de publicación o herramientas educativas por $0.002 por solicitud. El algoritmo es determinista, no utiliza modelos ni servicios de red y ofrece el mismo informe si la entrada no cambia.
Qué puede hacer con ella
Equilibrar el borrador de un artículo
Encuentre secciones densas que convenga dividir y secciones demasiado breves que necesiten desarrollo.
Revisar trabajos de estudiantes
Ofrezca al alumnado un mapa objetivo de la extensión antes de comentar estructura, pruebas y ritmo.
Automatizar controles editoriales
Añada recuentos deterministas e indicadores de valores atípicos a un flujo de publicación o calidad.
Preguntas frecuentes
¿Qué separa un párrafo de otro?
Una o varias líneas en blanco separan los párrafos. Un único salto sin línea vacía permanece en el mismo párrafo.
¿Cuándo se marca un párrafo como muy superior a la media?
Su recuento debe superar el 150 por ciento de la media sin redondear del documento.
¿Cuándo se marca un párrafo como muy inferior a la media?
Su recuento debe ser menor que el 50 por ciento de la media sin redondear.
¿La puntuación cuenta como palabra?
No. Se cuentan secuencias de letras y números, conservando apóstrofos y guiones internos habituales.
¿Cuánto cuesta la API?
Cada solicitud de API cuesta $0.002. La versión del navegador puede ejecutarse localmente gratis.
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/write/word-count-by-paragraph \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"A short opening paragraph.\n\nThis second paragraph contains several more words so its length can be compared with the opening."}'const res = await fetch("https://api.kit.forhosting.com/write/word-count-by-paragraph", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "A short opening paragraph.\n\nThis second paragraph contains several more words so its length can be compared with the opening."
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/write/word-count-by-paragraph",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "A short opening paragraph.\n\nThis second paragraph contains several more words so its length can be compared with the opening."
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/write/word-count-by-paragraph", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"A short opening paragraph.\\n\\nThis second paragraph contains several more words so its length can be compared with the opening."}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"A short opening paragraph.\n\nThis second paragraph contains several more words so its length can be compared with the opening."}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/write/word-count-by-paragraph", 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": "A short opening paragraph.\n\nThis second paragraph contains several more words so its length can be compared with the opening."
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "write.word_count_by_paragraph",
"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_chars | 1000000 |
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. |