Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QuickNanoB

Release License: GPL v3

Applicazione desktop Windows (WPF, .NET 8) per la generazione di immagini tramite l'API Gemini (modelli gemini-3.1-flash-image "Nano Banana 2", Flash Lite e Pro 4K), con supporto a code di richieste, elaborazione in batch e storico delle generazioni.

Guida utente completa: Italiano · English

Funzionalita'

  • Generazione singola: prompt testuale, scelta modello, aspect ratio (1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9) e risoluzione (1K/2K/4K a seconda del modello).
  • Coda batch: fino a 3 prompt per job tramite il Batch API di Gemini, con modello bloccato per l'intero job.
  • Finestra Coda: stato di ogni job/prompt (in coda, in corso, completato, fallito, annullato, scaduto), filtri, anteprima immagine, riscaricamento, annullamento job.
  • Polling in background: monitoraggio dei job batch anche a finestra chiusa, con icona e notifiche nella system tray al completamento.
  • Storico: registro persistente (JSONL) di tutte le generazioni singole e batch, con filtri, apertura file/cartella ed esportazione/importazione per portare lo storico su un altro PC.

Requisiti

Avvio da sorgente

dotnet run

Al primo avvio viene richiesta l'API key, salvata in %AppData%\QuickNanoB\config.json. La chiave non viene mai scritta nel repository ne' inclusa nei sorgenti.

Build

dotnet build -c Release

Test

Un piccolo set di test unitari (xUnit) copre la logica pura senza effetti collaterali (normalizzazione nomi file, clamp della risoluzione, parsing difensivo delle risposte del Batch API): non tocca %AppData% ne' richiede una API key.

dotnet test

Pubblicazione (eseguibile singolo, self-contained)

dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true

Produce un eseguibile unico (QuickNanoB.exe) in bin\Release\net8.0-windows\win-x64\publish\, senza bisogno del runtime .NET installato sulla macchina di destinazione.

Dati salvati in locale

QuickNanoB non usa database esterni: tutto lo stato e' salvato in file locali sotto %AppData%\QuickNanoB\:

File Contenuto
config.json API key, modello/aspect ratio/risoluzione predefiniti, cartella di salvataggio
batch_jobs.json Job batch in corso/recenti e relativo stato
registry.jsonl Storico di tutte le generazioni (una riga JSON per immagine)

Struttura del progetto

Applicazione WPF a finestra singola (MainWindow) con finestre satellite (QueueWindow, HistoryWindow, ApiKeyWindow, ErrorWindow). I client REST verso l'API Gemini sono in GeminiClient.cs (generazione singola) e GeminiBatchClient.cs (Batch API); BatchPoller.cs gestisce il polling periodico e le notifiche di sistema.

Contribuire

Le segnalazioni di bug e le proposte di miglioramento sono benvenute tramite Issue. Per le pull request: mantieni lo stile del codice esistente (nessuna dipendenza NuGet esterna oltre all'SDK WPF/.NET), evita di introdurre segreti o percorsi assoluti specifici di una macchina, e verifica che dotnet build -c Release completi senza errori/avvisi prima di aprire la PR.

Licenza

Distribuito sotto licenza GNU GPLv3.

Releases

Packages

Contributors

Languages