Errores como Servicio
Añade errores de escritura realistas basados en física a cualquier texto con una API REST simple. Integra imperfecciones humanas en tu pipeline de contenido, suite de pruebas o herramientas creativas.
Interfaz REST Simple
Envía texto y recibe errores realistas. JSON de entrada, JSON de salida. Dos endpoints, cero complejidad.
Errores según Dispositivo
Teclado, toque de teléfono, deslizamiento o tableta — cada dispositivo produce patrones de error distintos basados en física táctil real.
Semillas Determinísticas
Pasa una semilla para resultados reproducibles. Misma entrada + misma semilla = misma salida, siempre. Ideal para pipelines de prueba.
Control Total
Perfil, dispositivo, distribución, tasa de error, semilla y pesos individuales de error. Todos los parámetros del generador, disponibles vía API.
Rápido y Ligero
Procesamiento ligero con sobrecarga mínima. Sin dependencias pesadas, sin payloads inflados. Diseñado para uso en producción.
Sin Retención de Datos
Tu texto se procesa y se devuelve. Nada se almacena, registra ni se usa para entrenamiento. Sin estado por diseño.
Referencia de la API
Autenticación
Todas las solicitudes a la API requieren un token Bearer en la cabecera Authorization.
Authorization: Bearer YOUR_API_KEY
Generar Errores
POST https://api.likelytypo.com/api/generate
Envía texto y recibe errores de escritura realistas.
Cuerpo de la Solicitud
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
text | string | Sí | El texto al que añadir errores (1 – 10.000 caracteres) |
profile | string | No | subtle, typing-fast o angry-typing |
device | string | No | keyboard, phone-tap, phone-swipe o tablet |
layout | string | No | qwerty, azerty o qwertz |
errorRate | number | No | Probabilidad de error por carácter (0 – 1). Sobrescribe el valor por defecto del perfil |
errorCount | integer | No | Número exacto de errores a introducir. Sobrescribe errorRate |
seed | integer | No | Semilla para salida determinística. Misma entrada + semilla = mismo resultado |
preserveDigits | boolean | No | Mantener los dígitos sin cambios (por defecto: true) |
errorWeights | object | No | Sobrescritura parcial de pesos de tipos de error (ver abajo) |
Ejemplo de Solicitud
curl -X POST https://api.likelytypo.com/api/generate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "The quick brown fox jumps over the lazy dog",
"profile": "typing-fast",
"device": "phone-tap",
"layout": "qwerty",
"seed": 42
}'
Ejemplo de Respuesta
{
"original": "The quick brown fox jumps over the lazy dog",
"modified": "The quikc brown fox jumsp over teh lazy dog",
"errors": [
{
"original": "quick",
"modified": "quikc",
"errorType": "adjacentKey",
"position": 4,
"category": "character"
}
],
"deterministic": true,
"errorCount": 3
}
Listar Opciones
GET https://api.likelytypo.com/api/options
Devuelve los dispositivos, perfiles, distribuciones y claves de pesos de error disponibles.
Ejemplo de Respuesta
{
"devices": ["keyboard", "phone-tap", "phone-swipe", "tablet"],
"profiles": ["subtle", "typing-fast", "angry-typing"],
"layouts": ["qwerty", "azerty", "qwertz"],
"errorWeightKeys": [
"adjacentKey", "handConfusion", "doubledKey", "skippedKey",
"diacritics", "capitalization", "fingerStretch",
"repeatedWord", "wordOmission", "partialDuplication",
"multipleSpaces", "missingSpace", "irregularSpacing",
"missingPunctuation", "wrongPunctuation", "doubledPunctuation"
]
}
Respuestas de Error
| Estado | Significado |
|---|---|
400 | Cuerpo de solicitud inválido o perfil/dispositivo desconocido |
401 | Clave API ausente, inválida o revocada |
405 | Método HTTP incorrecto |
Solicitar una Clave API
Cuéntanos tu caso de uso y te enviaremos una clave API.