Skip to content

Quick Start Guide

Get up and running with Mend Media Processing Engine in 5 minutes!

Before you begin, make sure you have the following installed:

S3 Storage

AWS S3 or compatible service (MinIO, R2)

  1. Install Go (if not already installed)

    Follow the instructions on the Go website to install Go.

    Terminal window
    go version # Verify installation
  2. Install Redis or configure an existing Redis instance

    Follow the instructions on the Redis website to install Redis.

  3. Configure the Application

    Terminal window
    cd /Users/[your-username]/Developer/mend
    # Copy configuration files
    cp config.example.yaml config.yaml
    cp .env.example .env
    # Edit .env with your AWS credentials
    nano .env

    Add your AWS credentials to .env:

    .env
    AWS_ACCESS_KEY_ID=your_access_key_id
    AWS_SECRET_ACCESS_KEY=your_secret_access_key
    AWS_REGION=us-east-1
  4. Download Dependencies

    Terminal window
    go mod download
  5. Run the Application

    Open two terminal windows:

    Terminal window
    go run cmd/api/main.go

Verify the API is running:

Terminal window
curl http://localhost:8080/health

Open in your browser:

http://localhost:8080/swagger/index.html

First, upload an image to your S3 bucket, then:

Terminal window
curl -X POST http://localhost:8080/api/v1/jobs/image/resize \
-H "Content-Type: application/json" \
-H "X-API-Key: your_api_key_here" \
-d '{
"source_bucket": "your-bucket-name",
"source_key": "path/to/image.jpg",
"dest_bucket": "your-bucket-name",
"dest_key": "path/to/resized.jpg",
"width": 800,
"height": 600
}'

You’ll get a response with a job ID:

{
"job_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "pending",
"message": "Job queued for processing"
}
Terminal window
# Start all services
docker-compose up -d
# View logs
docker-compose logs -f
# Access MinIO console for local S3
open http://localhost:9001
# Login: minioadmin / minioadmin

Image Resize

Resize images to specific dimensions

Image Optimize

Compress and convert to WebP/AVIF

Video Thumbnails

Extract frames from videos

Audio Conversion

Convert between audio formats

AI Analysis

Send to AI services for analysis

Terminal window
brew install go
Terminal window
brew services start redis

Check your AWS credentials in .env file

Change port in config.yaml:

config.yaml
server:
port: 8081

Read the API Docs

Learn about all available endpoints in the API Reference

Set Up Authentication

Secure your API with API keys