Algebras AI Inc. Video API

The Video API from Algebras AI Inc. — 2 operation(s) for video.

OpenAPI Specification

algebras-ai-inc-video-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Algebras Authentication Video API
  version: '1.0'
servers:
- url: https://platform.algebras.ai/api/v1
- url: http://localhost:3000/api/v1
- url: https://beta.algebras.ai/api/v1
security:
- APIKeyHeader: []
tags:
- name: Video
paths:
  /video/translate:
    post:
      summary: Start translation of an uploaded video file
      description: 'Starts the video translation process for a video that was previously uploaded to storage. The video must be in UPLOADED or READY status. This will extract audio, transcribe it, translate the transcription, synthesize new audio, and create the final translated video.

        '
      tags:
      - Video
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - videoId
              - targetLanguage
              properties:
                videoId:
                  type: string
                  example: cmgasbs4v0003xodafdivu1bc
                  description: Video record ID from upload-url response
                targetLanguage:
                  type: string
                  example: ru-RU
                  description: Target language code for translation
                voicePreference:
                  type: string
                  enum:
                  - male
                  - female
                  description: Optional voice preference for audio synthesis
                numSpeakers:
                  type: integer
                  minimum: 1
                  maximum: 32
                  description: Optional number of speakers for better transcription accuracy
      responses:
        '200':
          description: Video translation started successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: ok
                  timestamp:
                    type: string
                    format: date-time
                  data:
                    type: object
                    properties:
                      taskId:
                        type: string
                        example: video-translation-task-123
                      status:
                        type: string
                        example: started
        '400':
          description: Invalid input or video not found
        '401':
          description: Unauthorized (invalid API key)
        '500':
          description: Internal server error
  /video/status/update:
    post:
      summary: Update video upload status
      description: 'Updates the status of a video after upload completion or failure. Used to mark video as UPLOADED after successful upload to storage bucket, or FAILED if upload failed. Only UPLOADED and FAILED statuses can be set through this endpoint.

        '
      tags:
      - Video
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - videoId
              - status
              properties:
                videoId:
                  type: string
                  example: cmgasbs4v0003xodafdivu1bc
                  description: Video record ID from upload-url response
                status:
                  type: string
                  enum:
                  - UPLOADED
                  - FAILED
                  example: UPLOADED
                  description: New status for the video
      responses:
        '200':
          description: Video status updated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: ok
                  timestamp:
                    type: string
                    format: date-time
                  data:
                    type: object
                    properties:
                      videoId:
                        type: string
                        example: cmgasbs4v0003xodafdivu1bc
                      status:
                        type: string
                        example: UPLOADED
                      updatedAt:
                        type: string
                        format: date-time
        '400':
          description: Invalid input or video not found
        '401':
          description: Unauthorized (invalid API key)
        '500':
          description: Internal server error
components:
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-Api-Key
externalDocs:
  url: https://docs.algebras.ai