I was doing a test project that used Cloudinary as the image storage.

{"error":{"message":"Upload preset not found"}}

Turned out I didn’t set up an Upload Preset.

For example I had a canvas object from an HTML canvas I wrote to, and this was the code to upload it to Cloudinary as an image:

const base64Image = canvas.toDataURL()
const formData = new FormData()
formData.append('file', base64Image)
fetch(https://api.cloudinary.com/v1_1/***YOUR_CLOUD_NAME***/image/upload, {
})