mrkeyoor.com_
Tue 01 Sept 17:44 UTC
AI Toolsevaluationupdated 26 Aug 2026

oil-motion review

Oil Motion is documented mainly in Chinese, with an English README but no merged English version of its operating skill or nine reference guides. It is an agent skill for turning generated video or image sequences into web animation controlled by scroll, pointer movement, dragging, touch, orientation, audio, data, or component state.

+97stars / 7d
Verdict

Our Oil Motion run installed 35 packages and built successfully, but its tests stopped with 3 collection errors because PIL was missing. That result supports a supervised trial for teams whose central effect needs generated structural change and direct user control. Use Motion, Lottie, or Theatre.js for ordinary interface animation; Oil Motion asks for model access, visual approval, media processing, and browser QA before it earns a production role.

We ran it

Lab card: what happened when we ran oil-motionScreenshot of oil-motion (github.com/oil-oil/oil-motion)
Install✓ · 11s35 packages · 37 MB
Build✓ · 7s
Tests✗ · 6s35 passed · 0 failed · 3 errors of 38 (pytest)
Known vulns0(pip-audit)
Repo47 files~7,664 lines of source · 3.3 MB · 0 CI workflows · tests dir

Answers from our run

Does oil-motion build from source?

Dependencies installed in 11 seconds (35 packages), and the build succeeded in 7 seconds. We cloned commit 7501e64 into a clean Debian container with 3 CPUs and no project-specific setup.

Do oil-motion's tests pass?

Yes: 35 of 38 passed when we ran the project's own test command (pytest), with 3 collection errors. Some failures need services or credentials a bare container does not have.

Does oil-motion have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use oil-motion?

English-only teams that must audit every production instruction: the English README exists, but SKILL.md and nine reference guides are Chinese, while their translation remains an open pull request.

What are the alternatives to oil-motion?

Motion, Lottie for Web, Theatre.js. Our Oil Motion run installed 35 packages and built successfully, but its tests stopped with 3 collection errors because PIL was missing.

Setup3/511-second install, but three test modules could not import Pillow
Docs3/5Clear English overview; operating guides remain Chinese
Community3/52,039 stars, with one open issue and one open pull request
Maturity2/5Created August 2026, no tagged release, and suite did not collect

Who it’s for

Web teams making product teardowns, character reactions, or scene transitions that must follow user input.
Designers and developers willing to approve key frames and inspect generated motion before it reaches a page.
Teams that need an agent-guided route through frame cleanup, asset selection, runtime wiring, and fallback behavior.
Chinese-reading engineers who can audit the full production and QA instructions.

Who it’s NOT for

English-only teams that must audit every production instruction: the English README exists, but SKILL.md and nine reference guides are Chinese, while their translation remains an open pull request.
Teams that cannot use a hosted video model or store a ZenMux API key locally: the skill names minimax/minimax-h3 as its default generation route.
Developers expecting a normal Python install to prove readiness: our suite stopped during collection because three test modules could not import PIL.
Production teams requiring tagged versions and a settled compatibility record: the repository has no GitHub release and was created on 2026-08-07.
Teams trying to pack a large two-dimensional sequence into one sprite sheet without browser-specific testing: the only open user issue reports hitting a 4096-pixel texture limit with a 16-by-14 layout.

Setup reality

Our sandbox installed Oil Motion in 11 seconds, adding 35 packages and using 37 MB on disk. The build passed in 7 seconds. Tests exited 1 after 6 seconds: 35 passed, while 3 of 38 hit collection or setup errors because PIL was missing. Pip-audit found 0 known vulnerabilities.

The documented workflow needs Python 3, Pillow, ffmpeg, and ffprobe. Its requirements file also lists NumPy and PyYAML. Video generation uses ZenMux with minimax/minimax-h3 by default and stores the API key in a local Oil Motion config file.

A finished result still needs approved key frames, a pilot mounted in the real page, visual inspection, and the selected browser runtime. Desktop and mobile assets may differ. Cold-cache loading, fast reversals, resource failure, device rotation, and prefers-reduced-motion all need target-page checks.

8 input sources feed 3 timeline controls

In our Python 3.12 checkout, Oil Motion documented 8 input sources and 3 ways to control time. A generated clip moves forward on its own timeline, while a web effect may need scroll position, pointer coordinates, a drag gesture, device orientation, audio, data, or component state to select the visual state. The skill turns approved media into a timeline and chooses continuous scrubbing, segment playback, or autonomous playback. That distinction keeps a scroll-driven page from being mistaken for a video that must always scrub frame by frame.

The repository at commit 7501e64 contained 47 files and about 7,664 lines of source. Its Python scripts cover budgeting, frame cleanup, chroma work, video compilation, and production approval records. TypeScript assets provide browser controllers and a WebGL chroma renderer. The repository contains working media tools, while page-specific assets, input semantics, and fallback behavior remain the adopting team's responsibility.

1 pilot and SHA-256 approvals block a bad batch

