Aggiungi una filigrana a video o immagini — l'API per sovrapporre logo e testo.
Sovrapponi un logo o un testo a qualsiasi video o immagine con un singolo POST. Imposta posizione, opacità e scala direttamente nella richiesta; in cambio ricevi un file ospitato da Fotovid, pronto per essere servito.
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
}
}'Perché aggiungere una filigrana è un problema in ambiente serverless
Aggiungere una filigrana sembra banale finché non provi a farlo dentro una funzione serverless. Il filtro overlay di ffmpeg richiede il binario completo più il tuo logo caricato su un disco scrivibile, poi decodifica e ricodifica l'intero file — il che supera regolarmente i limiti di esecuzione e memoria di Lambda e Vercel per qualsiasi cosa più lunga di una clip breve. Finisci per gestire bundle di layer, storage temporaneo e cold start solo per applicare un logo in un angolo.
- Il binario di ffmpeg e le sue librerie fanno gonfiare il deploy ben oltre i limiti di dimensione tipici del serverless
- Ricodificare un video a piena lunghezza satura i timeout e la memoria della funzione
- Sovrapporre un'immagine significa scaricare, caricare temporaneamente e ripulire i file su un disco effimero
- Ottenere posizione, opacità e scala perfette al pixel su tutte le risoluzioni è un lavoro delicato di filter-graph
Parametri della richiesta
POST /v1/video/watermark & /v1/image/watermark
| Field | Type | Default | Description |
|---|---|---|---|
| source_url* | string (URL) | — | URL HTTPS del video o dell'immagine di origine |
| params.type | "image" | "text" | "combo" | "text" | Tipo di filigrana |
| params.watermark_image_url | string (URL) | — | URL dell'immagine del logo (obbligatorio per image/combo) |
| params.text | string | — | Testo dell'overlay (obbligatorio per 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 | Larghezza della filigrana relativa all'origine (0–1) |
La tua prima chiamata in tre passaggi
- 1Ottieni una API key gratuita
Registrati e crea una key. Autentichi ogni richiesta con un header Authorization: Bearer p6_<key_id>:<secret>. Nessuna carta richiesta per iniziare — l'utilizzo si basa su credits ($1 = 100 credits, e una filigrana costa 1 credit).
- 2Invia in POST la sorgente e i parametri della filigrana
Chiama POST /v1/video/watermark o POST /v1/image/watermark con l'envelope standard: una source_url che punta al tuo input (una URL https), più un oggetto params. Imposta type su image, text o combo, poi passa watermark_image_url e/o text, insieme a position (top-left, top-right, bottom-left, bottom-right o center), opacity (0–1), scale (0–1, default 0.15) e padding. Fotovid scarica l'input, applica la filigrana e risponde in modo sincrono.
- 3Salva l'URL del risultato restituito
La risposta è un JSON piatto con id, type e una url ospitata da Fotovid per il file con la filigrana (le risposte video includono anche duration). Scaricalo e conserva una tua copia — considera l'URL ospitato come una consegna temporanea, non come storage permanente, perché scade.
Domande frequenti
Rilascialo con una sola chiamata API
Prendi una chiave gratuita e fai la tua prima chiamata in meno di cinque minuti.
