public async Task<ImgurResponse<Image>> UploadImageFromBinaryAsync(byte[] imageBinary,
string albumId = null, string name = null, string title = null, string description = null)
{
if (ImgurClient.Authentication == null)
throw new InvalidAuthenticationException("Authentication can not be null. Set it in the main Imgur class.");
var keyPairs = new Dictionary<string, string>();
if (albumId != null) keyPairs.Add(albumId, albumId);
if (name != null) keyPairs.Add("name", name);
if (title != null) keyPairs.Add("title", title);
if (description != null) keyPairs.Add("description", description);
var stream = new StreamContent(new MemoryStream(imageBinary));
return await Request.SubmitImgurRequestAsync<Image>(Request.HttpMethod.Post, UploadImageUrl, ImgurClient.Authentication, keyPairs, stream);
}