Search Docs
Loading...
Skip to content

Overview

CreativeEditor SDK (CE.SDK) exports Android designs to formats such as PNG, PDF, SVG, and MP4 so your app can prepare assets for sharing, printing, storage, or publishing workflows.

You can trigger conversions programmatically with the Android Engine API or let users start exports through the editor UI.

Explore Demos

Get Started

Supported Input and Output Formats#

CE.SDK accepts a range of input formats when working with designs, including:

Category Supported Formats
Images .png, .apng, .jpeg, .jpg, .gif, .webp, .svg, .bmp
Video .mp4 (H.264/AVC, H.265/HEVC), .mov (H.264/AVC, H.265/HEVC)
Audio .wav, .mp3, .m4a, .mp4 (AAC or MP3), .mov (AAC or MP3)
Animation .json (Lottie)

Animated images (.gif and .apng) import as a static first frame in design scenes and as a looping video fill in video scenes.

When it comes to exporting or converting designs, the SDK supports the following output formats:

Category Supported Formats
Images .png, .jpeg, .tga
Vector .svg with text exported as paths
Print .pdf with compatibility and underlayer options
Video .mp4
Scene serialized scene strings for .scene workflows
Blocks proprietary block strings or block archive entries such as blocks.blocks
Archive .zip archives with scenes or blocks and their assets
Raw Data binary RGBA8888 image data through MimeType.BINARY

Each format serves different use cases, giving you the flexibility to adapt designs for your application’s needs.

Conversion Methods#

Use the conversion path that matches how much control your Android app needs over the export workflow.

Method Android API Use it for
Programmatic image, vector, PDF, or raw binary export engine.block.export(...) Exporting a scene, page, group, or block from Kotlin with a selected MimeType and optional ExportOptions.
Programmatic video export engine.block.exportVideo(...) Exporting a page timeline to MP4 while receiving progress updates.
Scene and block serialization engine.scene.saveToString(scene=_), engine.scene.saveToArchive(scene=_), engine.block.saveToString(blocks=_), engine.block.saveToArchive(blocks=_) Persisting editable CE.SDK content either as a serialized scene string or archive, or as proprietary block data or a block archive.
Color-mask export engine.block.exportWithColorMask(...) Creating image data plus a mask for workflows that need a separate color mask.
Editor UI export onExport / built-in export action Letting users export from the Android editor UI while your app controls the final export handling.

Programmatic exports return binary data that your app can write to storage, upload, share, or pass to another workflow. UI-driven exports are useful when the editor should remain user-facing and the app only needs to customize what happens after the user taps export.

Customization Options#

Android exports combine scene-level settings with ExportOptions for static formats and ExportVideoOptions for MP4 output.

Option Applies to Purpose
targetWidth / targetHeight Static and video exports Render output at a specific size while preserving the block aspect ratio.
scene/dpi Scene exports and design units Set print metadata and the pixel-to-inch or millimeter conversion, either while creating an image scene with engine.scene.createFromImage(imageUri = imageUri, dpi = 300F) or later with engine.block.setFloat(block = scene, property = "scene/dpi", value = 300F).
pngCompressionLevel PNG Balance file size and encode time without changing visual quality.
jpegQuality JPEG Control compression quality for JPEG exports.
exportPdfWithHighCompatibility PDF Rasterize effects and images for broader PDF viewer compatibility.
exportPdfWithUnderlayer and underlayer settings PDF Generate print underlayers for production workflows that require them.
frameRate, bitrate, and H.264 settings MP4 Tune video export quality, size, and encoding behavior.

Check engine.editor.getMaxExportSize() before large raster exports so the requested dimensions stay within the device-supported export limit. Use targetWidth and targetHeight for explicit pixel dimensions; changing scene/dpi does not replace those pixel-size controls.