Skip to content

feat:Update OpenAPI schema duration constraints for Runway veo3.1#70

Merged
github-actions[bot] merged 1 commit intomainfrom
bot/update-openapi_202603110427
Mar 11, 2026
Merged

feat:Update OpenAPI schema duration constraints for Runway veo3.1#70
github-actions[bot] merged 1 commit intomainfrom
bot/update-openapi_202603110427

Conversation

@HavenDV
Copy link
Contributor

@HavenDV HavenDV commented Mar 11, 2026

Summary by CodeRabbit

Release Notes

  • Bug Fixes
    • Fixed video generation duration constraint for the Veo 3.1 model to enforce an exact 8-second duration for image-to-video and text-to-video operations.

@github-actions github-actions bot merged commit e3a442b into main Mar 11, 2026
1 of 3 checks passed
@coderabbitai
Copy link

coderabbitai bot commented Mar 11, 2026

Walkthrough

This pull request modifies the OpenAPI schema for two Runway video generation endpoints by replacing the default duration value constraint with a constant constraint. The changes affect the veo3.1 variant in both the image-to-video and text-to-video paths.

Changes

Cohort / File(s) Summary
OpenAPI Schema Duration Constraint
src/libs/Runway/openapi.yaml
Replaced duration: default: 8 with duration: const: '8' in the veo3.1 variant for both /v1/image_to_video and /v1/text_to_video endpoints, converting from a default value to a fixed constant constraint.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

🐰 A rabbit hops with joy, hooray! ✨
Duration now locked, precise and steady,
No more defaults to lead astray,
Eight seconds constant, always ready,
Constants reign where defaults play!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title Check ✅ Passed Title check skipped as CodeRabbit has written the PR title.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bot/update-openapi_202603110427

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai bot changed the title feat:@coderabbitai feat:Update OpenAPI schema duration constraints for Runway veo3.1 Mar 11, 2026
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@src/libs/Runway/openapi.yaml`:
- Around line 781-783: The OpenAPI schema has duration defined with type: number
but uses a string constant const: '8', causing generated C# code to assign a
string to a double; change the YAML entries that set duration.const from the
quoted string '8' to the numeric 8 (apply to both occurrences of the duration
const block), so the schema const is a numeric literal matching type: number and
regenerates correct double defaults in RequestVeo3/RequestVeo32 generated
classes.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 60b1812c-d25e-49ec-8623-e02523e15985

📥 Commits

Reviewing files that changed from the base of the PR and between 4b9dee3 and 0e5b264.

⛔ Files ignored due to path filters (71)
  • src/libs/Runway/Generated/Runway.Models.Request12.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestActTwo.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestActTwoCharacterCharacterImage.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestActTwoCharacterCharacterVideo.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestActTwoReferenceCharacterReferenceVideo.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestElevenMultilingualStsV2.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestElevenMultilingualStsV2MediaSpeechToSpeechAudio.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestElevenMultilingualStsV2MediaSpeechToSpeechVideo.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestElevenMultilingualStsV2VoiceRunwayPresetVoice.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestElevenMultilingualV2.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestElevenMultilingualV2VoiceRunwayPresetVoice.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestElevenTextToSoundV2.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestElevenVoiceDubbing.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestElevenVoiceIsolation.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestGemini25Flash.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestGemini25FlashReferenceImage.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestGen3aTurbo.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestGen3aTurboPromptImagePromptImage.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestGen4Aleph.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestGen4AlephReferenceImageReference.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestGen4Image.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestGen4ImageReferenceImage.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestGen4ImageTurbo.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestGen4ImageTurboReferenceImage.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestGen4Turbo.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestGen4TurboPromptImagePromptImage.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestVeo3.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestVeo31.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestVeo312.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestVeo31Fast.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestVeo31Fast2.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestVeo31FastPromptImagePromptImage.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestVeo31PromptImagePromptImage.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestVeo32.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.RequestVeo3PromptImagePromptImage.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response10.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response11.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response12.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response13.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response14.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response15.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response16.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response17.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response18.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response19.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response2.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response20.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response21.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response22.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response23.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response24.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response25.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response3.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response4.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response5.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response6.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response7.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response8.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.Response9.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.ResponseResult.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.ResponseResultUsedCredit.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.ResponseTier.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.ResponseTierModels2.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.ResponseUsage.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.ResponseUsageModels2.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.ResponseVariant1.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.ResponseVariant2.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.ResponseVariant3.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.ResponseVariant4.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.ResponseVariant5.g.cs is excluded by !**/generated/**
  • src/libs/Runway/Generated/Runway.Models.ResponseVariant6.g.cs is excluded by !**/generated/**
📒 Files selected for processing (1)
  • src/libs/Runway/openapi.yaml

Comment on lines 781 to 783
duration:
default: 8
const: '8'
type: number
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '\nOpenAPI occurrences:\n'
rg -n -C1 "const: '8'|type: number" src/libs/Runway/openapi.yaml

printf '\nGenerated C# evidence:\n'
rg -n -C2 'Duration \{ get; set; \} = "8";|double duration = "8"' src/libs/Runway/Generated

Repository: tryAGI/Runway

Length of output: 3698


Change const: '8' to const: 8 to fix schema-to-codegen mismatch.

type: number with const: '8' (quoted string) is internally inconsistent and breaks C# code generation. Generated code attempts to assign the string "8" to a double property/parameter, which fails at compile time:

  • src/libs/Runway/Generated/Runway.Models.RequestVeo3.g.cs:32: public double Duration { get; set; } = "8";
  • src/libs/Runway/Generated/Runway.Models.RequestVeo3.g.cs:76: double duration = "8",
  • Same issues in RequestVeo32.g.cs
Proposed fix
                     duration:
-                      const: '8'
+                      const: 8
                       type: number

Apply to both occurrences at lines 781–783 and 928–930.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
duration:
default: 8
const: '8'
type: number
duration:
const: 8
type: number
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/libs/Runway/openapi.yaml` around lines 781 - 783, The OpenAPI schema has
duration defined with type: number but uses a string constant const: '8',
causing generated C# code to assign a string to a double; change the YAML
entries that set duration.const from the quoted string '8' to the numeric 8
(apply to both occurrences of the duration const block), so the schema const is
a numeric literal matching type: number and regenerates correct double defaults
in RequestVeo3/RequestVeo32 generated classes.

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