DALL-E è uno dei più noti servizi che grazie all'Intelligenza Artificiale permettono di generare immagini realistiche a partire da dei testi.
Il suo sviluppo si basa su modelli di Machine Learning che vengono allenati per comprendere le relazioni tra immagini e descrizioni, mentre il funzionamento della piattaforma sfrutta un processo chiamato diffusione che, partendo da un pattern di punti disposti in modo casuale, altera gradualmente lo schema verso un'immagine quando ne riconosce aspetti specifici.
Cos'è DALL-E
DALL-E è un servizio commerciale utilizzato in particolare in ambito artistico che viene animato grazie l'architettura GPT-3 (Generative Pre-trained Transformer - 3), un modello linguistico autoregressivo che sfrutta il Deep Learning per generare testi in linguaggio naturale, e il network neurale CLIP (Contrastive Language-Image Pre-Training), pensato per acquisire concetti visuali dal linguaggio naturale.
Per il training di DALL-E sono state prese come riferimento centinaia di milioni di coppie composte da immagini e testi prese direttamente da Wikipedia e da altri siti Web. Ora OpenAI ha realizzato un'API (Application Programming Interface) che permette agli sviluppatori di integrarne le funzionalità nelle proprie applicazioni.
L'API di DALL-E
L'idea di creare un'interfaccia di programmazione, ora in fase di Beta pubblica, nasce dal grande successo riscosso da DALL-E dopo il suo lancio avvenuto lo scorso anno. Attualmente la piattaforma genererebbe circa 4 milioni di nuove immagini al giorno e ha ormai attirato in tutto il mondo l'attenzione degli sviluppatori.
Il funzionamento dell'API è molto semplice: si definisce la descrizione associata all'immagine che dovrà essere generata, si indica il numero di immagini che dovranno essere create e se ne specificano le dimensioni in pixel (ad esempio 1024x1024).
Una volta ricevuti i parametri indicati nel codice, i server di OpenAI provvedono a produrre l'immagine richiesta e la restituiscono al client in modo che possa essere mostrata tramite l'applicazione che interagisce con l'API.
Un codice come il seguente:
response = openai.Image.create_edit(
image=open("sunlit_lounge.png", "rb"),
mask=open("mask.png", "rb"),
prompt="A sunlit indoor lounge area with a pool containing a flamingo",
n=1,
size="1024x1024"
)
image_url = response['data'][0]['url']
Dovrebbe produrre ad esempio un'immagine come questa:
Per poter utilizzare l'API è necessario effettuare una registrazione e disporre della necessaria API Key privata. Il suo impiego non è gratuito ma i prezzi sono abbastanza contenuti: 0.02 dollari per ciascuna immagine a 1024×1024 px, 0.018 per 512×512 e 0.016 per immagini 256×256.
Almeno per il momento si possono generare 10 immagini al minuto e non più di 25 ogni 5 minuti. La documentazione è consultabile a questo indirizzo.