Come scrivere testo su una foto
Con questo strumento del KIT aggiungi del testo sopra un'immagine: una didascalia, una citazione, il prezzo di un prodotto o un'etichetta. Decidi font, colore, dimensione e posizione, con un contorno o uno sfondo che lo rendono leggibile su qualsiasi foto. Ricevi l'immagine finita, pronta da pubblicare sui social o da stampare.
Esegui online
Esegui questo sui nostri server con il tuo account. Gli strumenti gratuiti girano nel tuo browser; questo viene addebitato sul tuo saldo KIT al prezzo indicato sopra.
Testo leggibile su qualunque sfondo
Il problema di scrivere su una foto è che il testo sparisce sulle zone chiare o troppo colorate. Qui aggiungi un contorno o una fascia di sfondo dietro le lettere, così restano leggibili sia sul cielo bianco sia su un dettaglio scuro. Scegli un colore che stacca dall'immagine e la scritta si legge senza sforzo, anche in miniatura.
Dove va la scritta
Posizioni il testo dove serve: in basso per una didascalia discreta, al centro per una citazione d'impatto, in un angolo per un prezzo o un'etichetta. Regoli dimensione e allineamento fino a che l'equilibrio con il soggetto ti convince. La foto resta la protagonista; il testo la accompagna senza coprire ciò che conta.
Accenti e caratteri italiani
Le lettere accentate italiane — è, à, ò, é — vengono rese correttamente, quindi puoi scrivere "È in offerta" o "città" senza vedere caratteri strani al posto degli accenti. Puoi usare maiuscole e minuscole, numeri e simboli come l'euro, utile quando aggiungi un prezzo di esempio come 19,90 € sopra una foto prodotto.
Un modello, tante immagini
Quando devi produrre molte immagini uguali nella forma ma diverse nel testo — pensa a una serie di schede con prezzi diversi — imposti una volta stile e posizione e cambi solo la scritta. Dal sito le fai una alla volta; via API generi l'intera serie in automatico, mantenendo lo stesso aspetto per tutte.
Casi d'uso
Un post per i social
Prepari un'immagine con una citazione per la pagina Instagram dell'attività: scegli un font pulito, la posizioni al centro con una fascia scura dietro e la scritta risalta sopra la foto di sfondo.
Prezzi e offerte sulle foto prodotto
Un negozio online scrive "-30%" in un angolo delle foto durante i saldi, così l'offerta si vede già nell'anteprima del marketplace, senza aprire la scheda.
Un'etichetta su un annuncio
Sulla foto di un'auto usata metti la scritta "VENDUTA" ben visibile: chi scorre l'annuncio capisce al volo lo stato senza leggere il testo.
Domande frequenti
Che differenza c'è tra questo e la filigrana?
Qui il testo è pieno, ben leggibile e serve a comunicare qualcosa: un prezzo, una didascalia, un'etichetta. La filigrana invece è semitrasparente e serve a proteggere la foto dalle copie. Sono due strumenti con obiettivi diversi.
Gli accenti e la È maiuscola vengono resi bene?
Sì. Le lettere accentate italiane, compresa la È maiuscola, e i simboli come l'euro vengono scritti correttamente, senza caratteri sostitutivi o quadratini al loro posto.
Il testo resta leggibile su sfondi chiari?
Sì, se aggiungi un contorno o una fascia di sfondo dietro le lettere. Sono le opzioni pensate proprio per far staccare il testo dallo sfondo, anche quando la foto è molto luminosa o molto colorata.
Quanto costa?
$0.002 a richiesta più $0.005 per ogni immagine. Paghi solo quello che produci, senza abbonamento.
Le immagini che carico sono al sicuro?
L'immagine viene elaborata per aggiungere il testo e poi eliminata: non la conserviamo. Il testo che scrivi serve solo a comporre quella singola immagine.
Posso creare tante immagini con testi diversi?
Sì. Tieni fisso lo stile e cambi solo la scritta: dal sito una per una, oppure via API per generare in blocco una serie coerente con prezzi o didascalie differenti.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/image/text-overlay \
-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/text-overlay", {
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/text-overlay",
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/text-overlay", 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/text-overlay", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"image": "https://ejemplo.com/imagen.jpg"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.text_overlay",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_mb | 15 |
max_megapixels | 12 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |