MCP tool for applying time-warp speed changes to clips in an OTIO timeline.
Project description
clipwright-speed
AI-facing MCP tool that applies a LinearTimeWarp speed change to clips
in an OpenTimelineIO (OTIO) timeline.
What it does
clipwright_set_speed reads an existing OTIO timeline, attaches (or replaces)
a LinearTimeWarp effect on the target clip(s) using the given speed multiplier,
and writes the result to a new OTIO file. The input timeline is never modified
(non-destructive). Applying the same speed twice replaces rather than stacks
the warp (idempotent).
Tool: clipwright_set_speed
| Parameter | Type | Required | Description |
|---|---|---|---|
timeline |
string |
yes | Path to the input .otio timeline file |
output |
string |
yes | Path for the output .otio file (must differ from timeline) |
options.speed |
float |
yes | Playback speed multiplier (0.25–8.0). Values > 1.0 speed up, < 1.0 slow down. |
options.clip_index |
int | null |
no | Zero-based clip index in V1 (gaps excluded). null applies to all clips. |
Speed range
Valid range is 0.25 to 8.0 inclusive. Values outside this range return an
INVALID_INPUT error with a hint.
Idempotency
Applying clipwright_set_speed twice with the same speed on the same clip
results in exactly one LinearTimeWarp effect — no stacking.
Non-destructive
The input timeline file is never modified. All changes go to the output path.
Foreign warps
Pre-existing LinearTimeWarp effects that were not created by
clipwright-speed (i.e., lacking metadata["clipwright"]) are preserved.
MCP Registration Example
{
"mcpServers": {
"clipwright-speed": {
"command": "clipwright-speed"
}
}
}
Or with an explicit Python path:
{
"mcpServers": {
"clipwright-speed": {
"command": "/path/to/.venv/bin/python",
"args": ["-m", "clipwright_speed.server"]
}
}
}
Prerequisites
- Python 3.11+
- opentimelineio 0.18+
- clipwright 0.3.0+ (core package)
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file clipwright_speed-0.1.0.tar.gz.
File metadata
- Download URL: clipwright_speed-0.1.0.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea1a19f16453b5d823414e73c7e8cbbf1d39ad1dcd4a0e047cea65bb70c70470
|
|
| MD5 |
027b382b1f750e3feb40c598fab7f427
|
|
| BLAKE2b-256 |
40d32e02caee2fd481472cacd87b353cc85918e8845da267cf96582cf59ebd21
|
Provenance
The following attestation bundles were made for clipwright_speed-0.1.0.tar.gz:
Publisher:
publish.yml on satoh-y-0323/clipwright
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
clipwright_speed-0.1.0.tar.gz -
Subject digest:
ea1a19f16453b5d823414e73c7e8cbbf1d39ad1dcd4a0e047cea65bb70c70470 - Sigstore transparency entry: 1851777095
- Sigstore integration time:
-
Permalink:
satoh-y-0323/clipwright@a30ee7a6ac8ee325dc55083a7cb21e31e4ce8abe -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/satoh-y-0323
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a30ee7a6ac8ee325dc55083a7cb21e31e4ce8abe -
Trigger Event:
push
-
Statement type:
File details
Details for the file clipwright_speed-0.1.0-py3-none-any.whl.
File metadata
- Download URL: clipwright_speed-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c09658483b7832cf06824b38bc785ae0e36e1f75b7a4b467c928e82a587d0f6
|
|
| MD5 |
de8a275e436e8f164c3ac3c02c2d4749
|
|
| BLAKE2b-256 |
c7055eaff241dfb81f4ae3d431f5875fecaec88e443ff17184f84cf4506f7999
|
Provenance
The following attestation bundles were made for clipwright_speed-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on satoh-y-0323/clipwright
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
clipwright_speed-0.1.0-py3-none-any.whl -
Subject digest:
0c09658483b7832cf06824b38bc785ae0e36e1f75b7a4b467c928e82a587d0f6 - Sigstore transparency entry: 1851777286
- Sigstore integration time:
-
Permalink:
satoh-y-0323/clipwright@a30ee7a6ac8ee325dc55083a7cb21e31e4ce8abe -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/satoh-y-0323
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a30ee7a6ac8ee325dc55083a7cb21e31e4ce8abe -
Trigger Event:
push
-
Statement type: