feat:Update OpenAPI schema duration constraints for Runway veo3.1#70
Conversation
WalkthroughThis 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
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
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
⛔ Files ignored due to path filters (71)
src/libs/Runway/Generated/Runway.Models.Request12.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestActTwo.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestActTwoCharacterCharacterImage.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestActTwoCharacterCharacterVideo.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestActTwoReferenceCharacterReferenceVideo.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestElevenMultilingualStsV2.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestElevenMultilingualStsV2MediaSpeechToSpeechAudio.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestElevenMultilingualStsV2MediaSpeechToSpeechVideo.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestElevenMultilingualStsV2VoiceRunwayPresetVoice.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestElevenMultilingualV2.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestElevenMultilingualV2VoiceRunwayPresetVoice.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestElevenTextToSoundV2.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestElevenVoiceDubbing.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestElevenVoiceIsolation.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestGemini25Flash.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestGemini25FlashReferenceImage.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestGen3aTurbo.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestGen3aTurboPromptImagePromptImage.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestGen4Aleph.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestGen4AlephReferenceImageReference.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestGen4Image.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestGen4ImageReferenceImage.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestGen4ImageTurbo.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestGen4ImageTurboReferenceImage.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestGen4Turbo.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestGen4TurboPromptImagePromptImage.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestVeo3.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestVeo31.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestVeo312.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestVeo31Fast.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestVeo31Fast2.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestVeo31FastPromptImagePromptImage.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestVeo31PromptImagePromptImage.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestVeo32.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.RequestVeo3PromptImagePromptImage.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response10.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response11.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response12.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response13.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response14.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response15.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response16.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response17.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response18.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response19.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response2.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response20.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response21.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response22.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response23.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response24.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response25.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response3.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response4.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response5.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response6.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response7.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response8.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.Response9.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.ResponseResult.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.ResponseResultUsedCredit.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.ResponseTier.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.ResponseTierModels2.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.ResponseUsage.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.ResponseUsageModels2.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.ResponseVariant1.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.ResponseVariant2.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.ResponseVariant3.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.ResponseVariant4.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.ResponseVariant5.g.csis excluded by!**/generated/**src/libs/Runway/Generated/Runway.Models.ResponseVariant6.g.csis excluded by!**/generated/**
📒 Files selected for processing (1)
src/libs/Runway/openapi.yaml
| duration: | ||
| default: 8 | ||
| const: '8' | ||
| type: number |
There was a problem hiding this comment.
🧩 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/GeneratedRepository: 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: numberApply 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.
| 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.
Summary by CodeRabbit
Release Notes