Preguntas frecuentes
Respuestas a preguntas comunes sobre la API de ReWords.AI: qué puede leer el OCR, fuentes y textos más largos, eliminar texto, A frente a B, reintentos, facturación, uso desde el front-end, SDK y cómo obtener ayuda.
OCR
¿Qué texto puede leer el OCR?
Texto impreso en chino, inglés, japonés, coreano y la mayoría de los idiomas europeos. Pon en language el idioma principal
del texto: en, zh, ja, ko, fr, de, es, pt, it o ru. La región se ignora, así que pt-BR cuenta como pt
y zh-TW como zh. El idioma no se detecta automáticamente: sin language, o con cualquier otro valor, el OCR lee chino e inglés
(normalmente también japonés), y el texto coreano, cirílico o europeo con acentos sale mal. Envía language siempre que conozcas el idioma, también para japonés. La escritura a mano, las letras muy estilizadas y el texto curvo o vertical pueden no
detectarse o dividirse en trozos: para esos casos, envía tu propia box.
¿Qué es un elemento de texts?
Una línea de texto, no una palabra ni un párrafo. Un título en dos líneas vuelve como dos elementos. Para cambiarlo, envía una
sustitución por línea, o una sola sustitución cuya box cubra ambas líneas y cuyo to sea todo el título nuevo, con \n
donde deba empezar la nueva línea.
¿Por qué el texto se ve un poco distinto al de la imagen?
Los caracteres de ancho completo se devuelven en ancho normal: 50%OFF pasa a 50%OFF, y un espacio de ancho completo pasa
a ser un espacio normal. Algunos idiomas vuelven en minúsculas (por ejemplo, francés, alemán y ruso), y pueden faltar los
espacios entre palabras: el coreano 여름 세일 puede volver como 여름세일. Usa el texto devuelto en from; la coincidencia
tiene en cuenta ambas cosas (ver más abajo).
El OCR no encontró mi texto o lo leyó mal. ¿Y ahora?
Envía una box que midas tú mismo (consulta Imágenes). Cuando una sustitución tiene box,
se sustituye el texto que hay dentro de la caja y from es solo una pista: no tiene que coincidir exactamente.
¿Tengo que llamar al OCR?
No. Envía from y to sin box y POST /edits encuentra el texto por ti, gratis. Esa llamada lee primero el
texto, lo que suele tardar 5–20 segundos (lo mismo que POST /ocr), así que deja al menos 90 segundos para la solicitud HTTP. El OCR no ocupa ninguna de tus 10 plazas de trabajo.
Llama primero a POST /ocr solo cuando quieras mostrar el texto al usuario, dejarle elegir o comprobar las cajas antes de pagar
una edición.
¿Y si from es solo parte de una línea?
Solo cambia esa parte. from: "OFF", to: "ON" en la línea 50% OFF da 50% ON. En la respuesta, replacements muestra la
línea completa: from: "50% OFF", to: "50% ON". Estos valores salen de la lectura OCR de la línea, así que pueden venir en
minúsculas o sin espacios (ver arriba). El texto nuevo se dibuja con el estilo de la línea original: comprueba mayúsculas
y espacios en la imagen, no en este texto.
La coincidencia ignora mayúsculas y los espacios de alrededor. Si algunas líneas son exactamente iguales a from, solo cambian
esas líneas y las que solo lo contienen se dejan como están. Si no, cambia cada línea que lo contiene, en cada aparición dentro
de la línea: from: "e" convierte Summer Collection en Summ3r Coll3ction si to es 3. match: "first" limita el cambio
a una línea, no a una aparición: envía una box y la línea nueva completa cuando necesites un control exacto. Si nada
coincide, se hace un intento más ignorando todos los espacios, así que 여름 세일 encuentra igualmente la línea 여름세일.
¿Se cobra el OCR cuando la imagen no tiene texto?
Sí. La llamada devuelve "texts": [] y cuenta como una llamada de OCR. La misma imagen en 24 horas no se vuelve a cobrar.
¿Y el árabe, el hebreo, el tailandés o el hindi?
No son compatibles. El OCR puede devolver líneas en esas escrituras, pero ni la lectura ni el resultado editado están garantizados. Un trabajo que falla con ellas no se cobra.
¿Puedo enviar un PDF o varias páginas a la vez?
No. Cada solicitud admite una imagen JPEG, PNG o WebP. Convierte en imagen cada página que quieras cambiar y envía una solicitud por página: pueden ejecutarse a la vez, hasta tus 10 plazas de trabajo.
Edición
¿Puedo elegir la fuente, el color o el tamaño?
No. El texto nuevo copia la fuente, el color, el tamaño y los efectos del texto que sustituye. No hay parámetros de estilo.
¿Y si el texto nuevo es más largo o más corto?
Se ajusta al espacio alrededor del texto original sin tapar el texto vecino. Un texto muy largo puede salir más pequeño. Mantenlo cerca de la longitud original para lograr el resultado más natural.
¿Puedo eliminar texto en lugar de sustituirlo?
Sí: para eliminar texto, pon to como cadena vacía. El fondo que hay detrás se rellena.
¿Qué longitud pueden tener from y to?
Hasta 200 caracteres Unicode cada uno (un emoji cuenta como uno). \n en to empieza una nueva línea. from solo puede
estar vacío cuando envías una box.
¿Cuántos cambios puede hacer una edición?
Hasta 20 sustituciones por imagen, todas en un trabajo y cobradas como una edición. Cuando las mismas palabras aparecen varias
veces, match: "all" (el valor predeterminado) las cambia todas y match: "first" cambia solo la primera, de arriba abajo y de
izquierda a derecha; envía cajas para elegir con exactitud. No envíes dos sustituciones para el mismo texto ni cajas que se
superpongan: solo se aplicará una, y no está definido cuál.
¿Cómo relaciono replacements de la respuesta con mi solicitud?
La respuesta tiene un elemento por cada línea cambiada, en el orden de tu solicitud. Una sustitución sin box que coincidió con
tres líneas se convierte en tres elementos, de arriba abajo. Si necesitas una correspondencia uno a uno, envía una box para
cada sustitución o usa match: "first".
¿Puede cambiar cosas que no son texto?
No. Solo cambia el texto que indiques. Los logotipos, las caras y otros objetos no se editan a propósito.
¿Cuánto tarda un trabajo?
Normalmente 1–2 minutos: 9 de cada 10 trabajos terminan en 3 minutos y casi todos en 5. estimated_seconds en la respuesta es nuestra estimación de cuándo terminará; un trabajo puede
durar hasta 10 minutos después de salir de la cola y, con la cola llena de 30, el último puede tardar unos 30 minutos. Todo
trabajo queda en succeeded o failed en los 60 minutos siguientes a su envío; si no es así, deja de sondear y escribe a
[email protected] con su id. Consulta Cola y límites.
Resultados
¿Uso A o B?
B mantiene cada píxel fuera del texto exactamente como en tu subida: la opción segura para fotos de producto, documentos y todo lo que no deba cambiar en el resto de la imagen. A redibuja toda la imagen, lo que a menudo integra el texto nuevo de forma más natural, pero puede cambiar pequeños detalles en otras partes. Te recomendamos mostrar a tu usuario todos los resultados correctos —A y B, más C (4K) cuando esté— y dejar que elija.
¿Qué es C y por qué se omitió?
C es la edición de IA generada en 4K, de hasta 3840 px en el lado mayor. Se omite para imágenes más anchas o más altas que 3:1
(aspect_ratio_unsupported) y puede fallar por sí sola. C nunca cambia lo que se te cobra.
¿Los resultados tienen marca de agua? ¿Cuánto tiempo se guardan?
Sin marca de agua. Los enlaces de resultado son archivos JPEG públicos en img.rewords.ai, guardados al menos 7 días:
descarga lo que necesites. Los enlaces de un trabajo no cambian entre lecturas. GET /edits/{id} funciona mientras se
conserven los enlaces. Las imágenes subidas detrás de un image_id se guardan 24 horas.
¿Puedo volver a editar un resultado?
Sí. Pasa la url del resultado como image_url en una edición nueva: el resultado B es el mejor punto de partida. Es un
trabajo nuevo y se cobra como cualquier otro. Hazlo cuando cambies el texto por pasos o cuando el primer resultado necesite un
segundo cambio.
¿Puedo cancelar un trabajo?
No, no hay llamada para cancelar. Un trabajo solo cuesta una edición cuando llega a succeeded; si ya no lo necesitas, ignora
el resultado. Un trabajo que nunca se envió no cuesta nada, así que comprueba tu texto con POST /ocr antes de enviarlo.
Un trabajo falló. ¿Cómo lo reintento?
Los trabajos fallidos son gratis. Vuelve a enviarlo con una Idempotency-Key nueva: la anterior devuelve el mismo trabajo
fallido. ai_generation_failed y upstream_failed suelen salir bien al reintentar; content_blocked no.
Facturación
¿Cuándo se me cobra exactamente?
Una edición por trabajo, solo cuando A o B sale bien, aunque el otro haya fallado. Al enviar, se reserva una edición para que
los trabajos que ya están en cola siempre puedan terminar; se libera si el trabajo falla. balance y edits_remaining ya
tienen descontadas las ediciones reservadas. Consulta Precios y facturación.
¿Hay una clave de prueba gratuita o un entorno de pruebas?
No hay claves de prueba gratuitas. Edita gratis una imagen en rewords.ai para ver la calidad y luego empieza con el paquete Lite. Los trabajos fallidos y las solicitudes rechazadas nunca se cobran.
Integración
¿Puedo llamar a la API desde un navegador o una app móvil?
No. Llámala desde tu servidor. La clave de API quedaría visible en el código del front-end o en el paquete de la app, y cualquiera que la encuentre podría gastar tu saldo. La API no envía cabeceras CORS, así que los navegadores bloquean las llamadas directas.
¿Sondeo o webhooks?
Cualquiera de los dos. Los webhooks necesitan un endpoint https público y ahorran solicitudes; el sondeo no necesita nada.
Si tu endpoint puede caerse, sondea también cada pocos minutos, hasta que sea definitivo, cualquier trabajo del que no sepas
nada 15 minutos después de enviarlo. Un webhook que llegue más tarde no hace daño: omites el id que ya procesaste.
Consulta Webhooks.
¿Cómo vinculo un trabajo a mi propio pedido o usuario?
Guarda el id de la respuesta 202 junto a tu registro. Para los webhooks también puedes añadir tu propia referencia a la
cadena de consulta de callback_url, que se conserva: https://example.com/hooks/rewords?order=1234.
Mi solicitud agotó el tiempo de espera. ¿Se creó un trabajo?
Quizá. Reintenta con la misma Idempotency-Key: si se creó, recibes el trabajo y no se cobra dos veces. Consulta Errores.
¿La API cambiará sin avisar?
La versión está en la ruta: /v1. Dentro de /v1 solo añadimos cosas —nuevos campos opcionales, nuevos valores en reason o
error.code—, así que ignora los campos que no conozcas y trata un código desconocido como upstream_failed. Todo lo que
rompería un cliente va a una versión nueva, anunciada por correo antes de retirar la anterior. Las preguntas van a
[email protected].
¿Hay un SDK?
Todavía no. Descarga openapi.yaml y genera un cliente con cualquier generador de OpenAPI 3.1, o copia los clientes completos en Node.js y Python de Ejemplos.
Se ha filtrado mi clave de API. ¿Qué hago?
Revócala en la página de claves de API —deja de funcionar en menos de un minuto— y crea
una nueva. Todas las claves comparten tu saldo, así que haz esto primero y revisa GET /account después. Si también se filtró
el secreto de webhook, restablécelo en la misma página. Consulta Autenticación.
¿En qué zona horaria están created_at y completed_at?
UTC, en formato ISO 8601 con el sufijo Z: 2026-11-04T10:00:00Z.
Obtener ayuda
Escribe a [email protected] o usa la página de contacto para WhatsApp y TikTok. El correo es la vía más rápida para preguntas sobre la API.
Incluye lo que nos permita encontrar la solicitud:
- el
iddel trabajo (edit_...) o elimage_id, y la hora de la solicitud en UTC; - los primeros 12 caracteres de la clave que usaste (
rw_live_abcd...), nunca la clave completa; - el
error.codey elmessageque recibiste, o el resultado que parece incorrecto; - la imagen, si puedes compartirla, y las
replacementsque enviaste.
Una pregunta de facturación también necesita el correo de tu cuenta de rewords.ai, para que podamos encontrar la compra.