Documentazione API Gemma.WebApi - Gestione Immagini

Questa documentazione descrive le API del progetto Gemma.WebApi, concentrandosi specificamente sui metodi di gestione delle immagini.

Indirizzo base del servizio: https://gemma.api.kerberos.energy

Autenticazione:

  • Gli esempi di questa documentazione utilizzano l'autenticazione Basic con chiave API (username) e senza password.
  • Utilizzare la chiave API come username.
  • ServiceStack supporta anche l'autenticazione Bearer e API Key tramite query string.
  • Per ulteriori informazioni, consultare la pagina ApiKey.

Formati immagine supportati:

  • Il servizio supporta i seguenti formati immagine:
    • PNG: png
    • JPEG: jpg, jpeg, jfif
    • GIF: gif
    • BMP: bm, bmp, dip
    • PBM: ppm, pbm, pgm
    • TGA: tga, vda, icb, vst
    • TIFF: tiff, tif
    • Webp: webp

Metodi

1. GET /immagini

  • Descrizione: Recupera un elenco di immagini.
  • Parametri:
    • skip (opzionale): Numero di elementi da saltare per la paginazione.
    • take (opzionale): Numero di elementi da restituire per pagina.
  • Risposta:
    • results: array di oggetti immagine.
    • Informazioni di paginazione:
      • offset: posizione di partenza della paginazione
      • total: numero totale di immagini presenti
  • Esempio di utilizzo (httpie):

    http -j -a <API_KEY>: GET https://gemma.api.kerberos.energy/immagini skip==10 take==2
    
  • Esempio di risposta:

    {
      "offset":10,
      "results":[
        {
          "didascaliaCnid":0,
          "id":13,
          "immagineCollegataId":0,
          "isCached":true,
          "nome":"",
          "refCount":0,
          "tipoImmagineId":0,
          "url":""
        },
        {
          "didascaliaCnid":0,
          "id":14,
          "immagineCollegataId":0,
          "isCached":false,
          "nome":"",
          "refCount":0,
          "tipoImmagineId":0,
          "url":""
        }
      ],
      "total":792
    }
    

2. POST /immagini

  • Descrizione: Crea un nuovo record di immagine.
  • Richiesta:
    • Un oggetto JSON contenente i seguenti campi:
    • TipoImmagineId: ID del tipo di immagine.
    • Immagine: Dati dell'immagine (in formato base64).
    • Thumb (opzionale): Dati dell'anteprima (in formato base64). Se omesso, l'anteprima sarà generata dal server.
    • Nome: Nome dell'immagine.
  • Risposta:
    • Un oggetto JSON contenente l'ID dell'immagine creata e le dimensioni dell'immagine e dell'anteprima.
  • Esempio di utilizzo (httpie):

    http -a <API_KEY>: POST https://gemma.api.kerberos.energy/immagini \
    TipoImmagineId=5 \
    Nome="NuovaImmagine.jpg" \
    Immagine="$(base64 -w 0 immagine.jpg)" \
    Thumb="$(base64 -w 0 thumbnail.jpg)"
    
  • Esempio di risposta:

    {
      "Id": 3,
      "ImageWidth": 800,
      "ImageHeight": 800,
      "ThumbnailWidth": 400,
      "ThumbnailHeight": 400
    }
    
  • Nota:

    • Sostituisci immagine.jpg e thumbnail.jpg con i percorsi reali dei tuoi file immagine.
    • Il comando base64 -w 0 codifica l'immagine in base64 senza inserire interruzioni di riga.

3. PATCH /immagini/{Id}

  • Descrizione: Aggiorna parzialmente un record di immagine esistente.
  • Parametri:
    • Id: ID dell'immagine da aggiornare.
  • Richiesta:
    • Un oggetto JSON contenente i seguenti campi (opzionali):
    • TipoImmagineId: ID del tipo di immagine.
    • Immagine: Dati dell'immagine (in formato base64).
    • Thumb: Dati dell'anteprima (in formato base64).
    • Nome: Nome dell'immagine.
  • Risposta:
    • Codice 200 OK: Un oggetto JSON contenente le dimensioni aggiornate dell'immagine e della miniatura.
    • Codice 204 Nessun contenuto: Nessun contenuto nella risposta. Indica che l'immagine è stata trovata e la richiesta è stata capita, ma non sono state effettuate elaborazioni lato server.
  • Esempio di utilizzo (httpie):

    http -a <API_KEY>: PATCH https://gemma.api.kerberos.energy/immagini/3 \
    TipoImmagineId=16 \
    Nome="ImmagineAggiornata.png" \
    Immagine="$(base64 -w 0 immagine.png)"
    
  • Esempio di risposta:

    {
      "ImageWidth": 400,
      "ImageHeight": 225,
      "ThumbnailWidth": 400,
      "ThumbnailHeight": 225
    }
    

Note aggiuntive:

  • Sostituisci <API_KEY> con la tua chiave di autenticazione effettiva.