Uno splitter di immagini 1:1 per i caroselli di Instagram (Python)
I post a carosello continuo su Instagram sono belli e — secondo alcuni dati — hanno il tasso di engagement più alto tra i vari tipi di post che puoi pubblicare. Lo faccio spesso sulla pagina Instagram di Colnago.
Come? Creo un carosello su Canva come un’unica immagine con rapporto 3:1, 4:1, 5:1 o persino (una volta) 7:1, e poi la taglio in quadrati. Come la taglio in quadrati 1:1 perfetti? Ci sono molti metodi, e la maggior parte richiede molto tempo o comporta rischi.

I metodi esistenti
Puoi creare caroselli e dividere immagini:
- usando uno strumento online come Grid Maker di MySocialBoutique.co
- usando Canva stesso
- tagliandola con app come quelle di Adobe (Illustrator o Photoshop)
Vanno tutti bene, tranne che:
- usando un sito esterno hai limiti sulle dimensioni dell’immagine, e il risultato è compresso / perde qualità
- usare Canva è comodo ma porta spesso a errori
- usare i programmi Adobe è la soluzione più professionale, ma… ci hai accesso? Costano tantissimo.
Per risolvere, ho creato il seguente script, che usa librerie Python standard.
Il mio script Python per dividere le immagini e creare caroselli Instagram
# Aggiungi il percorso dell'immagine
image_url = "C:/User/Desktop/pic_name.png"
# Importa la libreria "Image" dal pacchetto PIL
from PIL import Image
# Apri l'immagine e ricava le dimensioni
pic = Image.open(image_url)
h = pic.size[1]
w = pic.size[0]
# Ritagliala in tutti i quadrati che ci stanno
i = 0
while i < w // h:
w0 = h * i
w1 = h * (1 + i)
box = (w0, 0, w1, h)
region = pic.crop(box)
# Salva i file così: "image_name_crop_1.png"
file_name = image_url.split("/")[-1].split(".")[0] + "_crop_" + str(i + 1) + ".png"
region.save(file_name)
i += 1
print("done!")
Le immagini vengono salvate nella stessa cartella in cui esegui lo script. Condividilo se ti è stato utile :)