Reka AI Vision API

Video and image management, search, Q&A, and clips.

OpenAPI Specification

reka-ai-vision-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Reka AI Platform Chat Vision API
  description: 'Reka AI''s multimodal API surface: Chat (text + vision multimodal), Vision

    (video upload, search, Q&A, clip generation), Research (web search with

    reasoning and citations), and Speech (audio transcription and

    translation). OpenAI-compatible chat endpoint available at

    /v1/chat/completions.


    Only a representative subset of endpoints is modeled here, drawn from

    the public Reka documentation at https://docs.reka.ai.

    '
  version: 1.0.0
  contact:
    name: Reka AI Documentation
    url: https://docs.reka.ai/
  license:
    name: Reka Proprietary
servers:
- url: https://api.reka.ai
  description: Reka AI production server
security:
- bearerAuth: []
tags:
- name: Vision
  description: Video and image management, search, Q&A, and clips.
paths:
  /v1/videos/upload:
    post:
      tags:
      - Vision
      summary: Upload a video
      operationId: uploadVideo
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
      responses:
        '200':
          description: Video uploaded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Video'
  /v1/videos:
    get:
      tags:
      - Vision
      summary: List videos
      operationId: listVideos
      responses:
        '200':
          description: List of videos.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Video'
  /v1/videos/{video_id}:
    get:
      tags:
      - Vision
      summary: Get a video
      operationId: getVideo
      parameters:
      - name: video_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Video details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Video'
    delete:
      tags:
      - Vision
      summary: Delete a video
      operationId: deleteVideo
      parameters:
      - name: video_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Video deleted.
  /v1/search:
    post:
      tags:
      - Vision
      summary: Search videos
      operationId: searchVideos
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - query
              properties:
                query:
                  type: string
                limit:
                  type: integer
                  default: 20
      responses:
        '200':
          description: Search results.
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
  /v1/qa/chat:
    post:
      tags:
      - Vision
      summary: Video Q&A chat
      operationId: qaChat
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - messages
              properties:
                video_id:
                  type: string
                messages:
                  type: array
                  items:
                    $ref: '#/components/schemas/Message'
      responses:
        '200':
          description: Response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatResponse'
  /v1/clips:
    post:
      tags:
      - Vision
      summary: Create video clips
      operationId: createClips
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - video_id
              properties:
                video_id:
                  type: string
                prompt:
                  type: string
      responses:
        '202':
          description: Clip job accepted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  status:
                    type: string
components:
  schemas:
    Video:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
        created_at:
          type: string
          format: date-time
    ChatResponse:
      type: object
      properties:
        id:
          type: string
        model:
          type: string
        choices:
          type: array
          items:
            type: object
            properties:
              index:
                type: integer
              message:
                $ref: '#/components/schemas/Message'
              finish_reason:
                type: string
        usage:
          type: object
          properties:
            prompt_tokens:
              type: integer
            completion_tokens:
              type: integer
            total_tokens:
              type: integer
    Message:
      type: object
      required:
      - role
      - content
      properties:
        role:
          type: string
          enum:
          - system
          - user
          - assistant
          - tool
        content:
          oneOf:
          - type: string
          - type: array
            items:
              type: object
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: REKA_API_KEY
      description: 'Bearer API key issued from the Reka Platform dashboard.

        '
externalDocs:
  description: Reka AI documentation
  url: https://docs.reka.ai/