Specchia o capovolgi una foto
Specchiare un'immagine vuol dire ribaltarla come in uno specchio, in orizzontale o in verticale. È diverso dal ruotarla: non la giri, la rifletti. Serve a correggere una foto scattata allo specchio, a orientare un soggetto verso l'altro lato o a sistemare una scansione ribaltata. Scegli l'asse e scarichi il risultato.
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.
Specchiare non è ruotare
È la confusione più comune. Ruotare gira la foto attorno al centro: la testa che era in alto può finire di lato. Specchiare, invece, la riflette: sinistra e destra si scambiano (ribaltamento orizzontale) oppure alto e basso (ribaltamento verticale), come guardarla in uno specchio. Il risultato è un'immagine speculare, non girata. Capirlo ti fa scegliere lo strumento giusto al primo colpo: se il soggetto deve “guardare dall'altra parte” serve lo specchio, se è coricato serve la rotazione.
Quando l'orizzontale, quando il verticale
Il ribaltamento orizzontale è il più usato: sistema i selfie che escono al contrario, fa guardare una persona verso il testo invece che fuori dalla pagina, crea una versione simmetrica per un layout. Il ribaltamento verticale è più raro e nasce quasi sempre da una scansione o una foto ripresa a testa in giù. In entrambi i casi non c'è perdita di qualità: i pixel restano gli stessi, cambiano solo di posizione. Attenzione a un dettaglio: se nella foto c'è del testo, specchiandola diventa illeggibile.
Una foto o un flusso
Da questa pagina ribalti lo scatto e vedi subito l'effetto in anteprima, prima di scaricare. Se devi applicare lo stesso ribaltamento a molte immagini — poniamo tutti i selfie di un servizio — lo fai in blocco in un'unica operazione, e via API lo agganci a un flusso automatico dentro il tuo gestionale. Presto anche da app per telefono ed email: il canale cambia, il risultato è identico. Accetta JPG, PNG, WebP, AVIF e GIF fino a 15 MB e 12 megapixel per immagine.
Casi d'uso
Selfie che esce al contrario
La foto scattata con la fotocamera frontale ha la scritta sulla maglietta al rovescio. La specchi in orizzontale e torna tutto naturale, pronta da pubblicare.
Soggetto orientato verso il testo
Per una scheda vuoi che il volto di Francesca Colombo guardi verso il testo, non fuori pagina. Specchi la foto in orizzontale e l'impaginazione diventa più armoniosa.
Scansione ripresa a testa in giù
Un documento fotografato capovolto va rimesso dritto. Con il ribaltamento verticale torna leggibile senza doverlo riscansionare.
Domande frequenti
Che differenza c'è tra specchiare e ruotare?
Specchiare riflette l'immagine, scambiando sinistra e destra oppure alto e basso, come in uno specchio. Ruotare la gira attorno al centro. Se il soggetto deve guardare dall'altro lato serve lo specchio; se è coricato serve la rotazione.
Posso scegliere l'asse del ribaltamento?
Sì: orizzontale per scambiare sinistra e destra, verticale per scambiare alto e basso. Sono le due direzioni possibili e le vedi entrambe in anteprima.
Specchiare rovina la qualità?
No. I pixel sono gli stessi, cambiano solo posizione, quindi non c'è alcuna perdita rispetto all'originale.
Cosa succede al testo presente nella foto?
Diventa illeggibile, perché viene riflesso anch'esso. Se nella foto ci sono scritte importanti, valuta se lo specchio è davvero quello che ti serve.
Quanto costa?
$0.005 a immagine più $0.002 a richiesta, senza registrazione e senza abbonamento. Paghi solo le foto che ribalti.
Le foto restano sui vostri server?
No. Vengono elaborate e cancellate subito dopo; non le conserviamo.
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/flip \
-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/flip", {
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/flip",
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/flip", 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/flip", 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.flip",
"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. |