Extraer afirmaciones
Un artículo de opinión, un comunicado de prensa o la transcripción de un debate mezclan enfoque, opinión y un puñado de aseveraciones concretas que son verdaderas o falsas, y separar ese puñado de todo lo demás suele ser la parte más lenta de verificar información. Este endpoint de extracción de afirmaciones lee un argumento y devuelve solamente los enunciados verificables que contiene, despojados de la retórica que los envuelve.
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.
A qué llamamos una afirmación
No toda oración de un texto argumentativo es una afirmación en el sentido útil del término: 'esto es profundamente preocupante' es una opinión, mientras que 'el desempleo subió dos puntos el trimestre pasado' es una afirmación, porque asevera algo lo bastante específico como para, en principio, contrastarse con evidencia. Este endpoint está construido para separar ambas cosas, devolviendo enunciados que llevan una aseveración verificable y dejando de lado el enfoque, el tono y las preguntas retóricas que los rodean.
Quién dedica horas a esto hoy, a mano
Verificadores de datos que arman una lista de enunciados a comprobar a partir del discurso de un político, periodistas que revisan las fuentes de un comunicado antes de publicarlo, investigadores que codifican la estructura argumentativa de textos persuasivos, y equipos de comunicación que auditan sus propios borradores de declaraciones buscando algo que pueda ser cuestionado, todos hacen hoy esta tarea manualmente: leer línea por línea y extraer todo lo que suene a una aseveración de hecho.
Cómo lee la extracción un argumento
POST /text/extract-claims devuelve cada afirmación como un enunciado independiente, redactado cerca de la formulación original para que la versión extraída pueda atribuirse con precisión al texto de origen. Cuando una oración mezcla una afirmación con una opinión —'como era previsible, el informe muestra que los ingresos cayeron un 12 por ciento'—, la extracción aísla la parte verificable, la cifra de ingresos, sin presentar también la palabra de enfoque 'previsible' como si fuera un hecho.
Una breve nota sobre afirmación versus opinión
La distinción entre hecho y opinión ha sido una preocupación constante de la teoría de la argumentación y de la ética periodística desde mucho antes de que existieran herramientas automatizadas para ayudar con ello, justamente porque ambas se mezclan todo el tiempo en la escritura persuasiva, a veces de forma deliberada, para prestarle el peso de un hecho a un juicio subjetivo. Leer esa frontera de manera consistente, sobre grandes volúmenes de texto, es la tarea específica que cumple este endpoint.
Dónde encaja en un flujo de verificación o edición
La llamada es asíncrona: se envía un artículo o transcripción, se recibe de inmediato un task_id, y las afirmaciones extraídas llegan por su webhook firmado cuando termina el procesamiento, o mediante un enlace firmado disponible durante 24 horas. El precio es por solicitud más una tarifa por palabra, de modo que un comunicado corto cuesta una fracción de una transcripción extensa, y una tarea que falla tras sus reintentos nunca se cobra: solo se paga por las afirmaciones efectivamente entregadas.
Qué puede hacer con ella
Armar una lista de verificación a partir de un discurso
Extraer cada afirmación verificable de la transcripción de un discurso político para construir una lista priorizada de enunciados que un equipo de verificación debe comprobar primero.
Revisión de fuentes antes de publicar
Extraer las afirmaciones concretas de un comunicado de prensa antes de publicarlo para que un editor confirme que cada una cuenta con una fuente de respaldo registrada.
Análisis de estructura argumentativa
Separar afirmaciones de opinión y enfoque en un corpus de columnas de opinión como parte de un proyecto de investigación sobre técnicas de escritura persuasiva.
Revisión de riesgo en comunicaciones internas
Analizar el borrador de una declaración pública en busca de afirmaciones de hecho que puedan ser cuestionadas o citadas fuera de contexto antes de que salga a nombre de la empresa.
Preguntas frecuentes
¿Cómo funciona la API para extraer afirmaciones?
Se envía el texto a POST /text/extract-claims, se recibe de inmediato un task_id, y la lista de afirmaciones extraídas llega por webhook o mediante un enlace firmado cuando la tarea se completa.
¿En qué se diferencia una afirmación de una opinión en este contexto?
Una afirmación asevera algo lo bastante específico como para contrastarse con evidencia, como una cifra o un evento; una opinión expresa un juicio que no puede verificarse de la misma forma, y el endpoint está diseñado para separar ambas en lugar de extraer cada oración sin distinción.
¿Verifica si las afirmaciones que encuentra son verdaderas?
No, aísla y devuelve los enunciados verificables en sí mismos; comprobar si cada afirmación es cierta es un paso aparte que corresponde al verificador de datos o investigador que usa el resultado.
¿Existe un plan gratuito para probarlo?
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 extraer afirmaciones?
El precio es de 0.003 dólares por solicitud más 0.013 dólares por cada 1000 palabras del texto de entrada, y el cobro solo aplica a las tareas que se completan; una tarea fallida tras los reintentos nunca se cobra.
¿Se puede procesar un lote grande de artículos a la vez?
Sí, cada documento se envía como una tarea asíncrona independiente, así que se pueden procesar muchos artículos o transcripciones en paralelo y recoger los resultados conforme llega cada webhook.
¿Conserva la redacción original de cada afirmación?
Las afirmaciones extraídas se mantienen cercanas a la redacción original en lugar de reescribirse, lo cual permite atribuirlas con precisión al enunciado exacto del texto de origen.
¿Qué ocurre con oraciones que mezclan una afirmación con una opinión?
La extracción aísla la parte verificable de la oración y deja de lado el lenguaje de opinión o enfoque, en lugar de devolver toda la oración como si fuera enteramente verificable.
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-claims \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"…"}'const res = await fetch("https://api.kit.forhosting.com/text/extract-claims", {
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-claims",
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-claims", 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-claims", 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_claims",
"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. |