Ridimensionare un'immagine alla dimensione file desiderata
Ridimensionare un’immagine alla dimensione file desiderata stima la qualità di compressione e la scala proporzionale necessarie per rispettare un limite indicato.
Esegui gratis nel browser
Inserisca larghezza e altezza originali, scelga JPEG, PNG, WebP o AVIF e specifichi il massimo in kilobyte decimali. Il calcolatore restituisce dimensioni consigliate, qualità, peso stimato e minimo realistico. Poiché utilizza i metadati e non i pixel, il risultato è uno strumento di pianificazione, non una garanzia per un particolare codificatore o una specifica fotografia. Gli stessi dati producono sempre la medesima risposta.
Trasformi un limite di peso in impostazioni di esportazione
Parta dalla larghezza e dall’altezza effettive dell’immagine, dal formato di uscita previsto e dal peso massimo accettato dalla destinazione. Il calcolatore stima innanzitutto un’esportazione normale alla qualità di riferimento del formato. Se il risultato rientra già nel limite, conserva le dimensioni originali e non consiglia modifiche. Per JPEG, WebP e AVIF riduce poi la qualità modellata senza eliminare pixel. Se ciò non basta, mantiene una qualità minima prudente e calcola una scala proporzionale per entrambi i lati. PNG è considerato senza perdita, quindi lo strumento suggerisce di ridurre la scala invece di fingere che un cursore simile a quello JPEG ne determini il peso. L’output comprende azione, dimensioni intere, percentuale di scala, qualità, peso previsto, stima originale e minimo. Utilizzi questi valori come prima impostazione del codificatore, misuri il file prodotto e applichi una piccola correzione finale se il servizio impone un limite rigoroso in byte.
Comprenda cosa può prevedere realmente la stima
Il peso esatto non può essere ricavato soltanto da dimensioni e formato. Un’icona piatta, una fotografia notturna rumorosa e un’illustrazione dettagliata possono avere uguali larghezza, altezza e formato, ma comprimersi in modo molto diverso. Anche implementazione del codificatore, sottocampionamento cromatico, metadati, animazione, trasparenza, profili colore e ottimizzazione creano variazioni. Il calcolatore usa quindi un modello analitico trasparente: a ogni formato associa una quantità tipica di byte compressi per pixel, un piccolo sovraccarico del contenitore, una qualità di riferimento e, per i formati con perdita, una curva continua della qualità. Il livello di attendibilità dichiara espressamente che si tratta di una stima approssimativa. Lo strumento non esamina, carica, decodifica o modifica l’immagine e non promette mai un peso preciso. Per un’automazione affidabile, esegua una codifica con la raccomandazione, confronti i byte ottenuti con l’obiettivo e usi una ricerca limitata del codificatore per convergere. Il valore principale è un punto iniziale sensato.
Gestisca obiettivi minuscoli senza consigli inutilizzabili
Un obiettivo arbitrariamente piccolo non è realistico per ogni immagine. Anche un file vuoto richiede intestazioni e dati del contenitore, mentre ridurre una grande fotografia a una bitmap quasi invisibile raramente rappresenta un ridimensionamento utile. Il calcolatore stabilisce una soglia pratica preservando le proporzioni, consentendo al lato corto di scendere fino a un minimo di 32 pixel e applicando la qualità minima modellata per il formato. Se il valore richiesto è inferiore, la richiesta termina con un errore di input che indica il minimo calcolato in kilobyte. È preferibile a restituire dimensioni nulle, calcoli negativi o un’apparente garanzia che un normale codificatore non potrebbe rispettare. I kilobyte sono decimali: un KB equivale a 1,000 byte. Le dimensioni devono essere interi positivi, l’area originale è limitata e le dimensioni finali sono arrotondate per difetto a pixel interi. Mantenga sempre un margine di sicurezza quando un portale rifiuta i file esattamente sul limite.
Casi d'uso
Preparare un caricamento per un portale rigoroso
Stimi qualità e risoluzione utili prima di esportare un’immagine per un modulo con limite fisso in KB.
Definire budget per immagini responsive
Converta un budget prestazionale in dimensioni e compressione approssimative per le varianti generate.
Avviare la ricerca di un codificatore
Fornisca a un ciclo di compressione qualità e scala iniziali sensate, riducendo le prove non necessarie.
Domande frequenti
Il file codificato avrà esattamente il peso stimato?
No. Il contenuto dei pixel e le impostazioni del codificatore influiscono sulla compressione; misuri il file reale per limiti rigorosi.
Perché PNG restituisce sempre qualità 100?
PNG è modellato senza perdita. Il livello di compressione incide più sul tempo di elaborazione che sulla qualità visiva, quindi la scala è il consiglio rilevante.
Che cosa accade se l’obiettivo è troppo piccolo?
La richiesta restituisce un errore di input con il minimo realistico stimato per quelle dimensioni e quel formato.
Il calcolatore carica o esamina la mia immagine?
No. Riceve soltanto dimensioni, formato e peso desiderato; non riceve né elabora mai i pixel.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002.
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/resize-to-filesize \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"width":4000,"height":3000,"format":"jpeg","target_kb":500}'const res = await fetch("https://api.kit.forhosting.com/image/resize-to-filesize", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"width": 4000,
"height": 3000,
"format": "jpeg",
"target_kb": 500
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/resize-to-filesize",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"width": 4000,
"height": 3000,
"format": "jpeg",
"target_kb": 500
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/resize-to-filesize", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"width":4000,"height":3000,"format":"jpeg","target_kb":500}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"width":4000,"height":3000,"format":"jpeg","target_kb":500}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/resize-to-filesize", 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
{
"width": 4000,
"height": 3000,
"format": "jpeg",
"target_kb": 500
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.resize_to_filesize",
"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. |