Extraer tareas
Las notas de reunión son donde las decisiones van a olvidarse. Este endpoint lee cualquier bloque de texto (una minuta, un hilo de chat, un correo desordenado) y extrae solo las partes que son compromisos reales: quién hace qué y para cuándo, si eso se dijo. Convierte prosa en una lista de tareas sin que nadie tenga que releer la transcripción.
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 distancia entre 'lo hablamos' y 'alguien es responsable'
La mayoría de las tareas mueren en silencio entre que termina una reunión y alguien actualiza el gestor de tareas, no por descuido sino porque revisar notas a mano en busca de compromisos es tedioso y fácil de posponer. text.extract_action_items cierra esa brecha tratando la extracción como una tarea en sí misma: le envía las notas crudas y separa los compromisos reales de la discusión general, las opiniones y el contexto que nunca estuvo pensado para volverse un pendiente.
Cómo lee la intención el endpoint
POST /text/extract-action-items busca las marcas lingüísticas de un compromiso (frases imperativas, 'voy a', '¿puede...?', nombres asignados, fechas, lenguaje de seguimiento) y devuelve una lista estructurada donde cada elemento incluye el texto de la tarea, un responsable si se mencionó y una fecha límite si se dijo. Si las notas nunca asignan un responsable, el campo queda vacío en lugar de adivinarse, porque una tarea mal asignada genera más confusión que una sin asignar.
Notas, transcripciones y el desorden de una conversación real
Las reuniones reales no hablan en viñetas. La gente repite cosas, se interrumpe y esconde un compromiso firme dentro de una digresión sobre algo completamente distinto. La tarea está diseñada para ese desorden: funciona sobre transcripciones crudas y notas poco estructuradas, no solo sobre listas prolijas ya formateadas, que es la condición real en la que están la mayoría de las notas cuando alguien finalmente se pone a procesarlas.
Cómo encaja en un flujo de proyecto
Como la respuesta es estructurada y consistente, los equipos suelen conectarla directamente a un gestor de tareas, un tablero de proyecto o un borrador de correo de seguimiento, cerrando el ciclo entre que termina una reunión y el trabajo realmente empieza. Al ejecutarse de forma asíncrona, una llamada puede transcribirse, procesarse y convertirse en tareas asignadas antes de que alguien haya salido de la sala.
Cómo se ve una buena extracción
El resultado no es un resumen de la reunión; deliberadamente ignora todo lo que no sea un compromiso accionable, incluyendo decisiones sin seguimiento y observaciones interesantes que no requerían que nadie hiciera algo. Esa contención es justamente el punto: una lista de tareas que incluye cada frase que alguien dijo no es una lista de tareas, es una transcripción con pasos extra.
Qué puede hacer con ella
Sincronización de tareas después de reunión
Envíe la transcripción cruda de la reunión y cargue los elementos devueltos directo en un tablero de proyecto, con responsables ya llenados donde se dijeron en voz alta.
Seguimiento de correos con clientes
Extraiga los compromisos escondidos en un hilo largo con un cliente para que el account manager nunca pierda la línea donde prometió una entrega para el viernes.
Notas de standup y retrospectivas
Convierta las notas diarias del standup en una lista viva de bloqueos y pendientes sin que nadie tenga que retipearlas a mano en un gestor.
Procesamiento de notas de voz
Combínelo con transcripción para convertir una nota de voz desordenada, grabada después de una llamada, en una lista corta y asignable de próximos pasos.
Preguntas frecuentes
¿Cómo distingue la API de extraer tareas de un texto una tarea real de un comentario general?
Busca lenguaje de compromiso (asignaciones, imperativos, fechas, frases de seguimiento) y solo devuelve elementos que se leen como algo que alguien realmente va a hacer.
¿Asigna responsables automáticamente si no se mencionan?
No. Si el texto original nunca dice quién es responsable de una tarea, el campo queda en blanco en lugar de adivinarse, para que nunca reciba una tarea mal atribuida a la persona equivocada.
¿Qué formatos de texto puedo enviarle?
Funciona con transcripciones crudas de reuniones, exportaciones de chat, correos o notas poco estructuradas; está pensada para manejar conversación real y desordenada, no listas ya limpias.
¿Hay una prueba gratuita para este endpoint?
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 procesar una transcripción larga?
$0.003 por solicitud más $0.0135 por cada 1,000 palabras, así que una transcripción de una reunión de 30 minutos suele costar apenas unos centavos. Las tareas fallidas nunca se cobran; el sistema reintenta hasta tres veces antes.
¿Puedo extraer tareas en lote de muchas reuniones?
Sí, encole solicitudes asíncronas para tantas transcripciones como tenga y recoja los resultados estructurados por webhook conforme terminan.
¿Cómo llegan los resultados?
Por webhook firmado, ideal para flujos automatizados, o por un enlace firmado válido durante 24 horas si prefieres consultarlos manualmente.
¿Detecta fechas límite mencionadas de forma indirecta, como 'antes de lanzar la próxima semana'?
Reconoce fechas y referencias temporales mencionadas en el texto, incluyendo las relativas, pero no va a inventar una fecha límite que nunca se dijo realmente.
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/extract-action-items \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"…"}'const res = await fetch("https://api.kit.forhosting.com/text/extract-action-items", {
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/extract-action-items",
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/extract-action-items", 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/extract-action-items", 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.extract_action_items",
"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. |