Añade una marca de agua a video o imágenes: la API para overlays de logo y texto.
Superpón un logo o texto sobre cualquier video o imagen con un solo POST. Define posición, opacidad y escala directamente en el request; recibes de vuelta un archivo alojado en fotovid, listo para servir.
curl -X POST https://api.fotovid.co/v1/video/watermark \
-H "Authorization: Bearer p6_YOUR_KEY_ID:YOUR_SECRET" \
-H "Content-Type: application/json" \
-d '{
"source_url": "https://cdn.yoursite.com/clip.mp4",
"params": {
"type": "image",
"watermark_image_url": "https://cdn.yoursite.com/logo.png",
"position": "bottom-right",
"opacity": 0.7,
"scale": 0.2
}
}'Por qué añadir marca de agua en serverless es un dolor de cabeza
Añadir una marca de agua parece trivial hasta que intentas ejecutarlo dentro de una función serverless. El filtro overlay de ffmpeg necesita el binario completo más tu logo alojado en un disco con permisos de escritura, y luego decodifica y vuelve a codificar el archivo entero, lo que suele superar los límites de ejecución y memoria de Lambda y Vercel en cuanto el clip deja de ser corto. Terminas gestionando bundles de layers, almacenamiento temporal y cold starts solo para estampar un logo en una esquina.
- El binario de ffmpeg y sus librerías inflan tu deploy muy por encima de los límites de tamaño típicos en serverless
- Recodificar un video completo desborda los timeouts y la memoria de la función
- Superponer una imagen implica descargar, alojar temporalmente y limpiar archivos en un disco efímero
- Conseguir que posición, opacidad y escala queden exactas en todas las resoluciones es un trabajo delicado de filter-graph
Parámetros del request
POST /v1/video/watermark & /v1/image/watermark
| Field | Type | Default | Description |
|---|---|---|---|
| source_url* | string (URL) | — | URL HTTPS del video o imagen de origen |
| params.type | "image" | "text" | "combo" | "text" | Tipo de marca de agua |
| params.watermark_image_url | string (URL) | — | URL de la imagen del logo (obligatoria para image/combo) |
| params.text | string | — | Texto del overlay (obligatorio para text/combo) |
| params.position | string | "bottom-right" | top-left · top-right · bottom-left · bottom-right · center |
| params.opacity | number | 1 | 0–1 |
| params.scale | number | 0.15 | Ancho de la marca de agua relativo a la fuente (0–1) |
Tu primera llamada en tres pasos
- 1Consigue una API key gratis
Regístrate y crea una key. Autenticas cada request con un header Authorization: Bearer p6_<key_id>:<secret>. No necesitas tarjeta para empezar: el uso se descuenta de créditos ($1 = 100 créditos, y una marca de agua cuesta 1 crédito).
- 2Envía tu fuente y los parámetros de marca de agua
Llama a POST /v1/video/watermark o POST /v1/image/watermark con el envelope estándar: un source_url que apunte a tu entrada (una URL https), más un objeto params. Define type como image, text o combo, y luego pasa watermark_image_url y/o text, junto con position (top-left, top-right, bottom-left, bottom-right o center), opacity (0–1), scale (0–1, por defecto 0.15) y padding. Fotovid descarga la entrada, superpone la marca y responde de forma síncrona.
- 3Guarda la URL del resultado
La respuesta es JSON plano con un id, type y una url alojada en fotovid para el archivo con la marca de agua (las respuestas de video incluyen también duration). Descárgala y guarda tu propia copia: trata la URL alojada como una entrega temporal, no como almacenamiento permanente, ya que expira.
Preguntas frecuentes
Lánzalo con una sola llamada a la API
Consigue una key gratis y haz tu primera llamada en menos de cinco minutos.
