Rinominare immagini in blocco con schema e numerazione
Trasformi un elenco ordinato di nomi di immagini in una sequenza chiara e coerente prima di rinominare, caricare, archiviare o pubblicare i file effettivi.
Esegui gratis nel browser
Fornisca uno schema con un segnaposto per il contatore, scelga il numero iniziale e riceva una mappatura esplicita dal nome originale a quello nuovo. Lo strumento può conservare ogni estensione originale, riutilizzare il nome di base e completare i numeri per un ordinamento naturale. Calcola soltanto i nomi: non legge, carica, sposta o modifica alcuna immagine, così Lei può controllare facilmente le modifiche proposte prima di intervenire sul file system.
Definisca uno schema chiaro per i nomi
Una buona rinomina in blocco parte da uno schema che descrive la raccolta, non la fotocamera o il telefono che l’ha creata. Inserisca {counter} nella posizione del numero progressivo, per esempio prodotto-rosso-{counter}{ext}. Usi {counter:3} per una larghezza minima fissa che produca 001, 002 e 003. La larghezza può variare da una a venti cifre e un numero già più lungo non viene mai troncato. Aggiunga {ext} per mantenere esattamente l’estensione di ciascun file sorgente, comprese maiuscole e minuscole, oppure {name} se il nome di base originale deve rimanere nel risultato. Uno schema può ripetere lo stesso segnaposto. Il testo letterale resta invariato. Poiché il risultato è un nome di file e non un percorso, le barre normali e inverse generate vengono rifiutate. L’operazione rimane così limitata ai nomi e non può cambiare directory in modo silenzioso. Controlli la mappatura restituita prima di applicarla con un file manager, uno script, una pipeline di risorse o una mediateca.
Gestisca ordine, numerazione e duplicati
L’elenco di input stabilisce l’ordine. Il primo file riceve il valore di start, il secondo l’intero successivo e l’elaborazione prosegue senza ordinare né interpretare date nascoste nei nomi. Il risultato è prevedibile quando l’elenco rispecchia già l’ordine di uno scatto, di un foglio di calcolo, di una selezione o di una sequenza editoriale. Il valore iniziale predefinito è 1; sono ammessi anche 0 e altri interi sicuri non negativi per i sistemi con numerazione da zero. Ogni nome generato viene controllato per individuare collisioni. Uno schema senza contatore è valido se gli altri segnaposto producono nomi distinti; per esempio, {name}-approvato{ext} normalmente rimane univoco. Se invece lo stesso nome viene prodotto per due immagini, la richiesta non riesce e segnala che manca il contatore. Anche gli schemi con contatore vengono verificati, perché input ripetuti o schemi che ignorano differenze importanti possono eccezionalmente causare collisioni. In caso di errore non viene restituita una mappatura parziale, quindi una risposta riuscita rappresenta sempre un piano completo.
Utilizzi la mappatura in sicurezza nel flusso reale
Questa capacità calcola un piano di rinomina e volutamente non interviene sui file. Ogni risultato associa il nome originale alla sostituzione proposta, consentendo a una persona o a un programma successivo di esaminare tutte le modifiche. La separazione è utile a fotografi che preparano provini, gruppi di commercio elettronico che normalizzano risorse, sviluppatori che organizzano fixture e archivisti che creano sequenze stabili. Mantenga {ext} quando un lotto mescola JPEG, PNG, WebP o estensioni con maiuscole diverse: il segnaposto copia il suffisso della singola sorgente invece di imporre un formato. Rinominare non converte i dati dell’immagine, quindi cambiare il testo dell’estensione non modifica il formato sottostante. Gli input devono essere nomi, non percorsi, e sono limitati a 255 caratteri. Un lotto può contenere fino a 10,000 elementi. Per eseguire l’operazione, usi la mappatura con uno strumento che rilevi destinazioni esistenti e rinomini in due passaggi quando vecchi e nuovi nomi si sovrappongono. La richiesta API costa $0.002. Lo stesso input restituisce sempre lo stesso risultato, senza caricamenti, rete, casualità o dipendenza temporale.
Casi d'uso
Ordinare un servizio fotografico
Converta i nomi generati dalla fotocamera in una serie ordinata e riempita, conservando ogni estensione originale.
Uniformare le immagini dei prodotti
Crei nomi prevedibili per le risorse del negozio da un elenco ordinato di angolazioni e varianti.
Anteprima della rinomina di un archivio
Generi e controlli la mappatura completa dai vecchi ai nuovi nomi prima di modificare qualsiasi file.
Domande frequenti
Quali segnaposto del contatore sono supportati?
Usi {counter} per un numero senza riempimento o {counter:width}, come {counter:4}, per completare con zeri fino alla larghezza minima.
Come posso conservare l’estensione di ogni immagine?
Inserisca {ext} nello schema. Copia l’ultima estensione, incluso il punto iniziale e l’uso originale delle maiuscole.
Lo strumento rinomina o carica le mie immagini?
No. Restituisce soltanto una mappatura deterministica da ogni nome originale al nuovo nome proposto.
Che cosa accade se due nuovi nomi sono identici?
L’intera richiesta non riesce. Se lo schema è privo di contatore, l’errore invita espressamente ad aggiungerlo.
Quanto costa una richiesta API?
Ogni richiesta costa $0.002, sia che il contatore inizi da zero sia che utilizzi il riempimento.
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/batch-rename-pattern \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"filenames":["IMG_4102.JPG","IMG_4103.JPG","IMG_4104.PNG"],"pattern":"gallery-{counter:3}{ext}"}'const res = await fetch("https://api.kit.forhosting.com/image/batch-rename-pattern", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"filenames": [
"IMG_4102.JPG",
"IMG_4103.JPG",
"IMG_4104.PNG"
],
"pattern": "gallery-{counter:3}{ext}"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/batch-rename-pattern",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"filenames": [
"IMG_4102.JPG",
"IMG_4103.JPG",
"IMG_4104.PNG"
],
"pattern": "gallery-{counter:3}{ext}"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/batch-rename-pattern", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"filenames":["IMG_4102.JPG","IMG_4103.JPG","IMG_4104.PNG"],"pattern":"gallery-{counter:3}{ext}"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"filenames":["IMG_4102.JPG","IMG_4103.JPG","IMG_4104.PNG"],"pattern":"gallery-{counter:3}{ext}"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/batch-rename-pattern", 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
{
"filenames": [
"IMG_4102.JPG",
"IMG_4103.JPG",
"IMG_4104.PNG"
],
"pattern": "gallery-{counter:3}{ext}"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.batch_rename_pattern",
"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_items | 10000 |
max_filename_chars | 255 |
max_pattern_chars | 255 |
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. |