Poner marca de agua
Arrastrar un logo sobre una foto funciona para una sola publicación, pero una operación de contenido que publica cientos de imágenes al día necesita esa marca aplicada de la misma forma, en el mismo lugar, cada vez. Este endpoint estampa una marca de agua sobre cualquier imagen compatible mediante una sola llamada, convirtiendo la protección de marca en un paso automatizado en vez de una tarea de diseño repetitiva.
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.
Por qué la marca de agua sigue siendo necesaria
Los bancos de imágenes, las plataformas de cursos, los fotógrafos que protegen galerías de vista previa y los medios de noticias que acreditan imágenes originales dependen de la marca de agua para hacer evidente un uso no autorizado y mantener la atribución visible incluso después de que la imagen se copie fuera del sitio original. No es un adorno decorativo, es una constancia de origen ligera y persistente que viaja con el archivo a donde sea que termine.
Qué hace realmente el endpoint
Toma una imagen base y una marca de agua, típicamente un logo o un texto, y compone la marca sobre la imagen en la posición y opacidad que indique, así que el mismo elemento de marca queda consistente ya sea que la foto original sea un retrato vertical o un formato panorámico. Como la lógica de posicionamiento se aplica por programa en vez de calcularse a ojo cada vez, un lote de mil imágenes termina con la marca en exactamente la misma posición relativa en todas.
Cómo enviar la solicitud
Llame a POST /image/watermark con la imagen de origen y el recurso de marca de agua, y recibirá un task_id de inmediato porque el proceso corre de forma asíncrona como cualquier trabajo en la plataforma. La imagen terminada y marcada se entrega mediante un webhook firmado, la opción práctica para un flujo de publicación, o un enlace firmado que permanece válido por 24 horas para recogerla manualmente.
Una práctica más antigua que la imagen digital
La marca de agua toma su nombre de la técnica real de presionar un diseño tenue en el papel durante su fabricación, usada durante siglos en billetes y documentos oficiales para comprobar autenticidad mucho antes de que existiera el JPEG. La marca de agua digital heredó tanto el nombre como el propósito, una constancia que prueba origen y desalienta el uso indebido, solo que aplicada a píxeles en lugar de fibra de papel.
Pensado para publicación continua
Un trabajo de marca de agua que falla nunca se cobra; se ejecutan tres reintentos automáticos antes de mostrar un error claro, así que un fallo pasajero nunca se convierte en un cobro sin resultado. No hay nivel gratuito ni barrera de prueba que superar; saldo prepago ejecuta el trabajo de inmediato, y una respuesta 402 es la señal honesta cuando el acceso no está activo, lo que mantiene el endpoint rápido y predecible para cualquiera que maneje un flujo real de publicación.
Qué puede hacer con ella
Protección de bancos de imágenes
Un banco de imágenes marca con agua cada vista previa antes de que sea navegable públicamente, dejando los archivos en resolución completa reservados para clientes de pago.
Plataformas de cursos y tutoriales
Una plataforma educativa estampa su logo automáticamente sobre capturas de pantalla y diagramas enviados por instructores antes de publicarlos en una lección.
Atribución periodística y editorial
Una redacción marca con agua las fotografías originales con un crédito antes de distribuirlas a medios asociados.
Identidad de marca en contenido social
Una herramienta para creadores aplica una marca de agua de logo consistente a cada miniatura de video y gráfico social exportado para reforzar el reconocimiento de marca.
Preguntas frecuentes
¿Cómo funciona la api de marca de agua en imagen?
Envía una imagen de origen y un recurso de marca de agua a POST /image/watermark, indicando posición y opacidad, y la imagen marcada se devuelve de forma asíncrona por webhook o mediante un enlace firmado válido por 24 horas.
¿Existe un nivel gratuito para la api de marca de agua?
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 poner una marca de agua a una imagen?
Cada llamada cuesta $0.002 por solicitud más $0.005 por imagen, y el cobro solo ocurre cuando la marca de agua se aplica con éxito.
¿Puedo controlar dónde se coloca la marca de agua?
Sí, usted define la posición y la opacidad de la marca, así que puede quedar en una esquina, centrada, o donde lo exijan sus lineamientos de marca.
¿Qué pasa si falla una solicitud de marca de agua?
Nunca se cobra. El sistema reintenta automáticamente hasta tres veces antes de devolver un error claro.
¿Puedo poner marca de agua a un lote grande de imágenes a la vez?
Sí, envía cada imagen como su propia llamada asíncrona y se procesan de forma independiente, así que puede lanzar un catálogo completo sin esperar a que termine un trabajo para empezar el siguiente.
¿Qué tipo de marca de agua puedo usar, logo o texto?
Puede componer una marca basada en imagen, como un logo; conviene revisar la referencia vigente del endpoint para conocer los formatos exactos de recurso de marca de agua aceptados.
¿Cómo descargo el resultado con marca de agua?
Mediante un webhook firmado, recomendado para flujos automatizados, o un enlace firmado válido por 24 horas, después del cual el archivo se elimina y nunca se usa para entrenamiento.
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/image/watermark \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://ejemplo.com/imagen.jpg"}'const res = await fetch("https://api.kit.forhosting.com/image/watermark", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://ejemplo.com/imagen.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/watermark",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://ejemplo.com/imagen.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/watermark", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://ejemplo.com/imagen.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://ejemplo.com/imagen.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/watermark", 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
{
"image": "https://ejemplo.com/imagen.jpg"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.watermark",
"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_mb | 15 |
max_megapixels | 12 |
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. |