filmkit library

Photo and video editing for Flutter, exported natively.

Classes

Adjustments
Color adjustments, each from -1 to 1 (0: unchanged). Color-only, so they bake into a LUT with the look (combinedLut) and need nothing more from the exporters.
CropAspect
An aspect ratio offered by the crop tool.
CropState
The crop as the editor manipulates it: a frame of a given aspect over the media, zoomed and panned. Coordinates are normalized to the displayed media (0..1).
CropView
Shows child (the media, at its displayed aspect) through the crop frame of state. When interactive, the media can be panned and zoomed under the frame, over a rule-of-thirds grid.
CubeLut
A 3D color lookup table, as stored in .cube files (Adobe / Resolve format).
EditorOptions
EditorResult
What the editor returns when the user taps Done.
EditorState
Everything the user chose in the editor, to reopen it where they left off (FilmkitEditor.open(initialState:)). Serializable with toJson / EditorState.fromJson.
EditorTexts
The editor's labels, in English by default.
EditSpec
A description of the edits applied by an export.
ExportResult
The file written by an export (video or photo).
Filmkit
Native photo and video export: Media3 Transformer and Android graphics on Android, AVFoundation and Core Image on iOS.
FilmkitEditor
The Instagram-style editor: crop, trim (videos), filters and adjustments, then export.
FilmkitEditorPage
The editor screen, for apps that manage their own navigation: it pops an EditorResult.
FilmkitPlatform
The interface the native implementations provide.
Look
A named filter offered by the editor.
Looks
The editor's built-in looks, generated in Dart (no image assets, no licensing).
LutFilter
Previews a CubeLut on child (an image, a video player…), with the same result as the export.
VideoExport
A running export, returned by Filmkit.exportVideo.
VideoInfo
Properties of a video file, as a player displays it.

Enums

FilmkitErrorCode
Why an operation failed.

Functions

clampTrim(Duration start, Duration end, Duration duration, {required Duration minLength, Duration? maxLength}) → (Duration, Duration)
Clamps a trim range to duration, keeping it at least minLength long and, if given, at most maxLength.
combinedLut(Look? look, double intensity, Adjustments adjustments) → CubeLut?
The table applying look at intensity, then adjustments; null if neither changes colors.

Exceptions / Errors

FilmkitException