Skip to content

Conversation

@maerch
Copy link
Member

@maerch maerch commented Dec 4, 2025

Summary

Add comprehensive Runware API integration for AI image and video generation, providing access to multiple state-of-the-art models through a unified HTTP REST interface.

Key Features

Infrastructure

  • HTTP REST API client - Direct API integration replacing WebSocket SDK for consistency with other providers
  • Async polling for video - Automatic status polling with configurable intervals for video generation tasks
  • Dimension constraints system - Per-provider inline configuration for model-specific resolution limits
  • Provider partner switch - Example app UI to switch between Fal.ai, OpenAI, and Runware

Image Providers (Text-to-Image & Image-to-Image)

Provider AIR ID Capabilities
FLUX.2 [dev] bfl:4@1 T2I, I2I (4 ref images)
FLUX.2 [pro] bfl:5@1 T2I, I2I (9 ref images, prompt upsampling)
FLUX.2 [flex] bfl:6@1 T2I, I2I (10 ref images, best text rendering)
Seedream 4.0 bytedance:5@0 T2I, I2I (14 ref images, ultra-fast 2K/4K)
Nano Banana 2 Pro google:4@2 T2I, I2I (14 ref images)
GPT Image 1 openai:1@1 T2I, I2I (16 ref images, root-level param)

Video Providers (Text-to-Video & Image-to-Video)

Provider AIR ID Features
Veo 3.1 google:3@2 Native audio, cinematic quality, 1080p
Veo 3.1 Fast google:3@3 Faster generation, same quality
Sora 2 openai:2@1 OpenAI's latest video model
Sora 2 Pro openai:2@2 Extended capabilities

Quick Actions Support

  • All I2I providers support: editImage, swapBackground, styleTransfer, artistTransfer, createVariant, remixPage
  • Multi-image: combineImages quick action enabled for models supporting multiple reference images
  • All I2V providers support: imageToVideo, animateImage

Documentation

  • Provider architecture and development patterns (specs/providers/)
  • Runware-specific implementation notes and model catalog
  • Claude skill for automated provider generation (partner-providers-runware)
  • i18n translations for all provider UI labels

Changes

  • packages/plugin-ai-image-generation-web/src/runware/ - Image providers and HTTP client
  • packages/plugin-ai-video-generation-web/src/runware/ - Video providers with async polling
  • specs/providers/ - Architecture docs, patterns, and Runware catalog
  • .claude/skills/partner-providers-runware.md - Provider generation skill
  • examples/ai/src/ - Provider partner switch and Runware configuration

Test plan

  • Verify T2I generation for all 6 image providers
  • Verify I2I with single reference image
  • Test combineImages quick action with multiple images (2-4)
  • Test T2V generation for Veo 3.1 and Sora 2
  • Test I2V with first frame input
  • Verify provider partner switch in example app
  • Check async polling completes for video generation

Add initial spec for integrating Runware as an AI provider, covering:
- SDK initialization and configuration
- Image inference API (text-to-image, image-to-image)
- Video inference API (text-to-video, image-to-video)
- Available video models (Kling, PixVerse, MiniMax, Veo, etc.)
- Provider-specific settings for video generation
- Quick action support mapping
- Implementation checklist
- Add parameter classification into UI-relevant and technical groups
- Document dimension handling with aspect ratio mapping
- Convert provider examples to generic templates for reusability
- Add link to PROVIDERS.md for available models
Add PROVIDERS.md with complete catalog of Runware-available models:
- Image generation models from 10+ providers (BFL, Google, OpenAI, etc.)
- Video generation models (KlingAI, MiniMax, PixVerse, Veo, etc.)
- AIR identifiers, capabilities, and specifications for each model
Move parameter classification and dimension handling documentation
to PARAMETERS.md for better organization and maintainability.
Add comprehensive per-model specifications with OpenAPI-like input
schemas for provider implementation. Each model now includes:
- AIR identifier and capabilities
- Dimension/resolution constraints
- Input schema with proper UI component annotations

