Texto a tabla
Cierta información se escribe como párrafo pero en realidad quiere ser una tabla: especificaciones apiladas en una frase, opciones comparadas en prosa, una lista de nombres con atributos colgando después de cada uno. Este endpoint detecta esa estructura escondida dentro de la prosa y la reformatea como una tabla Markdown correcta, con columnas alineadas y todo.
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.
La señal delatora de que su párrafo debería ser una tabla
Casi siempre lo siente antes de poder nombrarlo: un párrafo que enumera tres productos y, para cada uno, menciona un precio y un tamaño, o una frase que recorre cinco configuraciones y lo que hace cada una. Eso son datos tabulares disfrazados de párrafo, y reformatearlos a mano significa retipear cada valor en una grilla, exactamente el tipo de trabajo mecánico que vale la pena automatizar. text.to_table lee la prosa, reconoce los atributos que se repiten y los organiza en columnas y filas.
Qué pasa entre la entrada y la salida
POST /text/to-table analiza el texto en busca de entidades repetidas con atributos compartidos (el mismo tipo de cosa mencionada varias veces, cada mención con detalles comparables) e infiere encabezados de columna razonables a partir de lo que realmente está presente en el texto fuente. El resultado vuelve como sintaxis de tabla Markdown limpia, con barras verticales y alineación incluidas, así que entra directo en una página de wiki, un README de GitHub o cualquier visor de Markdown sin reformatear nada.
Las tablas Markdown como tejido conector de la documentación técnica
Markdown se volvió el lenguaje por defecto de la documentación técnica precisamente porque su sintaxis de tablas es texto plano que cualquier herramienta puede renderizar, comparar o versionar sin que un formato binario estorbe. Esa misma sencillez es la razón por la que escribirlas a mano es tedioso: alinear barras y guiones en muchas filas es un trabajo minucioso que a nadie le gusta repetir. El endpoint produce tablas sintácticamente correctas siempre, así que el tedio desaparece sin perder la portabilidad del formato.
Cuando la prosa se resiste de verdad a volverse tabla
No todo párrafo debería convertirse en tabla, y el endpoint lo refleja con honestidad: un texto sin estructura repetida, o comparaciones que no comparten un conjunto consistente de atributos, no va a producir una tabla limpia porque forzarla tergiversaría la fuente. La tarea está pensada para prosa que ya trae una grilla escondida adentro, no para convertir cualquier narrativa en filas por convertirla.
Cómo encaja en un flujo de documentación
Los equipos que mantienen páginas de comparación, changelogs o hojas de especificaciones suelen guardar las notas fuente como prosa porque así llega la información primero, y luego necesitan una tabla para publicar. Ejecutar esto de forma asíncrona como parte de la generación de documentación significa que la tabla se genera en cuanto se actualizan las notas fuente, evitando que la tabla publicada y las notas originales se desalineen.
Qué puede hacer con ella
Páginas de comparación a partir de notas de proveedor
Convierte prosa que compara varias herramientas o planes en una tabla Markdown lado a lado para una página de documentación o de precios.
Entradas de changelog con detalle mixto
Transforma un párrafo que describe varias correcciones, cada una con su número de versión y componente, en una tabla de notas de versión fácil de escanear.
Hojas de especificaciones redactadas primero en prosa
Reformatea una descripción de producto que enumera dimensiones, peso y material de varias variantes en una tabla de especificaciones limpia para un README o wiki.
Resúmenes de reunión con avances por persona
Convierte un párrafo de estado que menciona a varios integrantes del equipo y sus tareas actuales en una tabla para el wiki del proyecto.
Preguntas frecuentes
¿Cómo decide la API de texto a tabla los encabezados de columna?
Infiere los encabezados a partir de los atributos que realmente se repiten en el texto (el tipo de cosa mencionada y los detalles asociados a cada mención) en lugar de usar una plantilla fija.
¿Qué formato de tabla produce?
Sintaxis de tabla Markdown estándar, con barras verticales y fila de alineación, lista para pegar directamente en cualquier visor de Markdown, wiki o README.
¿Va a forzar una tabla aunque el texto no sea realmente tabular?
No. Si el texto fuente no tiene una estructura repetida y comparable, el endpoint no va a inventar columnas solo para producir una tabla, ya que eso tergiversaría la fuente.
¿Hay una prueba gratuita para convertir texto en tabla?
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.
¿Cuánto cuesta cada conversión?
$0.003 por solicitud más $0.0135 por cada 1,000 palabras del texto fuente. Las conversiones fallidas nunca se cobran; el sistema reintenta automáticamente hasta tres veces antes.
¿Puedo convertir muchos documentos en tablas de forma masiva?
Sí, encole tantas solicitudes asíncronas como necesite y recoja cada tabla resultante por webhook conforme se completa.
¿Cómo recupero la tabla terminada?
Por webhook firmado, recomendado para flujos automatizados, o por un enlace firmado válido durante 24 horas si prefiere obtenerlo manualmente.
¿Puede entregar CSV en lugar de Markdown?
Este endpoint está enfocado en salida de tabla Markdown para documentación; para datos estructurados estilo hoja de cálculo, un endpoint de JSON o datos estructurados es la mejor opción.
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/to-table \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"…"}'const res = await fetch("https://api.kit.forhosting.com/text/to-table", {
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/to-table",
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/to-table", 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/to-table", 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.to_table",
"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. |