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

# Quote project creation



## OpenAPI

````yaml /openapi.json post /projects/quote
openapi: 3.1.0
info:
  title: Youka REST API
  version: v1
  description: REST API for project-based karaoke creation, styling, media, and exports.
servers:
  - url: https://api.youka.io/api/v1
    description: Production
  - url: http://localhost:3003/api/v1
    description: Local development
security:
  - bearerAuth: []
tags:
  - name: Account
    description: Inspect the API key's account identity.
  - name: Uploads
    description: Upload source audio or video before creating a project.
  - name: Credits
    description: Inspect available credit balance.
  - name: Billing
    description: Create checkout sessions and manage billing.
  - name: Projects
    description: Create projects and read the long-lived project state.
  - name: Tasks
    description: Poll async task progress until it reaches a terminal state.
  - name: Exports
    description: Create exports and fetch fresh download URLs.
  - name: Presets
    description: Manage reusable karaoke styling presets.
  - name: Media
    description: Manage uploaded reusable media.
  - name: Project Settings
    description: Read and update a project's active settings.
paths:
  /projects/quote:
    post:
      tags:
        - Projects
      summary: Quote project creation
      operationId: quoteProjectCreate
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectQuoteRequest'
      responses:
        '200':
          description: Project creation quote
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectQuoteResponse'
components:
  schemas:
    ProjectQuoteRequest:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        inputFileId:
          type: string
        durationSeconds:
          type: number
          exclusiveMinimum: 0
          maximum: 1200
        lyricsSource:
          anyOf:
            - oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      const: transcribe
                    language:
                      type: string
                      enum:
                        - af
                        - ar
                        - hy
                        - az
                        - be
                        - bn
                        - bs
                        - bg
                        - ca
                        - zh
                        - hr
                        - cs
                        - da
                        - dv
                        - nl
                        - en
                        - et
                        - tl
                        - fi
                        - fr
                        - gl
                        - de
                        - el
                        - he
                        - hi
                        - hu
                        - is
                        - id
                        - it
                        - ja
                        - kn
                        - kk
                        - ko
                        - lv
                        - lt
                        - mk
                        - mi
                        - ms
                        - mr
                        - ne
                        - 'no'
                        - fa
                        - pl
                        - pt
                        - ro
                        - ru
                        - sr
                        - sk
                        - sl
                        - es
                        - sw
                        - sv
                        - ta
                        - th
                        - tr
                        - uk
                        - ur
                        - vi
                        - cy
                    syncModel:
                      type: string
                      enum:
                        - audioshake-transcription
                        - musicai-transcription
                        - whisper
                  required:
                    - type
                  additionalProperties: false
                - type: object
                  properties:
                    type:
                      type: string
                      const: align
                    lyrics:
                      type: string
                      minLength: 10
                    language:
                      type: string
                      enum:
                        - af
                        - ar
                        - hy
                        - az
                        - be
                        - bn
                        - bs
                        - bg
                        - ca
                        - zh
                        - hr
                        - cs
                        - da
                        - dv
                        - nl
                        - en
                        - et
                        - tl
                        - fi
                        - fr
                        - gl
                        - de
                        - el
                        - he
                        - hi
                        - hu
                        - is
                        - id
                        - it
                        - ja
                        - kn
                        - kk
                        - ko
                        - lv
                        - lt
                        - mk
                        - mi
                        - ms
                        - mr
                        - ne
                        - 'no'
                        - fa
                        - pl
                        - pt
                        - ro
                        - ru
                        - sr
                        - sk
                        - sl
                        - es
                        - sw
                        - sv
                        - ta
                        - th
                        - tr
                        - uk
                        - ur
                        - vi
                        - cy
                    syncModel:
                      type: string
                      enum:
                        - audioshake-alignment
                        - musicai-alignment
                        - musicai-alignment-subword
                        - wav2vec2
                  required:
                    - type
                    - lyrics
                  additionalProperties: false
            - type: 'null'
        splitModel:
          type: string
          enum:
            - mdx23c
            - audioshakeai
            - audioshake_vocals_lead
            - musicai_instrumental_only
            - musicai_lead_backing_other
            - musicai_with_backing_vocals
            - musicai_without_backing_vocals
            - uvr_mdxnet_kara_2
            - bs_roformer
            - mel_band_roformer_instrumental_becruily
            - mel_band_roformer_instrumental_instv7_gabox
            - demucs
      required:
        - splitModel
      additionalProperties: false
    ProjectQuoteResponse:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        creditsRequired:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        availableBalance:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        sufficientBalance:
          type: boolean
        durationSeconds:
          type: number
          exclusiveMinimum: 0
        breakdown:
          type: object
          properties:
            split:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            sync:
              type: integer
              minimum: 0
              maximum: 9007199254740991
          required:
            - split
            - sync
          additionalProperties: false
      required:
        - creditsRequired
        - availableBalance
        - sufficientBalance
        - durationSeconds
        - breakdown
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key

````