Image models cover: BFL FLUX, Google Imagen, OpenAI GPT Image 1,
ByteDance Seedream/SeedEdit, Ideogram 3.0 variants, KlingAI Kolors,
and Bria FIBO.

Video models cover: KlingAI, MiniMax Hailuo, PixVerse, Vidu, Google
Veo, Runway Gen-4 Turbo, ByteDance Seedance, and Lightricks LTX.

Schemas follow existing provider patterns with x-imgly-builder
components, enum labels, and property ordering for consistent UI.
The AIR identifier was incorrectly documented as bfl:1@1.
Per official Runware BFL documentation, FLUX.1.1 Pro uses bfl:2@1.
Document how Runware handles image uploads for seedImage and frameImages:
- API-level imageUpload taskType with request/response format
- Supported image formats (Data URI, Base64, URL)
- JavaScript SDK usage patterns
- Relation to inference method parameters
- Implementation notes for IMG.LY plugin (no explicit upload needed)
Add new provider integration for Runware API with support for multiple
image generation models including FLUX, Ideogram, Imagen, and more.
Includes both text-to-image and image-to-image capabilities.
Replace @runware/sdk-js WebSocket SDK with direct HTTP REST API calls
for better consistency with other providers in the codebase.

Changes:
- createRunwareClient.ts: Implement HTTP client using fetch() to
  POST to the Runware REST API endpoint
- types.ts: Remove SDK dependency, re-export RunwareClient type
- createImageProvider.ts: Support AbortSignal for request cancellation,
  fix isNaN -> Number.isNaN lint error
- Flux11Pro.ts, Flux11ProUltra.ts: Prettier formatting only

The HTTP client sends requests in the standard Runware format:
[{ taskType: "imageInference", taskUUID: "<uuid>", model: "<air>", ... }]

The proxy URL (config.proxyUrl) handles authentication.
Use preset sizes with valid dimensions (128-2048px, divisible by 64)
instead of complex custom dimension logic. Removes unused custom size
support to comply with API requirements.
Add providers for:
- Google: Imagen 3.0, Imagen 3.0 Fast, Nano Banana Pro
- ByteDance: Seedream 3.0
- Bria: Bria 3.2
- Kling AI: Kolors 2.0
- BFL: FLUX.1 Krea [dev]
- Other: HiDream-I1 Full, Qwen-Image, Flex.1-alpha
Add detailed specifications for Imagen 3.0, Imagen 3.0 Fast, Seedream 3.0,
Bria 3.2, Kolors 2.0, HiDream-I1 Full, FLUX.1 Krea [dev], Qwen-Image,
Flex.1-alpha, and Nano Banana Pro. Add "Tested" column to overview table
for manual test tracking.
Add comprehensive documentation for AI provider development:
- Architecture overview and provider patterns
- UI guidelines for schema-driven forms
- Schema templates for T2I, I2I, T2V, I2V providers
- Quick action integration patterns
- Runware-specific implementation notes (HTTP REST over WebSocket)
- Runware provider catalog with model specifications
Remove spec files that are superseded by the new canonical specs in
specs/providers/. The Runware integration specs have been consolidated
and the other specs were for completed or abandoned features.
Provider generation now relies on specs/providers/ documentation
instead of duplicated agent instructions.
…lementation

Adds a Claude skill to manage the lifecycle of Runware AI providers:
- Discovery phase: fetch Runware docs, compare against tracked models
- Implementation phase: create providers following specs/providers/ patterns
Remove all hardcoded Runware image provider implementations in preparation
for the partner-providers-runware skill workflow. Providers will now be
dynamically added via the skill system rather than being maintained manually.
Add initial scaffolding for Runware video providers in the video generation
plugin. This includes:

- HTTP REST API client for Runware video inference
- createVideoProvider factory with quick action support
- Types and utilities for video aspect ratio handling
- Package export for runware subpath

Providers will be added dynamically via the partner-providers-runware skill.
…terns

