ImgBBApi

A lightweight C# client library for uploading images to ImgBB from .NET applications.

ImgBBApi accepts either local image file paths or Base64-encoded image data and returns the direct URLs generated by ImgBB.

Features

  • Upload one or more local image files
  • Upload Base64-encoded image content
  • Async API built on HttpClient
  • Multi-targets .NET 5, .NET 6, .NET 7, and .NET 8

Installation

Install the package from NuGet:

dotnet add package Iminetsoft.ImgBBApi

Or use the NuGet Package Manager Console:

Install-Package Iminetsoft.ImgBBApi

Getting an ImgBB API key

  1. Sign in to ImgBB.
  2. Create an API key from the ImgBB API key page.
  3. Keep the key private—do not commit it to source control.

For example, store it in an environment variable:

export IMGBB_API_KEY="your-api-key"

How to use

Upload local files

using System;
using System.Collections.Generic;
using Iminetsoft;

var apiKey = Environment.GetEnvironmentVariable("IMGBB_API_KEY");
var client = new ImgBBApi(apiKey);

var imageUrls = await client.UploadImgbbAsync(new List<string>
{
    @"C:\\images\\photo-1.png",
    @"C:\\images\\photo-2.jpg"
});

foreach (var imageUrl in imageUrls)
{
    Console.WriteLine(imageUrl);
}

Upload Base64 image data

Pass a Base64-encoded image string instead of a file path:

using System;
using System.Collections.Generic;
using System.IO;
using Iminetsoft;

var apiKey = Environment.GetEnvironmentVariable("IMGBB_API_KEY");
var client = new ImgBBApi(apiKey);

var base64Image = Convert.ToBase64String(
    await File.ReadAllBytesAsync("photo.png"));

var imageUrls = await client.UploadImgbbAsync(new List<string>
{
    base64Image
});

Console.WriteLine(imageUrls[0]);

API reference

ImgBBApi(string apiKey)

Creates a client with the ImgBB API key used for all upload requests.

Task<List<string>> UploadImgbbAsync(List<string> imagePaths)

Uploads each supplied value to ImgBB and returns a list of image URLs.

Each item may be:

  • a path to an existing local image file; or
  • a Base64-encoded image string.

The returned list follows the successful upload order. If an upload fails, the current implementation suppresses the exception and may return an empty or partial list.

Requirements

  • .NET 5.0, 6.0, 7.0, or 8.0
  • A valid ImgBB API key
  • Internet access to https://api.imgbb.com

Notes

  • ImgBB controls its own upload limits, retention, and content policies. Consult the ImgBB API documentation for the current terms and limits.
  • Treat API keys and uploaded image URLs according to your application's security and privacy requirements.

Origin

This project is based on qalibqurbanov/Imager.

License

No license is currently specified in this repository. Add a license file before distributing or reusing the project under explicit terms.

S
Description
C# library for ImgBB
Readme
1.3 MiB
Languages
C# 100%