Ritaglia una foto
Ritagliare una foto significa tenerne solo una porzione e buttare il resto. Scegli l'area che ti interessa, imposti un rapporto fisso — 1:1, 4:5, 16:9 — oppure le coordinate esatte in pixel, e scarichi il ritaglio pulito, con la stessa qualità dell'originale, senza installare programmi.
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.
Rapporto fisso o taglio libero
Puoi ritagliare in due logiche. Con un rapporto fisso — quadrato per un avatar, 4:5 per un post verticale, 16:9 per una copertina — sei sicuro che l'immagine finisca nelle proporzioni che quel posto pretende. Con il taglio libero, invece, tieni esattamente i pixel che vuoi, utile per isolare un dettaglio: una firma, un timbro, un particolare di un documento. In tutti i casi il ritaglio non ricomprime a caso: la porzione che resta conserva la nitidezza di partenza.
Coordinate precise, quando servono
Se sai già dove tagliare — poniamo togliere una fascia di 200 pixel in alto da tutte le scansioni — puoi indicare posizione e misura in pixel e ottenere sempre lo stesso taglio. È il modo giusto quando le foto arrivano tutte inquadrate allo stesso modo e vuoi un risultato ripetibile. Ritagliare è diverso da ridimensionare: qui non rimpicciolisci l'immagine, ne elimini una parte. Spesso i due passaggi si combinano: prima tagli il superfluo, poi porti il resto alla misura finale.
Da dove lo usi
Da questa pagina lo fai a mano, guardando l'anteprima: comodo per il singolo scatto. Via API lo agganci a un flusso quando i ritagli sono tanti e uguali, per esempio ogni foto caricata dal tuo gestionale. Presto arrivano anche l'app per telefono, l'email e Telegram: cambi il canale, non il risultato. Accetta JPG, PNG, WebP, AVIF e GIF fino a 15 MB e 12 megapixel per immagine.
Casi d'uso
Foto profilo perfettamente quadrata
Ti serve un avatar 1:1 per il sito o per LinkedIn, ma la foto è verticale. Ritagli sul volto in formato quadrato e ottieni un'immagine centrata, senza bordi strani.
Isolare un dettaglio da un documento
Da una scansione dell'F24 vuoi tenere solo la sezione con l'importo. Ritagli quella porzione in pixel e la salvi a parte, pronta da allegare o archiviare.
Copertina 16:9 per un articolo
La foto di Giulia Bianchi è bella ma verticale, e il blog vuole copertine orizzontali. La ritagli in 16:9 tenendo il soggetto al centro e la copertina calza subito nel tema.
Domande frequenti
Che differenza c'è tra ritagliare e ridimensionare?
Ritagliare elimina una parte dell'immagine tenendo solo l'area scelta; ridimensionare cambia la misura in pixel dell'intera foto. Spesso si usano insieme: prima ritagli il superfluo, poi porti il risultato alla dimensione finale che ti serve.
Posso ritagliare a un rapporto preciso, tipo 4:5 per Instagram?
Sì. Imposti il rapporto — 1:1, 4:5, 16:9 o quello che ti serve — e sposti l'area di ritaglio sul soggetto; l'uscita rispetta quelle proporzioni esatte.
Il ritaglio peggiora la qualità?
No: la porzione che tieni mantiene i pixel originali. Non c'è perdita legata al taglio in sé; se poi la rimpicciolisci molto, vale il discorso normale del ridimensionamento.
C'è un limite di peso o di risoluzione?
Sì, fino a 15 MB e 12 megapixel per immagine. Copre senza problemi foto da telefono, scansioni e scatti di prodotto.
Quanto costa e devo registrarmi?
$0.005 a immagine più $0.002 a richiesta, senza registrazione e senza abbonamento. Acquisto diretto, paghi solo i ritagli che fai.
Le foto che carico restano da qualche parte?
No. Il file viene elaborato e cancellato subito dopo; non lo conserviamo né lo usiamo per altro.
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/crop \
-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/crop", {
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/crop",
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/crop", 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/crop", 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.crop",
"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. |