Rask AI Projects API

Create, retrieve, update, and delete localization (dubbing) projects.

OpenAPI Specification

rask-projects-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Rask AI Media Projects API
  description: Rask AI is an AI video and audio localization platform. The REST API lets developers upload media, transcribe and translate it, create localization (dubbing) projects across 130+ languages, manage voices and speakers, and poll project status to retrieve translated video, translated audio, and voiceover artifacts. Projects are processed asynchronously. Authentication uses an OAuth2-issued Bearer token (an API Client ID and API Code are generated in the Rask app and exchanged for a token). Endpoints and schemas below reflect Rask's public API v2 documentation; consult https://docs.api.rask.ai for the authoritative reference.
  termsOfService: https://www.rask.ai/terms-of-service
  contact:
    name: Rask AI API Support
    email: api@rask.ai
    url: https://docs.api.rask.ai
  version: '2'
servers:
- url: https://api.rask.ai
  description: Rask AI production API
security:
- bearerAuth: []
tags:
- name: Projects
  description: Create, retrieve, update, and delete localization (dubbing) projects.
paths:
  /v2/projects:
    post:
      operationId: createProject
      tags:
      - Projects
      summary: Create a project (dubbing job)
      description: Create a localization project from an uploaded video, specifying the destination language and optional source language, speaker count, transcription, and glossary. Processing is asynchronous; poll the project to retrieve output artifacts.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProjectRequest'
      responses:
        '200':
          description: Project created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
  /v2/projects/{project_id}:
    get:
      operationId: getProject
      tags:
      - Projects
      summary: Get a project (status and artifacts)
      description: Retrieve a single project to monitor its asynchronous processing status and obtain output artifact links once localization completes.
      parameters:
      - name: project_id
        in: path
        required: true
        description: The UUID of the project to retrieve.
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Project details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
components:
  schemas:
    CreateProjectRequest:
      type: object
      required:
      - video_id
      - dst_lang
      properties:
        video_id:
          type: string
          format: uuid
          description: Uploaded media ID with video kind.
        dst_lang:
          type: string
          description: Destination language code.
        name:
          type: string
          description: Project name; autogenerated if empty.
        src_lang:
          type: string
          description: Source language code without dialect (e.g., en).
        num_speakers:
          type: integer
          description: Number of speakers; defined automatically if empty.
        transcript_id:
          type: string
          format: uuid
          description: ID of an uploaded transcription.
        glossary_id:
          type: string
          format: uuid
          description: ID of a created glossary.
    Project:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Project identifier.
        name:
          type: string
          description: Project name.
        source_type:
          type: string
          enum:
          - youtube
          - gdrive
          - vimeo
          - s3
          - local
          - any
          description: Origin of the source media.
        status:
          type: string
          description: Current processing state of the project.
        dst_lang:
          type: string
          description: Destination language code.
        created_at:
          type: string
          format: date-time
          description: Creation timestamp.
        translated_video:
          type: string
          description: Link to the translated (dubbed) video artifact.
        translated_audio:
          type: string
          description: Link to the translated audio artifact.
        voiceover:
          type: string
          description: Link to the voiceover artifact.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'OAuth2-issued Bearer token. Generate an API Client ID and API Code in the Rask app, exchange them for an OAuth2 token, and send it as `Authorization: Bearer {token}`.'