Skip to content

Agent-first generation: runnable scripts for media generation at scale#13

Open
yining1023 wants to merge 6 commits intomainfrom
agent-first-generation
Open

Agent-first generation: runnable scripts for media generation at scale#13
yining1023 wants to merge 6 commits intomainfrom
agent-first-generation

Conversation

@yining1023
Copy link
Copy Markdown
Member

Update description:

Agent-first media generation at scale. Generate videos, images, and audio with Runway's API — batch Ad campaigns, product videos, multishot stories, and creative iteration. Supports seedance2, gen4.5, veo3, and more.

Add generation skills that run directly via uv run — no SDK setup required:

  • scripts/: generate_video.py, generate_image.py, generate_audio.py, list_models.py, get_task.py, and shared runway_helpers.py
  • skills/: rw-generate-video, rw-generate-image, rw-generate-audio

README rebranded with two use cases:

  1. Generate media at scale (primary) — agent runs scripts directly
  2. Integrate into your app (secondary) — existing integration skills

…ebrand

Add generation skills that run directly via `uv run` — no SDK setup required:
- scripts/: generate_video.py, generate_image.py, generate_audio.py,
  list_models.py, get_task.py, and shared runway_helpers.py
- skills/: rw-generate-video, rw-generate-image, rw-generate-audio

All generation scripts and skills include seedance2 (36 credits/sec) with
text-to-video, image-to-video, and video-to-video support.

README rebranded with two use cases:
1. Generate media at scale (primary) — agent runs scripts directly
2. Integrate into your app (secondary) — existing integration skills

Plugin metadata updated to v2.0.0 with agent-first positioning.

Made-with: Cursor
- generate_audio.py: fix TTS voice format to {type: "runway-preset", presetId}
- generate_image.py: default to gemini_2.5_flash (Nano Banana Pro), auto-select
  correct ratio per model (1344:768 for gemini, 1280:720 for others)
- generate_video.py: auto-correct duration for veo3 models (valid: 4, 6, 8),
  handle seedance2 VTV without ratio/duration
- runway_helpers.py: add seedance2 to model registry, add valid durations for
  veo3 models, improve error output with validation details
- list_models.py: add requests dependency
- rw-generate-image SKILL.md: update default model to gemini_2.5_flash

Made-with: Cursor
- generate_video.py: use videoUri (not promptVideo) for gen4_aleph VTV,
  remove duration/ratio from gen4_aleph VTV (not supported)
- generate_audio.py: use audioUri for isolate/dub, targetLang (not
  targetLanguage) for dub, media object + voice object for sts
- generate_image.py: error on gen4_image_turbo without reference images
- runway_helpers.py: veo3 only supports duration 8 (not [4, 6, 8])
- rw-integrate-audio SKILL.md: fix TTS to promptText + voice object,
  isolate to audioUri, dub to audioUri + targetLang, sts to media + voice
- rw-integrate-video SKILL.md: gen4_aleph VTV uses videoUri not promptVideo
- rw-generate-audio SKILL.md: add STS example, document voice presets

Made-with: Cursor
- runway_helpers.py: rewrite upload_file to use two-step presigned URL
  flow (POST /v1/uploads for uploadUrl+fields, then POST file to that URL)
- Fix seedance2 ratio docs everywhere: API only accepts pixel-based ratios
  (1280:720, 720:1280, 960:960, etc.), not shorthands (16:9)
- All 14 test scenarios passed: TTV (gen4.5, seedance2), ITV (gen4.5),
  VTV (gen4_aleph, seedance2), image (gemini_2.5_flash, gen4_image),
  TTS (Noah, Leslie), SFX, voice isolation, speech-to-speech, dubbing

Made-with: Cursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant