video_style_imagekit
Introduction
Video Style: ImageKit provides an imagekit video provider plugin for the Video Style ecosystem.
It connects Drupal-managed source videos with ImageKit-based delivery while keeping the editorial workflow inside Drupal Media. The module schedules synchronization when delivery is needed, serves a Drupal fallback immediately, tracks provider-specific asset metadata, and can generate poster output for native HTML5 video rendering.
Who this module is for
- Developers who want a maintainable ImageKit integration with queue-backed synchronization and provider-specific delivery logic.
- Site builders who want reusable Video styles powered by ImageKit instead of wiring transformations manually.
- Product owners and digital teams who want remote delivery, modern codecs, poster handling, and responsive video support without moving editorial workflows out of Drupal.
Features
- Reads ImageKit credentials from
settings.phporsettings.local.php - Schedules Drupal-managed video files for ImageKit synchronization on first delivery request
- Retries failed synchronization asynchronously through Drupal cron and a Queue API worker
- Attempts remote ImageKit cleanup when Drupal video files are deleted, with retry handling for failures
- Delivers transformed video URLs through the official ImageKit PHP SDK
- Stores provider-specific asset metadata in the shared
video_style_assetregistry - Supports shared video dimensions plus ImageKit-native poster thumbnail controls
- Optionally downloads generated poster images into Drupal-managed local files per Video style
- Exposes an ImageKit provider in Video style entities
- Declares the
sourceresponsive strategy for Responsive Video Style
Why this integration matters
Many teams want the editorial convenience of Drupal-managed media combined with the performance and transformation capabilities of a dedicated delivery provider.
Video Style: ImageKit is built for exactly that use case. Drupal remains the source of truth for content and media workflows, while ImageKit handles remote delivery and transformations. The integration is designed to be operationally realistic: synchronization is scheduled asynchronously, failed work is retried, cleanup is tracked, and the current render path can still deliver a safe fallback immediately.
Delivery behavior
- The provider schedules source videos for asynchronous ImageKit synchronization on first delivery request.
- The current render path can still serve the local Drupal file as a final fallback source.
- Poster derivatives are tracked separately per file and Video style.
- Poster output can be delivered either as remote ImageKit URLs or as localized Drupal-managed files after asynchronous download.
- Derived video URLs are generated at delivery time using ImageKit URL transformations.
- If synchronization or cleanup fails, the module tracks the state and retries the work asynchronously instead of relying on repeated frontend requests.
Codec and poster support
The provider lets each Video style choose between H.264, VP9, and AV1 output.
For poster generation, the provider supports shared dimensions as well as ImageKit-native controls for crop method, crop mode, focus area, and frame timestamp. This makes the module suitable for both developer-driven delivery architectures and design-sensitive video use cases.
Administration
The module exposes administration pages at:
/admin/config/media/video-styles/imagekit/admin/config/media/video-styles/assets
The settings page shows runtime status and setup instructions. Credentials are intentionally kept in runtime settings and not stored in Drupal configuration.
The shared Video style asset page lists ImageKit delivery rows per Drupal file and Video style, including delivery status and expected-but-not-yet-requested assets when they can be derived from current display configuration.
Ecosystem links
- Video Style — base module providing reusable Video styles and provider APIs
- Responsive Video Style — responsive breakpoint mapping for Video styles
Installation
- Install Video Style first.
- Install this module and the official ImageKit PHP SDK.
- Add the runtime credentials to
settings.phporsettings.local.php. - Create one or more Video styles using the ImageKit provider.
- Use those Video styles directly or together with Responsive Video Style.
Roadmap
-
Needed for a beta release
- Broader real-world testing of synchronization, retries, cleanup, and poster workflows
- Expanded automated test coverage for delivery state changes and administrative flows
- Additional documentation and administrator-facing help text
- Further hardening around operational edge cases and failure handling
-
Needed for a stable release
- Resolved major and critical issues reported by the community
- Stable expectations around the provider API and ImageKit integration behavior
- Production-oriented documentation for setup, operations, and troubleshooting
- Confidence from broader community testing and adoption
-
Additional 1.x goals
- Further diagnostics and operational visibility
- More delivery and poster options where justified by real-world use cases
- Continued ecosystem alignment with additional Video Style provider modules
Support / community
- Issue queue
- Bug reports, feature requests, operational feedback, and architectural discussion.
- Maintainer profile
- For more about the maintainer and related Drupal work.
Maintainer
David Pacassi Torrico (dpacassi)Software Architect & Developer Backend
Sponsorship
The initial implementation of this module was fully sponsored by Helga.
If you are interested in sponsoring additional features, provider integrations, hardening work, or long-term maintenance, please get in touch through the issue queue or maintainer profile.