From runway-pack
Animates images to video and restyles videos using RunwayML Python client. For AI-driven video generation from images or existing footage.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin runway-packThis skill is limited to using the following tools:
Image-to-video and video-to-video generation: animate still images and transform existing videos.
Generates text-to-video content via RunwayML Python client: select models like gen4_turbo, engineer prompts, batch process, output in ratios like 16:9 or 9:16.
Integrates RunwayML video generation APIs into server-side code, covering text-to-video, image-to-video, and video-to-video with Node.js SDK examples and model recommendations.
Transforms static images into dynamic videos using each::sense AI API. Creates animations, Ken Burns effects, cinemagraphs, product showcases, portrait and landscape motion from photos.
Share bugs, ideas, or general feedback.
Image-to-video and video-to-video generation: animate still images and transform existing videos.
runway-core-workflow-afrom runwayml import RunwayML
client = RunwayML()
# Animate a still image
task = client.image_to_video.create(
model='gen3a_turbo',
prompt_image='https://your-cdn.com/landscape.jpg', # URL to source image
prompt_text='Camera slowly pans right revealing mountains, gentle wind in trees',
duration=5,
)
result = task.wait_for_task_output()
print(f"Animated video: {result.output[0]}")
import base64
# Load local image as data URI
with open('photo.jpg', 'rb') as f:
image_data = base64.b64encode(f.read()).decode()
data_uri = f"data:image/jpeg;base64,{image_data}"
task = client.image_to_video.create(
model='gen3a_turbo',
prompt_image=data_uri,
prompt_text='Subtle motion, gentle camera push in, atmospheric lighting',
duration=5,
)
# Transform an existing video with a new style
task = client.video_to_video.create(
model='gen3a_turbo',
prompt_video='https://your-cdn.com/input-video.mp4',
prompt_text='Transform to watercolor painting style, soft colors, artistic brushstrokes',
)
result = task.wait_for_task_output()
print(f"Styled video: {result.output[0]}")
Supported formats: JPEG, PNG, WebP
Supported resolutions:
- Gen-3 Alpha Turbo: 1280x768 or 768x1280
- Input images are automatically resized
Max file size: 16MB (URL), varies for data URI
| Error | Cause | Solution |
|---|---|---|
400 Invalid image | Unsupported format | Use JPEG, PNG, or WebP |
413 Image too large | File exceeds limit | Resize to under 16MB |
| Poor animation quality | Prompt doesn't describe motion | Add camera/motion keywords |
| Style transfer too subtle | Weak prompt | Be more specific about target style |
Error handling: runway-common-errors