> ## Documentation Index
> Fetch the complete documentation index at: https://docs.quickreel.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Request

> `Base URL: https://mango.quickreel.io/api/v2`



## OpenAPI

````yaml POST /ttv
openapi: 3.0.1
info:
  title: Text to Video API
  description: API for generating videos from text
  version: 1.0.0
servers:
  - url: https://mango.quickreel.io/api/v2
security:
  - apiKeyAuth: []
paths:
  /ttv:
    post:
      summary: Request video processing
      requestBody:
        description: Request payload for video processing
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoRequest'
      responses:
        '201':
          description: Request created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
        '400':
          description: 'Bad Request: Missing required fields'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestErrorResponse'
        '401':
          description: 'Unauthorized: API key invalid'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedErrorResponse'
        '429':
          description: 'Too Many Requests: Please slow down your request rate.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsErrorResponse'
        '500':
          description: 'Internal Server Error: Please try again later or contact support'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
components:
  schemas:
    VideoRequest:
      type: object
      properties:
        voiceId:
          type: string
          description: Voice ID for the video
          example: 386a7b80-1001-4017-bb51-49b3428ab8f4
          default: 386a7b80-1001-4017-bb51-49b3428ab8f4
        visualStyle:
          type: string
          description: Visual style for the video
          example: realism
          default: realism
          enum:
            - realtime
            - realism
            - anime
            - cyberpunk
            - comic
            - fantasy
            - scifi
            - lego
            - pixel_art
            - line_art
            - renaissance
            - medieval_painting
            - medieval_painting2
            - wes_anderson
            - anime_figures
            - porcelain
        webhookUrl:
          type: string
          description: Webhook URL for receiving processing updates
          example: https://webhook-test.com/05674b0b229c29199fec105309a00e16
        subtitleStyles:
          type: object
          properties:
            template:
              type: string
              description: Subtitle template style
              example: productive
              default: productive
              enum:
                - none
                - vivid
                - cinematic
                - whisperer2
                - harmozi
                - pulse
                - filler
                - whisperer
                - marineShift
                - sonic
                - spotlight
                - focusFlash
                - inflate
                - boxd
                - productive
                - beast
                - impact
                - fade
                - typewriter
                - impact2
            position:
              type: string
              description: Position of subtitles on the video
              example: bottom-center
              default: bottom-center
              enum:
                - bottom-center
                - top-center
                - middle-center
            fontSize:
              type: string
              description: Font size for subtitles
              example: m
              default: m
              enum:
                - s
                - m
                - l
                - xl
        additionalFeatures:
          type: object
          properties:
            addBgm:
              type: boolean
              description: Add background music to the video
              example: 'false'
              default: false
      required:
        - webhookUrl
        - voiceId
      anyOf:
        - title: Script
          properties:
            script:
              type: string
          required:
            - script
          description: ' Provide a script directly for video processing.'
        - title: Prompt
          properties:
            prompt:
              type: string
          required:
            - prompt
          description: ' Provide a prompt to generate a script for video processing.'
    SuccessResponse:
      type: object
      properties:
        status:
          type: string
          description: Status of the request
          example: created
        message:
          type: string
          description: Success message
          example: project created successfully
        projectId:
          type: string
          description: Project ID
          example: 667bbc6973e392d3f7f6f620
    BadRequestErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
              description: Error message
              example: 'Bad Request: Missing required fields'
    UnauthorizedErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
              description: Error message
              example: 'Unauthorized: API key invalid'
    TooManyRequestsErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
              description: Error message
              example: 'Too Many Requests: Please slow down your request rate.'
    InternalServerErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
              description: Error message
              example: 'Internal Server Error: Please try again later or contact support'
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````