From runway-pack
Generates text-to-video clips using Runway Gen-3 Alpha via Python SDK. Polls tasks, handles errors, downloads output. For AI video workflows.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin runway-packThis skill is limited to using the following tools:
Generate your first AI video from a text prompt using Runway's Gen-3 Alpha model.
Integrates RunwayML Python SDK for AI video generation from prompts/images. Polls tasks, handles auth/credits errors, for creative AI workflows.
Generates videos from text, images, or videos using Runway API models like seedance2, gen4.5, veo3 via Python scripts run with uv. Useful for AI video prototyping in code workflows.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Share bugs, ideas, or general feedback.
Generate your first AI video from a text prompt using Runway's Gen-3 Alpha model.
runway-install-authfrom runwayml import RunwayML
client = RunwayML()
# Create a text-to-video generation task
task = client.image_to_video.create(
model='gen3a_turbo',
prompt_text='A golden retriever running through a field of sunflowers, cinematic lighting, slow motion',
duration=5, # 5 or 10 seconds
ratio='16:9', # 16:9 or 9:16
)
print(f"Task created: {task.id}")
import time
# The SDK has a built-in helper for polling
task_result = client.tasks.retrieve(task.id)
# Or poll manually
while task_result.status not in ('SUCCEEDED', 'FAILED'):
time.sleep(5)
task_result = client.tasks.retrieve(task.id)
print(f" Status: {task_result.status}")
if task_result.status == 'SUCCEEDED':
print(f"Video URL: {task_result.output[0]}")
else:
print(f"Failed: {task_result.failure}")
import urllib.request
if task_result.status == 'SUCCEEDED':
video_url = task_result.output[0]
urllib.request.urlretrieve(video_url, 'output.mp4')
print("Video saved to output.mp4")
# Simpler approach — SDK polls automatically
task = client.image_to_video.create(
model='gen3a_turbo',
prompt_text='Ocean waves crashing on rocky cliffs at sunset, aerial view',
duration=5,
)
# Wait for completion (default timeout: 10 minutes)
result = task.wait_for_task_output()
print(f"Video: {result.output[0]}")
| Error | Cause | Solution |
|---|---|---|
Task FAILED | Content policy violation | Adjust prompt to comply with content policy |
402 Insufficient credits | No API credits | Add credits at dev.runwayml.com |
| Timeout | Generation taking too long | Increase timeout or use shorter duration |
| Low quality output | Prompt too vague | Add style keywords: "cinematic", "4K", "professional" |
Advanced text-to-video: runway-core-workflow-a