The workflow keeps 2 planning files: a concept contract fixes the requested subject, style, motion, background ownership, input, time control, navigation, and continuity, while a motion brief derives key frames and the production plan. Oil Motion assigns semantic changes such as limbs, structure, materials, contact, and occlusion to generation. Translation, scaling, cropping, damping, and time mapping stay in code. A CSS transform cannot convincingly unfold a product into newly visible parts.

Before producing every clip, the skill requires 1 pilot mounted in the actual page. Approval records include SHA-256 hashes for 5 files: the first frame, last frame, video, contract, and page evidence. A changed artifact invalidates the approval. Chained clips receive two checks: the previous accepted tail must be the next generation input, then the decoded output seam is inspected again. This targets a common failure in generated motion, where identity or composition drifts between apparently related clips.

What happened when we ran it

Our sandbox install succeeded in 11 seconds, adding 35 packages and occupying 37 MB on disk. The build completed successfully in 7 seconds. Our measurement setup was an unprivileged Debian container with 3 CPUs, 8 GB of RAM, Python 3.12, no secrets, and commit 7501e64. We measured the checkout at 3.3 MB.

The test step exited 1 after 6 seconds. Pytest reported 35 passed and 3 collection or setup errors out of 38. All three error traces ended at imports of PIL with ModuleNotFoundError: No module named 'PIL', in test_compile_scroll_video.py, test_production_gate.py, and test_skill_regression.py. The log does not show whether the fix belongs in installation metadata, the test command, or the environment, so we will not assign a cause beyond the missing module.

Pip-audit reported 0 known vulnerabilities in the installed packages. The repository had a tests directory, but no CI workflow files and no Dockerfile. Those are useful limits on the result: the 35 passing tests demonstrate working code paths in our fresh container, while the 3 collection errors mean the full suite never reached a clean run there.

3 delivery routes cover scenes, transparency, and long timelines

The 47-file checkout defines 3 media routes and separates each from playback behavior. A scene with camera movement, environmental light, or ground contact can use baked all-keyframe MP4. Transparent motion with random access or a two-dimensional parameter space can use an alpha WebP atlas. A large, long, one-dimensional transparent sequence can use an all-keyframe chroma MP4 that WebGL keys during playback. The budget script selects one primary route instead of asking the developer to build several.

That selection cannot replace browser testing. The open user issue describes a 16-by-14 sprite layout that hit a 4096-pixel texture-width limit. The current workflow can choose video when an atlas exceeds its budget, but the report remains unanswered and shows why dimensions matter early. The QA guide calls for cold-cache tests, slow networks, fast reversals, zoom, rotation, mobile checks, resource-failure behavior, and a static prefers-reduced-motion fallback in the real page.

The English overview leaves 9 operating guides in Chinese

The English README explains the idea, the 3 media routes, installation, deliverables, and the acceptance checklist. The detailed SKILL.md is Chinese, as are the reference files for prompting, runtime behavior, chroma video, optimization, delivery selection, and QA. An open pull request adds English versions of all nine reference guides, with 1,187 added lines, but it has not been merged.

The 9 untranslated guides matter when an agent makes production decisions. An English-only engineer can understand the promise without being able to review the exact instructions for thresholds, continuity checks, or failure handling on the default branch. Code and shell commands remain readable, yet prose carries much of the judgment. Until the translation lands, international teams should involve a Chinese reader or treat the skill as a source of ideas rather than an audited procedure.

2 open items and no release make this an early production bet

Oil Motion was created on August 7, 2026, and the last push was August 21. GitHub showed 2,039 stars, 157 forks, and 2 open issues and pull requests when fetched on August 26. One is the texture-limit question; the other is the English reference translation. The project has an MIT license and no tagged GitHub release. That is active early interest, with too little history to infer stable interfaces or broad device coverage.

The choice is fairly narrow. Try Oil Motion when generated structural change is the main visual idea, the interaction must control it, and someone can review every stage. A conventional hover, layout transition, or vector sequence will be cheaper to author with Motion, Theatre.js, or Lottie. Here, the 35 passing tests and disciplined pilot process justify experimentation, while 3 collection errors, Chinese operating docs, and no release argue for pinning the tested commit and keeping a static fallback.

Alternatives

ProjectWhat it isPick it when
MotionA JavaScript and React library for DOM, SVG, layout, scroll, and gesture animation.pick this instead when transforms and interface states can produce the effect without generated video frames.
Lottie for WebA browser renderer for vector animations exported from After Effects.pick this instead when a motion designer can supply controlled vector artwork and predictable playback matters most.
Theatre.jsA visual editor and runtime for animating properties in web projects.pick this instead when you want a human-editable timeline over scene properties rather than generated frame media.

What people are saying

  1. [velocity-scout] oil-oil/oil-motion

Sources

  1. Oil Motion repository
  2. Oil Motion English README
  3. Oil Motion skill workflow
  4. Browser texture limit issue
  5. English reference guides pull request
  6. Oil Motion releases

More ai tools reviews

claudian · SkillSpector · robin · mjlab · MoGe · awesome-design-md · the whole board →