I think you'll need to implement a simple user interface for setting the parameters of image processing algorithms provided by some framework. After processing the image, you can post it to your backoffice. Some pure Javascript image processing frameworks:
In the case of MarvinJ, use the following code to load your image:
var image = new MarvinImage();
image.load("https://i.imgur.com/By6tvip.jpg", imageLoaded);
I'll use the following input image to demonstrate how to use it:

Scale:
Marvin.scale(image, imageOut, 80);

Cropping:
Marvin.crop(image, imageOut, 60, 0, 80, 120);

Sepia:
Marvin.sepia(image, imageOut, 40);

Emboss:
Marvin.emboss(image, imageOut);

Edge Detection:
Marvin.prewitt(image, imageOut);

Blur:
Marvin.gaussianBlur(image, imageOut, 3);

Brightness and Contrast:
Marvin.brightnessAndContrast(image, imageOut, 70, 60);

Color Channel:
Marvin.colorChannel(image, imageOut, 0, 0, 110);

Runnable example of the previous filters:
var canvas1 = document.getElementById("canvas1");
var image = new MarvinImage();
image.load("https://i.imgur.com/By6tvip.jpg", imageLoaded);
function imageLoaded(){
var imageOut = new MarvinImage(image.getWidth(), image.getHeight());
// Scale
Marvin.scale(image, imageOut, 80);
imageOut.draw(canvas1);
imageOut = new MarvinImage(image.getWidth(), image.getHeight());
// Cropping
Marvin.crop(image, imageOut, 60, 0, 80, 120);
imageOut.draw(canvas2);
imageOut = new MarvinImage(image.getWidth(), image.getHeight());
// Sepia
Marvin.sepia(image, imageOut, 40);
imageOut.draw(canvas3);
// Emboss
Marvin.emboss(image, imageOut);
imageOut.draw(canvas4);
// Edge
imageOut.clear(0xFF000000);
Marvin.prewitt(image, imageOut);
imageOut.draw(canvas5);
// Gaussian Blur
Marvin.gaussianBlur(image, imageOut, 5);
imageOut.draw(canvas6);
// Brightness
Marvin.brightnessAndContrast(image, imageOut, 70, 60);
imageOut.draw(canvas7);
// Color Channel
Marvin.colorChannel(image, imageOut, 0, 0, 110);
imageOut.draw(canvas8);
}
<script src="https://www.marvinj.org/releases/marvinj-0.7.js"></script>
<canvas id="canvas1" width="192" height="120"></canvas>
<canvas id="canvas2" width="192" height="120"></canvas>
<canvas id="canvas3" width="192" height="120"></canvas>
<canvas id="canvas4" width="192" height="120"></canvas>
<canvas id="canvas5" width="192" height="120"></canvas>
<canvas id="canvas6" width="192" height="120"></canvas>
<canvas id="canvas7" width="192" height="120"></canvas>
<canvas id="canvas8" width="192" height="120"></canvas>