openapi: 3.1.0 info: title: Robot rollout verifier Archive Verify Frames API version: 0.1.0 tags: - name: Verify Frames paths: /v1/verify_frames: post: summary: V1 Verify Frames description: 'Verify from frames the CLIENT already sampled — no video upload, no server-side decode. The browser extracts N frames from the local video and posts them here; we run the same h1 verdict on them. This makes verdict latency a tiny, constant frame upload instead of shipping (and decoding) the whole video, so it no longer scales with clip length.' operationId: v1_verify_frames_v1_verify_frames_post requestBody: content: application/json: schema: $ref: '#/components/schemas/FramesReq' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/VerifyOut' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Verify Frames components: schemas: HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError FramesReq: properties: task: type: string title: Task frames: items: type: string type: array title: Frames times: anyOf: - items: type: number type: array - type: 'null' title: Times name: anyOf: - type: string - type: 'null' title: Name type: object required: - task - frames title: FramesReq VerifyOut: properties: task: type: string title: Task name: anyOf: - type: string - type: 'null' title: Name verdict: anyOf: - type: string - type: 'null' title: Verdict error: anyOf: - type: string - type: 'null' title: Error type: object required: - task - verdict title: VerifyOut ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError