{"id":13908563,"url":"https://github.com/imgly/vesdk-flutter","last_synced_at":"2025-11-02T09:02:43.452Z","repository":{"id":42379913,"uuid":"336090761","full_name":"imgly/vesdk-flutter","owner":"imgly","description":"Flutter plugin for VideoEditor SDK","archived":false,"fork":false,"pushed_at":"2024-06-26T09:54:47.000Z","size":5171,"stargazers_count":22,"open_issues_count":0,"forks_count":32,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-21T22:32:50.676Z","etag":null,"topics":["adjustment","android","brush","crop","filter","flutter","frames","ios","overlays","sdk","stickers","text","transform","video","video-edit-sdk","video-editing","video-manipulation","videoeditor-sdk"],"latest_commit_sha":null,"homepage":"https://www.videoeditorsdk.com","language":"Swift","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imgly.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-04T21:45:27.000Z","updated_at":"2024-11-06T03:49:58.000Z","dependencies_parsed_at":"2024-11-09T18:44:34.092Z","dependency_job_id":null,"html_url":"https://github.com/imgly/vesdk-flutter","commit_stats":{"total_commits":10,"total_committers":2,"mean_commits":5.0,"dds":"0.19999999999999996","last_synced_commit":"7db0bf61eeb66519f7388289a450a2b6e3391b6e"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/imgly/vesdk-flutter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imgly%2Fvesdk-flutter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imgly%2Fvesdk-flutter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imgly%2Fvesdk-flutter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imgly%2Fvesdk-flutter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imgly","download_url":"https://codeload.github.com/imgly/vesdk-flutter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imgly%2Fvesdk-flutter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264394905,"owners_count":23601378,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adjustment","android","brush","crop","filter","flutter","frames","ios","overlays","sdk","stickers","text","transform","video","video-edit-sdk","video-editing","video-manipulation","videoeditor-sdk"],"created_at":"2024-08-06T23:02:49.874Z","updated_at":"2025-11-02T09:02:43.439Z","avatar_url":"https://github.com/imgly.png","language":"Swift","readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://img.ly/video-sdk?utm_campaign=Projects\u0026utm_source=Github\u0026utm_medium=VESDK\u0026utm_content=Flutter\"\u003e\n    \u003cimg src=\"https://img.ly/static/logos/VE.SDK_Logo.svg\" alt=\"VideoEditor SDK Logo\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://pub.dev/packages/video_editor_sdk\"\u003e\n    \u003cimg src=\"https://img.shields.io/pub/v/video_editor_sdk?color=blue\" alt=\"pub.dev version\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://pub.dev/packages/video_editor_sdk\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/platforms-android%20|%20ios-lightgrey.svg\" alt=\"Platform support\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://twitter.com/imgly\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/twitter-@VideoEditorSDK-blue.svg?style=flat\" alt=\"Twitter\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n# Flutter plugin for VideoEditor SDK\n\n## System requirements\n\n- Flutter: 1.20.0\n- Dart: 2.12.0\n- iOS: 13\n- Android: 5 (SDK 21)\n\n## Getting started\n\nAdd the plugin package to the `pubspec.yaml` file in your project:\n\n```yaml\ndependencies:\n  video_editor_sdk: ^3.3.0\n```\n\nInstall the new dependency:\n\n```sh\nflutter pub get\n```\n\n### Android\n\n1. Add the IMG.LY repository and plugin by opening the `android/build.gradle` file (**not** `android/app/build.gradle`) and changing the following block:\n\n   ```diff\n   buildscript {\n   -   ext.kotlin_version = '1.3.50'\n   +   ext.kotlin_version = '2.1.0'\n       repositories {\n           ...\n           mavenCentral()\n   +       maven { url \"https://artifactory.img.ly/artifactory/imgly\" }\n           ...\n       }\n       dependencies {\n           ...\n   +       classpath 'com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin:1.7.21-1.0.8' // Depending on your `kotlin_version` version.\n   +       classpath 'ly.img.android.sdk:plugin:10.9.0'\n           ...\n       }\n   }\n   ```\n\n   The KSP version depends on the Kotlin version that you are using. In order to find the correct version, please visit the [official KSP release page](https://github.com/google/ksp/releases?page=1).\n\n   In order to update VideoEditor SDK for Android replace the version string `10.9.0` with a [newer release](https://github.com/imgly/pesdk-android-demo/releases).\n\n2. Still in the `android/build.gradle` file (**not** `android/app/build.gradle`), add these lines at the bottom:\n\n   ```groovy\n   allprojects {\n       repositories {\n           maven { url 'https://artifactory.img.ly/artifactory/imgly' }\n       }\n   }\n   ```\n\n3. In the `android/app/build.gradle` file (**not** `android/build.gradle`) you will need to modify the `minSdkVersion` to at least `21` depending on the version of Flutter that you are using. We also recommend to update the `buildToolsVersion` to `35.0.0` as well as the `compileSdkVersion` to `35`:\n\n   ```diff\n   android {\n   -   compileSdkVersion flutter.compileSdkVersion\n   +   compileSdkVersion 35\n   +   buildToolsVersion \"35.0.0\"\n       ...\n       defaultConfig {\n           ...\n   -       minSdkVersion flutter.minSdkVersion\n   +       minSdkVersion 21\n           ...\n       }\n       ...\n   }\n   ```\n\n   Depending on your **stable** Flutter SDK version (\u003c= `2.5.0`), your `android/app/build.gradle` file might look a bit different. In this case, please modify it in the following way:\n\n   ```diff\n   android {\n   -   compileSdkVersion 30\n   +   compileSdkVersion 35\n   +   buildToolsVersion \"35.0.0\"\n       ...\n       defaultConfig {\n           ...\n   -       minSdkVersion 16\n   +       minSdkVersion 21\n           ...\n       }\n       ...\n   }\n   ```\n\n4. In the same file, configure VideoEditor SDK for Android by adding the following lines under `apply plugin: \"com.android.application\"`:\n\n   ```groovy\n   apply plugin: 'ly.img.android.sdk'\n   apply plugin: 'kotlin-android'\n\n   // Comment out the modules you don't need, to save size.\n   IMGLY.configure {\n       modules {\n           include 'ui:text'\n           include 'ui:focus'\n           include 'ui:frame'\n           include 'ui:brush'\n           include 'ui:filter'\n           include 'ui:sticker'\n           include 'ui:overlay'\n           include 'ui:transform'\n           include 'ui:adjustment'\n           include 'ui:text-design'\n           include 'ui:video-trim'\n           include 'ui:video-library'\n           include 'ui:video-composition'\n           include 'ui:audio-composition'\n           include 'ui:giphy-sticker'\n\n           // This module is big, remove the serializer if you don't need that feature.\n           include 'backend:serializer'\n\n           // Remove the asset packs you don't need, these are also big in size.\n           include 'assets:font-basic'\n           include 'assets:frame-basic'\n           include 'assets:filter-basic'\n           include 'assets:overlay-basic'\n           include 'assets:sticker-shapes'\n           include 'assets:sticker-emoticons'\n           include 'assets:sticker-animated'\n\n           include 'backend:sticker-animated'\n           include 'backend:sticker-smart'\n           include 'backend:background-removal'\n       }\n   }\n   ```\n\n### Usage\n\nImport the packages in your `main.dart`:\n\n```dart\nimport 'package:video_editor_sdk/video_editor_sdk.dart';\nimport 'package:imgly_sdk/imgly_sdk.dart';\n```\n\nEach platform requires a separate license file. [Unlock VideoEditor SDK](./lib/video_editor_sdk.dart#L13-L22) with a single line of code for both platforms via platform-specific file extensions.\n\nRename your license files:\n\n- Android license: `vesdk_license.android`\n- iOS license: `vesdk_license.ios`\n\nThe licenses should be located on a project level. We recommend putting them into the `{PROJECT_ROOT}/assets/` folder.\nPass the relative file path (based on the project root) without the extension to the `unlockWithLicense` function to unlock both iOS and Android:\n\n```dart\nVESDK.unlockWithLicense(\"assets/vesdk_license\");\n```\n\nOpen the editor with a video:\n\n```dart\nVESDK.openEditor(Video(\"assets/video.mp4\"));\n```\n\nPlease see the [API documentation](https://pub.dev/documentation/video_editor_sdk) for more details and additional [customization and configuration options](https://pub.dev/documentation/imgly_sdk).\n\n## Example\n\nPlease see our [example project](./example) which demonstrates how to use the Flutter plugin for VideoEditor SDK.\n\n## License Terms\n\nMake sure you have a [commercial license](https://img.ly/pricing?product=vesdk\u0026?utm_campaign=Projects\u0026utm_source=Github\u0026utm_medium=VESDK\u0026utm_content=Flutter) for VideoEditor SDK before releasing your app.\nA commercial license is required for any app or service that has any form of monetization: This includes free apps with in-app purchases or ad supported applications. Please contact us if you want to purchase the commercial license.\n\n## Support and License\n\nUse our [service desk](https://support.img.ly) for bug reports or support requests. To request a commercial license, please use the [license request form](https://img.ly/pricing?product=vesdk\u0026?utm_campaign=Projects\u0026utm_source=Github\u0026utm_medium=VESDK\u0026utm_content=Flutter) on our website.\n","funding_links":[],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimgly%2Fvesdk-flutter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimgly%2Fvesdk-flutter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimgly%2Fvesdk-flutter/lists"}