Redactar un email
La mayoría de los correos no necesitan creatividad, necesitan existir: una petición clara, el tono correcto, enviado antes de que pase el momento. Este endpoint toma una descripción breve de lo que quiere decir y a quién se lo dice, y devuelve un correo completo y listo para enviar, para que la página en blanco nunca sea el cuello de botella.
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.
Para el mensaje que sabe que tiene que enviar pero sigue posponiendo
Agentes de soporte, vendedores, equipos de operaciones y fundadores acumulan una cola de correos sencillos en el fondo pero tediosos de redactar bien cada vez: un seguimiento, una actualización de estado, un no educado. Este endpoint está construido justo para ese vacío entre saber qué decir y tenerlo redactado con claridad, tomando una intención breve más contexto del destinatario y devolviendo un correo completo en vez de un fragmento que aún hay que armar.
Qué entra y qué sale
Una solicitud incluye la intención, algo de contexto sobre el destinatario o la situación, y un tono deseado: formal, cercano, breve, el que corresponda. La respuesta es un correo completo con asunto y cuerpo, ajustado a ese tono. Como la generación es asíncrona, la llamada devuelve un task_id de inmediato, y el correo terminado llega por webhook firmado o mediante un enlace firmado válido por 24 horas, listo para pegar en un buzón de salida, un campo de CRM o un ticket de soporte.
Por qué el tono importa más que el número de palabras
El correo empresarial se asentó en un puñado de registros reconocibles mucho antes de que existiera la escritura con inteligencia artificial: una actualización interna breve no se lee para nada como un primer contacto con un prospecto, y el lector nota de inmediato cuando el registro no encaja con la relación. Un correo técnicamente correcto pero con el tono equivocado se siente fuera de lugar. Por eso el tono es aquí un dato de primera clase y no un ajuste que se aplica reescribiendo después.
Dónde encaja dentro de un flujo mayor
Normalmente este es el último paso después de que un disparador de CRM, la actualización de un ticket de soporte o el envío de un formulario decide que hay que mandar un correo; el endpoint se encarga de las palabras. El precio es una tarifa base pequeña más un cargo por correo, así que redactar un mensaje cuesta más o menos lo mismo cada vez sin importar el volumen, y una generación fallida nunca se cobra, porque la tarea reintenta automáticamente hasta tres veces antes de devolver un error claro en vez de un cargo.
El límite que no cruza
El resultado es un buen borrador construido a partir de lo que usted proporciona, no una fuente de datos nuevos, así que cualquier dato específico, un precio, una fecha, un compromiso, debe venir de su propia información y no ser inventado por el modelo. El contenido del mensaje se elimina al terminar el periodo de retención y nunca se usa para entrenar modelos, algo importante cuando el correo trata un trato aún no anunciado o una cuenta con una situación delicada.
Qué puede hacer con ella
Seguimiento de soporte a volumen
Un equipo de soporte dispara un correo por cada ticket resuelto, redactado a partir de las notas de resolución y ajustado a un tono cercano y tranquilizador.
Personalización de prospección
Un vendedor aporta el cargo de un prospecto y un dolor específico detectado en una llamada, y recibe un correo de primer contacto ajustado a ese contexto en lugar de una plantilla genérica.
Actualizaciones internas de estado
Un líder de proyecto convierte una lista de avances en viñetas en un correo de estado claro y breve que se envía a los interesados cada viernes.
Rechazo o aplazamiento educado
Un equipo de operaciones automatiza el correo incómodo pero frecuente de decir que no o todavía no, manteniendo un tono respetuoso sin que alguien lo redacte a mano cada vez.
Preguntas frecuentes
¿Cómo convierte la API de redactar emails una intención en un correo completo?
Describe lo que quiere decir, da contexto del destinatario y un tono, y el endpoint devuelve un correo completo con asunto y cuerpo ajustados a ese tono.
¿Existe una versión gratuita de la API para redactar emails?
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 por correo?
$0.003 por solicitud más $0.0135 por correo redactado, un costo pequeño y predecible sin importar qué tan largo termine siendo el mensaje.
¿Cómo recibo el correo terminado?
Por webhook firmado para integraciones en producción, o desde un enlace firmado válido durante 24 horas tras completarse la tarea.
¿Puedo controlar el tono del correo?
Sí, el tono es un parámetro de la solicitud, así que la misma intención puede redactarse formal, cercana o breve según la relación y el contexto.
¿Qué pasa si una generación falla?
Reintenta automáticamente hasta tres veces, y si sigue fallando recibe un error claro sin ningún cargo por ese intento.
¿La API inventa datos como precios o fechas?
Redacta a partir de lo que usted proporciona en vez de inventar datos específicos, así que cualquier precio, fecha o compromiso concreto debe venir de su propia información en la solicitud.
¿Se conserva el contenido del correo después de terminar la tarea?
No, el contenido se elimina al terminar el periodo de retención y nunca se usa para entrenar modelos, algo relevante en situaciones delicadas o aún no anunciadas.
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/email-compose \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/text/email-compose", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/email-compose",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/email-compose", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/email-compose", 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
{
"input": "…"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.email_compose",
"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. |