Skip to content

[Platform][OpenRouter] Introduce video generation - #1975

Open
lochmueller wants to merge 8 commits into
symfony:mainfrom
lochmueller:feature/openrouter-video-generation
Open

lochmueller wants to merge 8 commits into
symfony:mainfrom
lochmueller:feature/openrouter-video-generation

Conversation

@lochmueller

Copy link
Copy Markdown
Contributor
Q A
Bug fix? no
New feature? yes
Docs? yes
Issues
License MIT

Add the new video generation API of OpenRouter incl. example.

Docs: https://openrouter.ai/docs/guides/overview/multimodal/video-generation

@carsonbot carsonbot added Status: Needs Review Feature New feature Platform Issues & PRs about the AI Platform component labels Apr 20, 2026
@lochmueller
lochmueller force-pushed the feature/openrouter-video-generation branch from b97eb0c to d4b78f3 Compare April 21, 2026 06:20
Comment thread examples/openrouter/video-generation.php Outdated
Comment thread src/platform/src/Bridge/OpenRouter/Video/ModelClient.php Outdated
@lochmueller
lochmueller force-pushed the feature/openrouter-video-generation branch 2 times, most recently from 75dc6aa to f6bab3f Compare May 14, 2026 20:20
if (($message['content'][0]['type'] ?? '') === 'image_url') {
return [
'frame_images' => [
array_merge($message['content'][0], ['frame_type' => 'first_frame']),

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

quite an assumption that it is first_frame and not last_frame ... 🤔

@chr-hertel

Copy link
Copy Markdown
Member

What keeps me a bit busy thinking here is the input data - what makes sense?

for text-to-speech i just merged a plain string - that's what we also usually use if there's only string as input - no need for wrapping it into Text - but then there's that frame_images (even with frame_type), input_references, and provider.

what do you think about making them options?

$result = $platform->invoke('google/veo-3.1-lite', 'Animate the blue elephant, [
    'duration' => 4,
    'resolution' => '720p',
    'aspect_ratio' => '16:9',
    'generate_audio' => false,
    'first_frame' => new ImageUrl(...),
    'last_frame' => Image::fromFile(...),
    'input_reference => new ImageUrl(...),
    'provider' => [
        'options' => [
            'google-vertex' => [
                'parameters' [
                    'personGeneration' => 'allow',
                    'negativePrompt' => 'blurry, low quality',
                ],
            ],
        ],
      ],
    ],
]);

@chr-hertel

Copy link
Copy Markdown
Member

With PR #2408 merged you could rebase and adopt async jobs here :)

@lochmueller
lochmueller force-pushed the feature/openrouter-video-generation branch 2 times, most recently from f6bab3f to ecf2ca2 Compare September 22, 2026 17:52
@chr-hertel

Copy link
Copy Markdown
Member

Sorry, this comment still needs to be addressed:
#1975 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature New feature Platform Issues & PRs about the AI Platform component Status: Needs Review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants