What EffectCraft is for
Think of a composition as a canvas with time. Layers contribute images, shapes or text; properties such as position and opacity change through keyframes. The official project describes effects, expressions and compositing tools. Those descriptions are a feature inventory, not our validation of every effect.
Use a compositor when the task is an animated title, a layered graphic or a visual effect. Assembling and trimming a longer video is a different starting point; our FilmCraft review covers one small video-export check. Do not choose an app solely because its panels resemble a tool you already know.
Official download and installation choices
Start at the official product page or storytold/effectcraft on GitHub. Choose ArtCraft Launcher for installation and updates across the suite, or a standalone installer for this app. We checked v0.8.0; use its release asset list rather than assuming the launcher and editor share a version.
For the desktop interface, choose the macOS universal disk image, a Windows package for your processor or a Linux package that fits your distribution. A macOS CLI ZIP is a headless tool, not the graphical app. The downloadable web build is for hosting yourself; its presence does not identify a hosted browser editor.
Keep the release’s SHA256SUMS.txt with the package. Complete the operating system’s normal installation prompts, then open a new test project. Source builds are a separate developer path with their own requirements in the repository.
Build a first fade without external footage
Use a 320 × 180 composition, 30 fps and a two-second duration. Add one full-size red solid. Set opacity to 0 at the start and 100 at one second, keeping both keys within the composition’s active duration. Save under a new name before adding more layers.
For a graphical first session, the equivalent exercise is to create a composition, add a solid and animate its opacity. That is a suggested exercise, not a GUI journey we verified. The commands below reproduce the path we actually ran with the release CLI in a fresh folder.
effectcraft-cli run comp.new '{"name":"Main","width":320,"height":180,"frameRate":30,"duration":2,"background":"#000000"}' layer.newSolid '{"name":"Red card","color":"#dc3723","width":320,"height":180}' --empty --save-as fixture.ecproj --json
effectcraft-cli set Main '#1' transform/opacity 0 --time 0 --project fixture.ecproj --save --json
effectcraft-cli set Main '#1' transform/opacity 100 --time 1 --project fixture.ecproj --save --json
effectcraft-cli render-frame --comp Main --time 0 --out start.png --project fixture.ecproj --json
effectcraft-cli render-frame --comp Main --time 0.5 --out middle.png --project fixture.ecproj --jsonWhat our independent check found
A fresh CLI process reopened the saved project. At 0.5 seconds, the opacity property read 50. Both rendered files were 320 × 180 PNGs. Their center pixels were black at time zero and RGB 110, 28, 18 at the midpoint: the expected half-opacity red over black, rounded to 8-bit samples.
This is a basic keyframe-and-render check. It does not measure animation quality over every frame, export speed, video codecs, audio sync or complicated effects. The original project, two frames and machine-readable record are available so the result can be checked rather than inferred from an app screenshot.

After Effects migration needs a separate check
The project README describes EffectCraft as alpha and says it cannot open native .aep or .aepx projects or run After Effects plug-ins. Its native .ecproj file is a different project format. Similar shortcuts and panels do not bridge those requirements.
Before attempting a real job, list its fonts, footage, effects, expressions, plug-ins and delivery format. Rebuild one short copied example and inspect the receiving file. We have not tested After Effects interchange, text layout, 3D, camera footage, audio, the full effect library or platform-to-platform behavior.
Finish the first project with a video export
The follow-up test rendered the same two-second composition as H.264 without audio. Independent ffprobe inspection found a 320 × 180 video, 30 fps, exactly 60 decoded frames and a two-second video duration. ffmpeg decoded it with error detection enabled and returned success.
This gives the exercise a delivered file as well as two PNG frames. It does not prove support for alpha video, ProRes, audio, every effect or hardware rendering. For a different destination, agree on the format and transparency requirements before choosing export settings.
effectcraft-cli render --comp Main --out rendered.mp4 --format h264 --start 0 --end 2 --fps 30 --audio off --project fixture.ecproj --json
ffprobe -v error -count_frames -show_streams rendered.mp4
ffmpeg -v error -xerror -i rendered.mp4 -f null -Common first-composition problems
If the fade stays black, check that the solid covers the composition, its layer is enabled and the opacity keys use the intended times. Our example places the second key at one second inside a two-second layer; putting a key at the exclusive end of a layer can produce a warning.
If a title renders differently, check the actual font and missing-glyph behavior on the rendering machine. We used a solid, so the tested path does not establish text shaping or font portability. Add one text layer and compare its rendered output before relying on a template that uses several fonts.
If you need a transparent result, an opaque H.264 sample is insufficient. Select a delivery format that supports your required channels and inspect it in the receiving program. A black composition background and a transparent alpha channel are different output requirements.
Sources & evidence
Checked October 12, 2026. Source pages, discussions and releases can change. GetPhotoCraft is independent of ArtCraft.