3.0 KiB
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
- Sign in to ImgBB.
- Create an API key from the ImgBB API key page.
- 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.