Skip to main content

Overview

The ImageEditor component provides a powerful image editing interface with support for filters, effects, text, shapes, and more.

Import

Always use dynamic import with ssr: false to avoid server-side rendering issues.

Props

Required Props

string
required
Your SDK license key (JWT format). Contact your account manager to obtain a license key.
() => void
required
Callback function called when the user closes the editor.

Optional Props

string
Override the default license validation API endpoint.Default: https://api.kloudleads.com/license/validate
The SDK appends /license/validate to this URL. If your endpoint is https://localhost:3030/social/license/validate, use apiUrl="https://localhost:3030/social".
File
Initial image file to load into the editor.
(result: CallbackProps, extras?: EditorExtras) => void
Callback function called when the user exports the edited image.CallbackProps:
EditorExtras:
Example:
Record<string, string>
Custom theme object to override default colors and styling.
See Theme Customization for all available keys.
boolean
default:"false"
Show theme customization UI to users. Set to false for production.
boolean
default:"false"
Enable headless (programmatic) mode. The editor will execute predefined functions without showing the UI.
CallItem[]
Array of functions to execute in headless mode.
BrandDetails[]
Array of brand presets for consistent styling.
Template
Load a template on editor startup.
(templateId: string, brandResults: any, updatedImage: string, thumbUri: string) => void
Advanced export callback with additional metadata.
(props: { brandId: string; template: Template }) => Promise<void>
Callback when user saves a template.
(brandIdList?: string[]) => Promise<{ success: { data: Template[] } }>
Callback to fetch templates for display.
CreateAutomatedContent
AI-powered content creation function (advanced feature).

Complete Example


Features

Image Editing

  • Upload & Load: Support for JPG, PNG, GIF, WebP
  • Resize: Custom dimensions or preset aspect ratios
  • Crop: Freeform or ratio-locked cropping
  • Rotate: 90° increments or custom angles
  • Flip: Horizontal and vertical flipping

Effects & Filters

  • Color Filters: Grayscale, Sepia, Invert, Colorize
  • Adjustments: Brightness, Contrast, Saturation, Hue
  • Blur: Gaussian blur with adjustable radius
  • Artistic: Pixelate, Noise, Emboss, Posterize
  • Shadows: Drop shadows with offset, blur, color

Text

  • Rich Text: Multiple fonts, sizes, colors, weights
  • Google Fonts: Dynamic font loading
  • Formatting: Bold, italic, underline, alignment
  • Effects: Shadows, outlines, backgrounds

Shapes

  • Basic Shapes: Rectangle, Circle, Triangle, Star, Arrow
  • Customization: Fill color, stroke, stroke width
  • Advanced: Custom paths and SVG shapes

Layers

  • Multi-layer Support: Unlimited layers
  • Z-Index Control: Bring forward, send backward
  • Layer Management: Show/hide, lock, duplicate, delete

Background

  • Solid Colors: Any color picker
  • Gradients: Linear and radial gradients
  • Images: Background image with fit modes

Export

  • Formats: PNG, JPG, WebP
  • Quality: Adjustable compression
  • Dimensions: Original or custom size

Browser Support

  • Chrome 90+
  • Firefox 88+
  • Safari 14+
  • Edge 90+
Mobile browsers have limited support. Desktop browsers recommended for best experience.

Next Steps

Integration Guide

Step-by-step Next.js integration

VideoEditor API

VideoEditor component reference

Troubleshooting

Common issues and solutions

Quickstart

Build your first editor