docs: correct the OpenAI /v1/videos page against the implementation#264
Merged
Conversation
The /v1/videos docs page described behavior the code does not have:
- The "Async Polling Pattern" section claimed aimock returns "processing" on
the first poll and "completed" on subsequent polls. There is no progression:
the create response and every poll echo the fixture's video.status verbatim
(src/video.ts). Staged progression exists only on the OpenRouter surface via
the openRouterVideo config; the section now cross-links it.
- The unit-test example could not pass or typecheck: the onVideo fixture
omitted the required id/status fields, used a nonexistent duration field,
and asserted a nested pollBody.video.url. The poll body is flat
{id, status, created_at, url}. Rewritten against VideoResponse.
- The "Response Format" section said `created` (it is created_at), `video.url`
/ `video.duration` on poll (flat url; duration does not exist), and omitted
"failed" from the status union.
- The JSON fixture example had the same missing id/status problem.
- The Record & Replay paragraph repeated the lifecycle-simulation claim;
recorded in-progress responses replay as "processing" verbatim.
commit: |
Merged
jpr5
added a commit
that referenced
this pull request
Jun 11, 2026
### Added - OpenRouter async video job lifecycle mock — submit, poll, content download, model listing (#262) - Record-mode live proxying for the OpenRouter video surface; captured videos replay later (#265) ### Changed - Recording proxies now strip aimock-internal control headers on every provider path (#265) ### Fixed - Recorder and fal record paths hardened — timeouts, threshold sanitizing, persist errors (#265) - attw ^0.18 fixes the test:exports crash (#263); OpenAI /v1/videos docs corrected (#264)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up from the #262 docs verification:
docs/video/index.htmldescribed behavior the code does not have. Corrections, verified againstsrc/video.tsandsrc/types.ts(VideoResponse) on main:"processing"on the first poll then"completed"afterward. There is no progression: the create response and every poll echo the fixture'svideo.statusverbatim. Cross-linked the OpenRouter surface (openRouterVideoconfig) for staged progression.onVideofixture omitted requiredid/status, used a nonexistentdurationfield, and asserted a nestedpollBody.video.url. Rewritten to compile againstVideoResponseand match the real flat poll body{id, status, created_at, url}.created→created_aton create; poll fields are flat (url, notvideo.url); removed nonexistentvideo.duration; added"failed"to the status union.id/statusfields, droppedduration.Also fixed the Record & Replay paragraph, which repeated the lifecycle-simulation claim (recorded in-progress responses replay as
"processing"verbatim), and re-verified the #262 cross-link paragraph still reads correctly.