Add comprehensive documentation for provider Feature API and i18n integration:
- feature-api.md: Feature flag naming conventions, registration patterns
- i18n.md: Translation key conventions, required translations

Rename schemas/ to patterns/ to better reflect content (implementation
patterns, not just JSON schemas). Update all references accordingly.
…tterns

Most providers don't need feature flags - removed plugin-level flag documentation
that's irrelevant for provider authors. Now clearly states this is a rare pattern
only needed for toggleable sub-features like Recraft's style groups.
Reduced to essential provider tasks:
- Required: history label registration
- Optional: custom enum translations (with schema alternative)
- Reference to defaultTranslations.ts for adding reusable values
Rename ARCHITECTURE.md, PROVIDERS.md, and UI-GUIDELINES.md to lowercase
for consistency. README.md remains uppercase per convention. Update all
references in specs and skill files.
Add UI dropdown to switch between Fal.ai, OpenAI, and Runware provider
partners. Extracts provider configurations into dedicated files for
cleaner organization and easier partner-specific customization.
- Add reference to specs/providers/patterns/ui-guidelines.md as required
  reading before implementation (controls which params to expose in UI)
- Add step 6 to register providers in examples/ai/src/runwareProviders.ts
- Update spec file paths from schemas/ to patterns/ directory
- Add note about not exposing advanced parameters (enhance_prompt, etc.)
Add a summary checklist at the end of implementation-notes.md to ensure
all steps are completed, including the often-missed step of adding
providers to the example app.
Implement first Runware provider for Black Forest Labs FLUX.2 [dev] model
with text-to-image generation capability using standard aspect ratios.
- Rename modelAIR to modelId for clarity
- Add comprehensive JSDoc documentation to provider options
- Support custom headers parameter in createRunwareClient
- Re-export RunwareProviderConfiguration from provider modules
Add Runware provider documentation including:
- Provider configuration examples
- API reference for all provider functions
- Panel IDs for UI integration
- Asset history source IDs
Update implementation checklist and skill documentation to require
README updates when adding new Runware providers, including sections
for provider configuration, API reference, panel IDs, and history sources.
Add support for multiple reference images in Runware providers, enabling
the combineImages quick action. Also align naming and configuration
patterns with fal.ai for consistency.

Changes:
- Add convertImageUrlArrayForRunware utility for processing image arrays
- Update createImageProvider to accept image_urls in addition to image_url
- Add deprecated middleware field for backwards compatibility
- Standardize output field order in video provider
- Enable combineImages quick action for all I2I providers that support
  multiple reference images (FLUX.2 dev/pro/flex, Seedream 4, Nano Banana
  2 Pro, GPT Image 1)
@vercel
Copy link

vercel bot commented Dec 4, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
plugins-bytedance Ready Ready Preview Comment Dec 4, 2025 11:41am
plugins-web Ready Ready Preview Comment Dec 4, 2025 11:41am

@maerch maerch changed the title feat(runware): add multi-image support and align with fal.ai patterns feat(runware): add Runware AI provider integration for image and video generation Dec 4, 2025
The Runware providers use custom REST API clients via fetch() instead of
the SDK. The dependency was listed in package.json but never imported.
- Veo31/Veo31Fast: Duration is fixed at 8 seconds (not 5 or 8)
- Veo31/Veo31Fast: Remove unsupported 1:1 aspect ratio
- Sora2Pro: Add missing 1792×1024 and 1024×1792 resolutions
Dead code from when client management was refactored to per-provider initialization.
Add two new Runware image generation providers:

- Seedream 4.5 (bytedance:seedream@4.5): ByteDance's improved model with
  enhanced facial detail and text generation, 2K minimum resolution output
- GPT Image 1 Mini (openai:1@2): Cost-efficient variant of GPT Image 1
  with ~80% cost savings and same capabilities

Both providers support text-to-image and image-to-image generation with
full quick action support.
@maerch maerch merged commit 87eccd8 into main Dec 4, 2025
10 checks passed
@maerch maerch deleted the integration/runway branch December 4, 2025 11:53
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