openapi: 3.1.0
info:
  title: FastAPI
  version: 0.1.0
paths:
  /users/sources/list_files:
    get:
      tags:
      - accepts-api-key
      summary: Request Files Processing
      operationId: request_files_processing_users_sources_list_files_get
      parameters:
      - name: path
        in: query
        required: true
        schema:
          type: string
          title: Path
      - name: limit
        in: query
        required: true
        schema:
          type: integer
          title: Limit
      - name: page
        in: query
        required: true
        schema:
          type: integer
          title: Page
      - name: folder_on_top
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Folder On Top
      - name: group_name
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Group Name
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FileReference'
                title: Response Request Files Processing Users Sources List Files
                  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /users/get:
    get:
      tags:
      - accepts-api-key
      summary: Get User
      operationId: get_user_users_get_get
      deprecated: true
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiUser'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /users/me:
    get:
      tags:
      - accepts-api-key
      summary: Get Current User
      description: Return the authenticated user's profile, credit balance, and subscription
        snapshot.
      operationId: get_current_user_users_me_get
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiUser'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
      - accepts-api-key
      summary: Update Current User
      operationId: update_current_user_users_me_patch
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUserRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiUser'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /users/create:
    post:
      summary: Create User
      operationId: create_user_users_create_post
      parameters:
      - name: email
        in: query
        required: true
        schema:
          type: string
          title: Email
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /users/update:
    post:
      summary: Update User
      operationId: update_user_users_update_post
      deprecated: true
      parameters:
      - name: firstname
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Firstname
      - name: lastname
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Lastname
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: boolean
                title: Response Update User Users Update Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /users/delete:
    delete:
      summary: Delete User
      operationId: delete_user_users_delete_delete
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /users/check_coupons:
    get:
      tags:
      - accepts-api-key
      summary: Check Coupons
      operationId: check_coupons_users_check_coupons_get
      parameters:
      - name: coupon_code
        in: query
        required: true
        schema:
          type: string
          description: Stripe promotion code to validate.
          title: Coupon Code
        description: Stripe promotion code to validate.
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CouponCheckResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /users/checkout_redirect:
    get:
      summary: Checkout Redirect
      description: 'One navigation to Stripe Checkout.


        Prefer a session cookie from ``POST /users/refresh_session_cookie`` (with

        ``fetch(..., credentials: ''include'')`` from the app origin) so this URL
        needs no

        query token. Otherwise use ``?access_token=<firebase_id_token>`` for a plain
        link

        (Authorization header is not sent on full-page navigations).'
      operationId: checkout_redirect_users_checkout_redirect_get
      parameters:
      - name: pricing_tier
        in: query
        required: true
        schema:
          type: string
          description: Plan tier_id from GET /billing/catalog (e.g. starter_90tt_9d,
            monthly, yearly).
          title: Pricing Tier
        description: Plan tier_id from GET /billing/catalog (e.g. starter_90tt_9d,
          monthly, yearly).
      - name: coupon_code
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Coupon Code
      - name: calling_page
        in: query
        required: false
        schema:
          type: string
          default: ''
          title: Calling Page
      - name: return_origin
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Trusted frontend origin for Stripe success/cancel (e.g. https://localhost:3000).
            If omitted, the first trusted match is used: Origin header, then Referer
            origin; otherwise https://app.tellers.ai.'
          title: Return Origin
        description: 'Trusted frontend origin for Stripe success/cancel (e.g. https://localhost:3000).
          If omitted, the first trusted match is used: Origin header, then Referer
          origin; otherwise https://app.tellers.ai.'
      - name: item_list
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Repeatable item list entries as 'price_id:quantity', e.g. item_list=price_x:200&item_list=price_y:1.
          title: Item List
        description: Repeatable item list entries as 'price_id:quantity', e.g. item_list=price_x:200&item_list=price_y:1.
      - name: access_token
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Access Token
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /users/billing_portal_redirect:
    get:
      summary: Billing Portal Redirect
      description: Redirect the signed-in user to Stripe Customer Portal.
      operationId: billing_portal_redirect_users_billing_portal_redirect_get
      parameters:
      - name: calling_page
        in: query
        required: false
        schema:
          type: string
          default: ''
          title: Calling Page
      - name: return_origin
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Trusted frontend origin for Stripe Billing Portal return (e.g.
            https://localhost:3000). If omitted, the first trusted match is used:
            Origin header, then Referer origin; otherwise https://app.tellers.ai.'
          title: Return Origin
        description: 'Trusted frontend origin for Stripe Billing Portal return (e.g.
          https://localhost:3000). If omitted, the first trusted match is used: Origin
          header, then Referer origin; otherwise https://app.tellers.ai.'
      - name: access_token
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Access Token
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /users/subscription/change-plan:
    post:
      summary: Change Subscription Plan
      operationId: change_subscription_plan_users_subscription_change_plan_post
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscriptionChangePlanRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionChangePlanResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /users/refresh_session_cookie:
    post:
      summary: Refresh Session Cookie
      description: 'Store the current Firebase ID token in an HttpOnly cookie.


        The route runs normal Bearer verification (same as any other login) before

        echoing that token into the cookie. Subsequent requests validate the cookie

        via the same ``verify_id_token`` path. Refresh this cookie when the client

        refreshes the Firebase ID token. Use ``credentials: ''include''`` on the

        browser request.'
      operationId: refresh_session_cookie_users_refresh_session_cookie_post
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /users/assets/multipart/complete:
    post:
      tags:
      - accepts-api-key
      summary: Complete Multipart Asset Upload
      description: Complete a multipart upload. Client must supply ETags returned
        from each part upload.
      operationId: complete_multipart_asset_upload_users_assets_multipart_complete_post
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MultipartCompleteRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /users/assets/multipart/abort:
    post:
      tags:
      - accepts-api-key
      summary: Abort Multipart Asset Upload
      operationId: abort_multipart_asset_upload_users_assets_multipart_abort_post
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MultipartAbortRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /users/assets/upload_urls:
    post:
      tags:
      - accepts-api-key
      summary: Create Upload Urls
      operationId: create_upload_urls_users_assets_upload_urls_post
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/AssetUploadRequest'
              title: Assets
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AssetUploadResponse'
                title: Response Create Upload Urls Users Assets Upload Urls Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /users/assets/preprocess:
    post:
      tags:
      - accepts-api-key
      summary: Process Assets
      operationId: process_assets_users_assets_preprocess_post
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProcessAssetsRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RequestTaskResponse'
                title: Response Process Assets Users Assets Preprocess Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /users/api_keys/create:
    post:
      summary: Create Api Key
      operationId: create_api_key_users_api_keys_create_post
      parameters:
      - name: name
        in: query
        required: true
        schema:
          type: string
          title: Name
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /users/api_keys/list:
    get:
      summary: List Api Keys
      operationId: list_api_keys_users_api_keys_list_get
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                title: Response List Api Keys Users Api Keys List Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /users/api_keys/delete:
    delete:
      summary: Delete Api Key
      operationId: delete_api_key_users_api_keys_delete_delete
      parameters:
      - name: name
        in: query
        required: true
        schema:
          type: string
          title: Name
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /users/tasks:
    get:
      tags:
      - accepts-api-key
      summary: Get Tasks
      description: "Get pending tasks and recently finished tasks for the user.\n\n\
        Args:\n    finish_before_seconds: Number of seconds to look back for finished\
        \ tasks. Default is 300 (5 minutes)."
      operationId: get_tasks_users_tasks_get
      parameters:
      - name: finish_before_seconds
        in: query
        required: false
        schema:
          type: integer
          default: 300
          title: Finish Before Seconds
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TaskResponse'
                title: Response Get Tasks Users Tasks Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /video/source_video_info/{source_file_id}:
    get:
      summary: Get Source Video Info
      operationId: get_source_video_info_video_source_video_info__source_file_id__get
      parameters:
      - name: source_file_id
        in: path
        required: true
        schema:
          type: string
          title: Source File Id
      - name: project_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Project Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClipSourceInfo'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /video/downscale/{source_file_id}:
    post:
      summary: Request Downscale
      description: Request downscaling of a video asset. Callable by users with WRITE
        on the asset or by admins.
      operationId: request_downscale_video_downscale__source_file_id__post
      parameters:
      - name: source_file_id
        in: path
        required: true
        schema:
          type: string
          title: Source File Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DownscaleRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DownscaleResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /video/details/{source_file_id}:
    get:
      summary: Get Details
      operationId: get_details_video_details__source_file_id__get
      parameters:
      - name: source_file_id
        in: path
        required: true
        schema:
          type: string
          title: Source File Id
      - name: project_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Project Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetDetails'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/tellers-config/{asset_id}:
    get:
      summary: Get Tellers Config By Id
      description: Get TellersConfigFile from ConfigAsset for the given asset id.
        User must have read access.
      operationId: get_tellers_config_by_id_asset_tellers_config__asset_id__get
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TellersConfigFile'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      summary: Patch Tellers Config By Id
      description: Update non-entity tellers config fields without changing entity_to_use.
      operationId: patch_tellers_config_by_id_asset_tellers_config__asset_id__patch
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TellersConfigPatchRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TellersConfigFile'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/tellers-config:
    get:
      summary: Get Tellers Config
      description: Deprecated. Use GET /asset/tellers-config/{asset_id}.
      operationId: get_tellers_config_asset_tellers_config_get
      deprecated: true
      parameters:
      - name: asset_id
        in: query
        required: true
        schema:
          type: string
          title: Asset Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TellersConfigFile'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      summary: Create Tellers Config
      description: Create a tellers config Asset. Use path, or directory_id + name
        to create inside a folder. User must have WRITE on the directory when using
        directory_id. Returns the new asset id.
      operationId: create_tellers_config_asset_tellers_config_post
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TellersConfigCreateRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TellersConfigCreateResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/tellers-config/entities:
    post:
      summary: Tellers Config Add Entity
      description: 'Add entities (or all entities in folders) to the tellers config''s
        entity_to_use list.

        Each item in entity_ids can be an entity asset (added as-is) or a folder (adds
        all direct-child entities).

        User must have write access to the config and read access to each entity/folder.'
      operationId: tellers_config_add_entity_asset_tellers_config_entities_post
      parameters:
      - name: asset_id
        in: query
        required: true
        schema:
          type: string
          title: Asset Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TellersConfigAddEntitiesRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      summary: Tellers Config Remove Entity
      description: Remove one or more entity/asset ids from the tellers config's entity_to_use
        list. User must have write access.
      operationId: tellers_config_remove_entity_asset_tellers_config_entities_delete
      parameters:
      - name: asset_id
        in: query
        required: true
        schema:
          type: string
          title: Asset Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TellersConfigRemoveEntitiesRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/entity/{entity_id}:
    get:
      summary: Get Entity
      description: Get a single entity by id. User must have read access or entity
        must be public.
      operationId: get_entity_asset_entity__entity_id__get
      parameters:
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
          title: Entity Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/entity/create:
    post:
      summary: Create Entity
      description: Create an entity. Uses the user's default group. Optionally set
        directory_id to create the entity asset inside that folder (WRITE required).
      operationId: create_entity_asset_entity_create_post
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEntityRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/entity/update:
    put:
      summary: Update Entity
      operationId: update_entity_asset_entity_update_put
      parameters:
      - name: entity_id
        in: query
        required: true
        schema:
          type: string
          title: Entity Id
      - name: name
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
      - name: description
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/entity/asset:
    post:
      summary: Add Asset To Entity
      description: Add one or more assets to an entity. Each asset_id can be an image/audio
        asset or a folder (adds all image/audio direct children).
      operationId: add_asset_to_entity_asset_entity_asset_post
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityAssetsRequest'
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      summary: Remove Asset From Entity
      description: Remove one or more asset references from an entity (from both image
        and audio reference tables if present).
      operationId: remove_asset_from_entity_asset_entity_asset_delete
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityAssetsRequest'
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/{asset_id}/share:
    get:
      summary: Get Share Asset
      description: 'Return current share configuration for an asset: groups (with
        right), validated_users (email + right),

        plus is_public_read, is_reference, and can_share (True only if caller has
        ADMIN).

        Caller must have READ on the asset.'
      operationId: get_share_asset_asset__asset_id__share_get
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetShareResponseOptimized'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/{asset_id}/visibility:
    put:
      tags:
      - accepts-api-key
      summary: Set Asset Visibility
      description: Set visibility (is_public_read) for a single asset (SSE). WRITE
        required.
      operationId: set_asset_visibility_asset__asset_id__visibility_put
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssetVisibilityRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/{asset_id}/reference:
    put:
      tags:
      - accepts-api-key
      summary: Set Asset Reference
      description: Set reference flag for a single asset (SSE). WRITE required.
      operationId: set_asset_reference_asset__asset_id__reference_put
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssetReferenceRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/{asset_id}/share/add:
    post:
      summary: Add Share Asset
      description: 'Add one share for the asset (SSE): grant READ to either a group
        (group_id) or a user (email).

        If the asset is a folder, applies to the folder and all underlying assets.
        Caller must have ADMIN.'
      operationId: add_share_asset_asset__asset_id__share_add_post
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ShareAddRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/{asset_id}/share/remove:
    post:
      summary: Remove Share Asset
      description: 'Remove one share (SSE): remove all access for either a group (group_id)
        or a user (email).

        Caller must have ADMIN. If asset is a folder, applies to folder and underlying
        assets.'
      operationId: remove_share_asset_asset__asset_id__share_remove_post
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ShareRemoveRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/{asset_id}/share/update_right:
    post:
      summary: Update Right Share Asset
      description: 'Change the right for one share (SSE): set right to to_right for
        either group_id or email.

        Caller must have ADMIN. If asset is a folder, applies to folder and underlying
        assets.'
      operationId: update_right_share_asset_asset__asset_id__share_update_right_post
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ShareUpdateRightRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/most_recent:
    get:
      tags:
      - accepts-api-key
      summary: Get Most Recent Files
      description: 'Return the most recently added file(s) the user has read access
        to.

        Uses default group(s) unless group_id is set (user must have read access to
        that group).

        after: only files with last_edit > after (newer).

        before: only files with last_edit < before (older); use the smallest last_edit
        from a previous page to get the next page.

        filetype: only files with the given file type(s).'
      operationId: get_most_recent_files_asset_most_recent_get
      parameters:
      - name: path
        in: query
        required: false
        schema:
          type: string
          default: /
          title: Path
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 1
          title: Limit
      - name: group_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Group Id
      - name: before
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Before
      - name: after
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: After
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - type: array
                items:
                  $ref: '#/components/schemas/FileType'
              - type: 'null'
              title: Filetype
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FileReference'
                title: Response Get Most Recent Files Asset Most Recent Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/folder:
    post:
      tags:
      - accepts-api-key
      summary: Create Folder
      description: 'Create a folder. Either at a path (body.path) or under a parent
        folder (body.parent_asset_id + body.name).

        Path-based: ensures folder and ancestors exist for the user''s default group.

        Parent-based: parent must be a folder the user has WRITE access to.

        Callable with API key (X-Api-Key header) or Bearer token.'
      operationId: create_folder_asset_folder_post
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFolderRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateFolderResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/download_urls:
    post:
      tags:
      - accepts-api-key
      summary: Get Asset Download Url Batch Json
      description: Return download URL payloads for multiple assets using one shared
        config.
      operationId: get_asset_download_url_batch_json_asset_download_urls_post
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssetDownloadUrlBatchRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetDownloadUrlBatchResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/download_url/{asset_id}:
    get:
      summary: Get Asset Download Url Json
      description: "Return ``url`` and ``expiredIn`` (seconds) \u2014 no redirect.\
        \ Use for WebCodecs / fetch + UrlSource."
      operationId: get_asset_download_url_json_asset_download_url__asset_id__get
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: quality
        in: query
        required: false
        schema:
          enum:
          - 480p
          - 720p
          - 1080p
          - original
          - highest
          - lowest
          type: string
          default: 720p
          title: Quality
      - name: player_compatible
        in: query
        required: false
        schema:
          type: boolean
          default: true
          title: Player Compatible
      - name: frame_time
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          title: Frame Time
      - name: request_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Request Id
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetDownloadUrlResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/url/{asset_id}:
    get:
      summary: Get Asset Download Url Redirect
      description: Redirect to the resolved asset URL (supports Bearer, session cookie,
        or access_token).
      operationId: get_asset_download_url_redirect_asset_url__asset_id__get
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: quality
        in: query
        required: false
        schema:
          enum:
          - 480p
          - 720p
          - 1080p
          - original
          - highest
          - lowest
          type: string
          default: 720p
          title: Quality
      - name: player_compatible
        in: query
        required: false
        schema:
          type: boolean
          default: true
          title: Player Compatible
      - name: frame_time
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          title: Frame Time
      - name: access_token
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Access Token
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/infos:
    post:
      tags:
      - accepts-api-key
      summary: Get Asset Infos Batch Json
      description: Return minimal source/path/duration info for multiple assets.
      operationId: get_asset_infos_batch_json_asset_infos_post
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssetInfosBatchRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetInfosBatchResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/description/{description_id}/generation-metadata:
    get:
      tags:
      - accepts-api-key
      summary: Get Asset Description Generation Metadata
      description: Return debug/provenance metadata saved with one generated chunk
        description.
      operationId: get_asset_description_generation_metadata_asset_description__description_id__generation_metadata_get
      parameters:
      - name: description_id
        in: path
        required: true
        schema:
          type: string
          title: Description Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetDescriptionGenerationMetadataResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/{asset_id}/duplicate:
    post:
      tags:
      - accepts-api-key
      summary: Duplicate Asset
      description: 'Duplicate a project asset. Caller must have WRITE on the source.


        Non-project assets return 400. Missing asset or no write access returns 404.'
      operationId: duplicate_asset_asset__asset_id__duplicate_post
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DuplicateAssetResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /asset/{asset_id}:
    patch:
      summary: Patch Asset
      description: 'Partial update of an asset: rename and/or move (SSE). At least
        one of name or destination_id required. WRITE on asset (and on destination
        if moving).'
      operationId: patch_asset_asset__asset_id__patch
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssetPatchRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      summary: Delete Asset
      description: Delete an asset (and if folder, its contents) (SSE). Removes DB
        records and S3 objects. User must have WRITE on the asset.
      operationId: delete_asset_asset__asset_id__delete
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /project/{project_id}/export_tellers_otio:
    get:
      summary: Export Tellers Otio
      description: "Return project OTIO JSON with clip ``target_url``s set to presigned\
        \ media URLs (\u22651h by default)."
      operationId: export_tellers_otio_project__project_id__export_tellers_otio_get
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          title: Project Id
      - name: input_rendition
        in: query
        required: false
        schema:
          enum:
          - 480p
          - 720p
          - 1080p
          - original
          - highest
          - lowest
          type: string
          description: Rendition passed to presign selection (highest player-compatible
            transcodes, etc.).
          default: highest
          title: Input Rendition
        description: Rendition passed to presign selection (highest player-compatible
          transcodes, etc.).
      - name: presign_expires_in
        in: query
        required: false
        schema:
          type: integer
          maximum: 604800
          minimum: 3600
          description: S3 presigned GET lifetime in seconds (minimum 1 hour).
          default: 43200
          title: Presign Expires In
        description: S3 presigned GET lifetime in seconds (minimum 1 hour).
      - name: use_redirect_urls
        in: query
        required: false
        schema:
          type: boolean
          description: When true, write clip target_url as /asset/url/{asset_id} redirect
            links instead of direct presigned URLs.
          default: false
          title: Use Redirect Urls
        description: When true, write clip target_url as /asset/url/{asset_id} redirect
          links instead of direct presigned URLs.
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response Export Tellers Otio Project  Project Id  Export Tellers
                  Otio Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /project/{project_id}/export_timeline:
    get:
      summary: Export Project Timeline
      description: Export a project timeline to OTIO, EDL, AAF, or Final Cut Pro 7
        XML.
      operationId: export_project_timeline_project__project_id__export_timeline_get
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          title: Project Id
      - name: timeline_type
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/TimelineExportType'
          default: aaf
      - name: target_url_source
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/AafTargetUrlSource'
          default: in_app_filename
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /project/{project_id}:
    post:
      summary: Update
      operationId: update_project__project_id__post
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          title: Project Id
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiProjectOtio'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      summary: Get
      operationId: get_project__project_id__get
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          title: Project Id
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiProjectOtio'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /project/{project_id}/export:
    post:
      tags:
      - accepts-api-key
      summary: Export Project
      description: 'Start async export of project to MP4 at one or more resolutions.
        Creates the export asset

        in the API, then enqueues a task that generates each rendition. The export
        appears as a

        new video asset in the project''s export folder (project name + date + .mp4),
        with multiple

        renditions (e.g. 480p, 720p, 1080p, 4k) attached to that asset.


        Returns task_id and asset_id. Poll GET /task/{task_id} for completion; result
        includes asset_id.'
      operationId: export_project_project__project_id__export_post
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          title: Project Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                enum:
                - 480p
                - 720p
                - 1080p
                - 4k
                type: string
              description: List of resolutions to export (e.g. ["720p", "1080p"])
              title: Renditions
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportProjectResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /preview/group/list:
    get:
      summary: List Public Groups
      operationId: list_public_groups_preview_group_list_get
      parameters:
      - name: is_reference
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Reference
      - name: X-Preview-Key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Preview-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GroupResponse'
                title: Response List Public Groups Preview Group List Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /preview/group/get:
    get:
      summary: Get Public Group
      operationId: get_public_group_preview_group_get_get
      parameters:
      - name: group_id
        in: query
        required: true
        schema:
          type: string
          title: Group Id
      - name: X-Preview-Key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Preview-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /preview/asset/list:
    get:
      summary: List Public Assets
      description: List all public assets (is_public_read=True) with is_reference
        information.
      operationId: list_public_assets_preview_asset_list_get
      parameters:
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 100
          title: Limit
      - name: file_type
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/FileType'
          - type: 'null'
          title: File Type
      - name: is_reference
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Reference
      - name: X-Preview-Key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Preview-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PublicAssetInfo'
                title: Response List Public Assets Preview Asset List Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /preview/asset/get/{asset_id}:
    get:
      summary: Get Preview Otio
      description: 'Return OTIO with presigned URLs for the project or a single asset.

        Without auth: public access (project must be public-read).

        With Bearer token: resolved in that user''s context. If asset is a project,
        return

        its OTIO; if image, return a 20s project; if video/audio, return a project
        with

        that asset''s duration.'
      operationId: get_preview_otio_preview_asset_get__asset_id__get
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: presigned_url_ttl_seconds
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          default: 86400
          title: Presigned Url Ttl Seconds
      - name: X-Preview-Key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Preview-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreviewAssetResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /preview/user/list:
    get:
      summary: List Public Users
      description: List all public users (is_public_read=True).
      operationId: list_public_users_preview_user_list_get
      parameters:
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 100
          title: Limit
      - name: is_reference
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Reference
      - name: X-Preview-Key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Preview-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PublicUserInfo'
                title: Response List Public Users Preview User List Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /preview/user/get:
    get:
      summary: Get Public User
      operationId: get_public_user_preview_user_get_get
      parameters:
      - name: user_id
        in: query
        required: true
        schema:
          type: string
          title: User Id
      - name: X-Preview-Key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Preview-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicUserInfo'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /preview/info:
    get:
      summary: Get Preview Info
      description: Return total counters for users, assets, entities, custom agents
        and projects.
      operationId: get_preview_info_preview_info_get
      parameters:
      - name: X-Preview-Key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Preview-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreviewInfoCounts'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /preview/agent/custom/list:
    get:
      summary: Get Public Custom Agents
      description: List custom agents marked as public (is_public_read=True).
      operationId: get_public_custom_agents_preview_agent_custom_list_get
      parameters:
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 20
          title: Limit
      - name: presigned_url_ttl_seconds
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          default: 86400
          title: Presigned Url Ttl Seconds
      - name: X-Preview-Key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Preview-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/APICustomAgentWithoutData'
                title: Response Get Public Custom Agents Preview Agent Custom List
                  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /preview/agent/custom/get:
    get:
      summary: Get Public Custom Agent
      operationId: get_public_custom_agent_preview_agent_custom_get_get
      parameters:
      - name: custom_agent_id
        in: query
        required: true
        schema:
          type: string
          title: Custom Agent Id
      - name: presigned_url_ttl_seconds
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          default: 86400
          title: Presigned Url Ttl Seconds
      - name: X-Preview-Key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Preview-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APICustomAgentWithoutData'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /preview/tool/list:
    get:
      summary: List Tools
      operationId: list_tools_preview_tool_list_get
      parameters:
      - name: X-Preview-Key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Preview-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PreviewToolInfo'
                title: Response List Tools Preview Tool List Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /preview/tool/get:
    get:
      summary: Get Tool
      operationId: get_tool_preview_tool_get_get
      parameters:
      - name: tool_id
        in: query
        required: true
        schema:
          type: string
          title: Tool Id
      - name: X-Preview-Key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Preview-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreviewToolInfo'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /stripe/checkout-session-completed:
    post:
      summary: Stripe Webhook
      description: Stripe webhooks (verify signature). Handles all registered event
        types.
      operationId: stripe_webhook_stripe_checkout_session_completed_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /billing/catalog:
    get:
      tags:
      - accepts-api-key
      summary: Get Billing Catalog
      operationId: get_billing_catalog_billing_catalog_get
      parameters:
      - name: If-None-Match
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: If-None-Match
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingCatalog'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/response/{chat_id}:
    delete:
      tags:
      - accepts-api-key
      summary: Cancel Response
      operationId: cancel_response_agent_response__chat_id__delete
      parameters:
      - name: chat_id
        in: path
        required: true
        schema:
          type: string
          title: Chat Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: string
                title: Response Cancel Response Agent Response  Chat Id  Delete
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - accepts-api-key
      summary: Stream Chat Messages
      description: "Subscribe to a chat's agent SSE stream (Redis-backed).\n\nEmits\
        \ the exact same events as ``POST /agent/response`` \u2014 both sides read\n\
        from the per-chat Redis Stream written by the producer running the agent.\n\
        \nQuery params:\n  - ``last_event_id``: resume from this Redis stream entry\
        \ id. Pass the\n    ``id:`` of the last SSE event you received to avoid duplicates.\
        \ When\n    omitted, the subscription starts from \"now\" \u2014 only events\
        \ produced\n    after the GET request arrives are delivered, no history is\
        \ replayed.\n  - ``after``: accepted for backward compatibility and currently\
        \ ignored.\n    Use ``last_event_id`` instead."
      operationId: stream_chat_messages_agent_response__chat_id__get
      parameters:
      - name: chat_id
        in: path
        required: true
        schema:
          type: string
          title: Chat Id
      - name: after
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: After
      - name: last_event_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Last Event Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/response:
    post:
      tags:
      - accepts-api-key
      summary: Process Agent Message
      operationId: process_agent_message_agent_response_post
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentMessageRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/response/json:
    post:
      tags:
      - accepts-api-key
      - accepts-api-key
      summary: Process Agent Message Json
      description: 'Same as POST /response but runs with no_interaction=True. Emits
        only SSE events

        `event: tellers.json_result` (progressing while running, then done with full
        result).

        chat_id must be set by the client or is created at the start.'
      operationId: process_agent_message_json_agent_response_json_post
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentMessageRequestWithoutNoInteraction'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/use-tool:
    post:
      tags:
      - accepts-api-key
      summary: Use Agent Tool
      operationId: use_agent_tool_agent_use_tool_post
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UseAgentToolRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/chats/list:
    get:
      tags:
      - accepts-api-key
      summary: List Chats
      operationId: list_chats_agent_chats_list_get
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 10
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
      - name: before
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Before
      - name: after
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: After
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ChatHistoryResponse'
                title: Response List Chats Agent Chats List Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/chat/{chat_id}:
    get:
      tags:
      - accepts-api-key
      summary: Get Chat Info
      operationId: get_chat_info_agent_chat__chat_id__get
      parameters:
      - name: chat_id
        in: path
        required: true
        schema:
          type: string
          title: Chat Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatHistoryResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - accepts-api-key
      summary: Delete Chat
      operationId: delete_chat_agent_chat__chat_id__delete
      parameters:
      - name: chat_id
        in: path
        required: true
        schema:
          type: string
          title: Chat Id
      - name: cancel_running
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Cancel Running
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/chat/{chat_id}/rename:
    patch:
      tags:
      - accepts-api-key
      summary: Rename Chat
      operationId: rename_chat_agent_chat__chat_id__rename_patch
      parameters:
      - name: chat_id
        in: path
        required: true
        schema:
          type: string
          title: Chat Id
      - name: name
        in: query
        required: true
        schema:
          type: string
          title: Name
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/chat/{chat_id}/messages:
    get:
      tags:
      - accepts-api-key
      summary: Get Chat
      operationId: get_chat_agent_chat__chat_id__messages_get
      parameters:
      - name: chat_id
        in: path
        required: true
        schema:
          type: string
          title: Chat Id
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 20
          title: Limit
      - name: before
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Before
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  anyOf:
                  - $ref: '#/components/schemas/ChatMessageUserResponse'
                  - $ref: '#/components/schemas/ChatMessageAgentResponse'
                title: Response Get Chat Agent Chat  Chat Id  Messages Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/{custom_agent_id}/share:
    get:
      summary: Get Custom Agent Share
      operationId: get_custom_agent_share_agent__custom_agent_id__share_get
      deprecated: true
      parameters:
      - name: custom_agent_id
        in: path
        required: true
        schema:
          type: string
          title: Custom Agent Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetShareResponseOptimized'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/{custom_agent_id}/visibility:
    put:
      summary: Set Custom Agent Visibility
      operationId: set_custom_agent_visibility_agent__custom_agent_id__visibility_put
      deprecated: true
      parameters:
      - name: custom_agent_id
        in: path
        required: true
        schema:
          type: string
          title: Custom Agent Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomAgentVisibilityRequest'
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/{custom_agent_id}/reference:
    put:
      summary: Set Custom Agent Reference
      operationId: set_custom_agent_reference_agent__custom_agent_id__reference_put
      deprecated: true
      parameters:
      - name: custom_agent_id
        in: path
        required: true
        schema:
          type: string
          title: Custom Agent Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomAgentReferenceRequest'
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/list:
    get:
      summary: Get Custom Agents
      operationId: get_custom_agents_agent_list_get
      deprecated: true
      parameters:
      - name: with_public_access
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: With Public Access
      - name: right
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/GroupRights'
          default: READ
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 20
          title: Limit
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/APICustomAgentWithoutData'
                title: Response Get Custom Agents Agent List Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/create:
    post:
      summary: Create Custom Agent
      operationId: create_custom_agent_agent_create_post
      deprecated: true
      parameters:
      - name: name
        in: query
        required: true
        schema:
          type: string
          title: Name
      - name: description
        in: query
        required: true
        schema:
          type: string
          title: Description
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/{custom_agent_id}:
    get:
      summary: Get Custom Agent
      operationId: get_custom_agent_agent__custom_agent_id__get
      deprecated: true
      parameters:
      - name: custom_agent_id
        in: path
        required: true
        schema:
          type: string
          title: Custom Agent Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APICustomAgent-Output'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      summary: Patch Custom Agent
      operationId: patch_custom_agent_agent__custom_agent_id__patch
      deprecated: true
      parameters:
      - name: custom_agent_id
        in: path
        required: true
        schema:
          type: string
          title: Custom Agent Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/APICustomAgent-Input'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: 'null'
                title: Response Patch Custom Agent Agent  Custom Agent Id  Patch
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      summary: Delete Custom Agent
      operationId: delete_custom_agent_agent__custom_agent_id__delete
      deprecated: true
      parameters:
      - name: custom_agent_id
        in: path
        required: true
        schema:
          type: string
          title: Custom Agent Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/update:
    put:
      summary: Update Custom Agent
      operationId: update_custom_agent_agent_update_put
      deprecated: true
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/APICustomAgent-Input'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: 'null'
                title: Response Update Custom Agent Agent Update Put
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/review/list:
    get:
      summary: List Custom Agents For Review
      operationId: list_custom_agents_for_review_agent_review_list_get
      deprecated: true
      parameters:
      - name: status
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/CustomAgentReviewStatus'
          default: REVIEW_PENDING
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 20
          title: Limit
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/APICustomAgentForReview'
                title: Response List Custom Agents For Review Agent Review List Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/{custom_agent_id}/review:
    post:
      summary: Review Custom Agent
      operationId: review_custom_agent_agent__custom_agent_id__review_post
      deprecated: true
      parameters:
      - name: custom_agent_id
        in: path
        required: true
        schema:
          type: string
          title: Custom Agent Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/APICustomAgentReviewRequest'
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/custom/{custom_agent_id}/share:
    get:
      summary: Get Custom Agent Share
      operationId: get_custom_agent_share_agent_custom__custom_agent_id__share_get
      parameters:
      - name: custom_agent_id
        in: path
        required: true
        schema:
          type: string
          title: Custom Agent Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetShareResponseOptimized'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/custom/{custom_agent_id}/visibility:
    put:
      summary: Set Custom Agent Visibility
      operationId: set_custom_agent_visibility_agent_custom__custom_agent_id__visibility_put
      parameters:
      - name: custom_agent_id
        in: path
        required: true
        schema:
          type: string
          title: Custom Agent Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomAgentVisibilityRequest'
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/custom/{custom_agent_id}/reference:
    put:
      summary: Set Custom Agent Reference
      operationId: set_custom_agent_reference_agent_custom__custom_agent_id__reference_put
      parameters:
      - name: custom_agent_id
        in: path
        required: true
        schema:
          type: string
          title: Custom Agent Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomAgentReferenceRequest'
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/custom/list:
    get:
      summary: Get Custom Agents
      operationId: get_custom_agents_agent_custom_list_get
      parameters:
      - name: with_public_access
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: With Public Access
      - name: right
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/GroupRights'
          default: READ
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 20
          title: Limit
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/APICustomAgentWithoutData'
                title: Response Get Custom Agents Agent Custom List Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/custom/create:
    post:
      summary: Create Custom Agent
      operationId: create_custom_agent_agent_custom_create_post
      parameters:
      - name: name
        in: query
        required: true
        schema:
          type: string
          title: Name
      - name: description
        in: query
        required: true
        schema:
          type: string
          title: Description
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/custom/{custom_agent_id}:
    get:
      summary: Get Custom Agent
      operationId: get_custom_agent_agent_custom__custom_agent_id__get
      parameters:
      - name: custom_agent_id
        in: path
        required: true
        schema:
          type: string
          title: Custom Agent Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APICustomAgent-Output'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      summary: Patch Custom Agent
      operationId: patch_custom_agent_agent_custom__custom_agent_id__patch
      parameters:
      - name: custom_agent_id
        in: path
        required: true
        schema:
          type: string
          title: Custom Agent Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/APICustomAgent-Input'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: 'null'
                title: Response Patch Custom Agent Agent Custom  Custom Agent Id  Patch
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      summary: Delete Custom Agent
      operationId: delete_custom_agent_agent_custom__custom_agent_id__delete
      parameters:
      - name: custom_agent_id
        in: path
        required: true
        schema:
          type: string
          title: Custom Agent Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/custom/update:
    put:
      summary: Update Custom Agent
      operationId: update_custom_agent_agent_custom_update_put
      deprecated: true
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/APICustomAgent-Input'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: 'null'
                title: Response Update Custom Agent Agent Custom Update Put
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/custom/review/list:
    get:
      summary: List Custom Agents For Review
      operationId: list_custom_agents_for_review_agent_custom_review_list_get
      parameters:
      - name: status
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/CustomAgentReviewStatus'
          default: REVIEW_PENDING
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 20
          title: Limit
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/APICustomAgentForReview'
                title: Response List Custom Agents For Review Agent Custom Review
                  List Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/custom/{custom_agent_id}/review:
    post:
      summary: Review Custom Agent
      operationId: review_custom_agent_agent_custom__custom_agent_id__review_post
      parameters:
      - name: custom_agent_id
        in: path
        required: true
        schema:
          type: string
          title: Custom Agent Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/APICustomAgentReviewRequest'
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /admin/create_api_token_for_user:
    post:
      summary: Create Api Token For User
      description: Create an API token for any user by email. Admin only. Returns
        the raw token once.
      operationId: create_api_token_for_user_admin_create_api_token_for_user_post
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateApiTokenForUserRequest'
      responses:
        '200':
          description: Successful Response
          content:
            text/plain:
              schema:
                type: string
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /admin/folders:
    delete:
      summary: Delete Folder For User
      description: Delete folders for a user by email. Admin only (impersonation by
        email).
      operationId: delete_folder_for_user_admin_folders_delete
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteFolderForUserRequest'
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /admin/preprocess_existing_private_keyframe:
    post:
      summary: Preprocess Private Keyframe
      operationId: preprocess_private_keyframe_admin_preprocess_existing_private_keyframe_post
      parameters:
      - name: keyframe_limit
        in: query
        required: true
        schema:
          type: integer
          title: Keyframe Limit
      - name: model_name
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/EmbeddingModelCodeName'
      - name: batch_size
        in: query
        required: false
        schema:
          type: integer
          default: 100
          title: Batch Size
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestTaskResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /admin/repair_ffprobe_info:
    post:
      summary: Repair Ffprobe Info
      description: Update original_ffprobe_metadata (and material_package_umid) for
        all assets with the given UMID. Admin only.
      operationId: repair_ffprobe_info_admin_repair_ffprobe_info_post
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RepairFfprobeInfoRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepairFfprobeInfoResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /admin/backfill_scene_descriptions_and_embeddings:
    post:
      summary: Backfill Scene Descriptions And Embeddings
      operationId: backfill_scene_descriptions_and_embeddings_admin_backfill_scene_descriptions_and_embeddings_post
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BackfillSceneEmbeddingsRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /admin/backfill_asset_original_dimensions_sse:
    post:
      summary: Backfill Asset Original Dimensions Sse
      description: Backfill original_width/original_height and missing original renditions
        for legacy assets. Admin only.
      operationId: backfill_asset_original_dimensions_sse_admin_backfill_asset_original_dimensions_sse_post
      parameters:
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          description: Skip this many assets (ordered by id) before processing.
          default: 0
          title: Offset
        description: Skip this many assets (ordered by id) before processing.
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /internal/cleanup_expired_multipart_uploads:
    post:
      summary: Internal Cleanup Expired Multipart Uploads
      description: 'Internal-only maintenance endpoint.


        Expose this router only via an internal ingress/LB (VPC-only).'
      operationId: internal_cleanup_expired_multipart_uploads_internal_cleanup_expired_multipart_uploads_post
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 200
          title: Limit
      - name: grace_seconds
        in: query
        required: false
        schema:
          type: integer
          default: 3600
          title: Grace Seconds
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CleanupExpiredMultipartUploadsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /internal/daily_cron:
    post:
      summary: Internal Daily Cron
      description: "Internal-only: daily scheduler hook. Runs, in order:\n\n1. Token\
        \ grant expiration (``expires_at`` in the past \u2192 zero remaining).\n2.\
        \ Yearly subscription monthly drips (``next_cron_grant <= today``).\n3. Storage\
        \ quota reset to default for lapsed subscriptions (period ended and\n   status\
        \ is not ``active`` / ``trialing``).\n\nAll steps share one DB transaction.\
        \ Intended to be called once per day\n(Cloud Scheduler / k8s CronJob). Idempotent\
        \ for expirations within a day;\nyearly drips advance ``next_cron_grant``\
        \ so the same day does not double-grant."
      operationId: internal_daily_cron_internal_daily_cron_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DailyCronResponse'
  /internal/export_html:
    get:
      summary: Internal Export Html
      description: 'Internal-only: serve the video-player export page for a project.


        Returns HTML with bundle.js inlined and OTIO playlist (with presigned URLs)

        for the given project and resolution. Same page as export-server.js /export-page

        but with bundle inlined and project data baked in.


        Resolution selects asset quality: 480p, 720p, 1080p, 4k.

        No permission check: any project can be fetched by id (internal use only).'
      operationId: internal_export_html_internal_export_html_get
      parameters:
      - name: project_id
        in: query
        required: true
        schema:
          type: string
          title: Project Id
      - name: resolution
        in: query
        required: false
        schema:
          enum:
          - 480p
          - 720p
          - 1080p
          - 4k
          type: string
          default: 720p
          title: Resolution
      responses:
        '200':
          description: Successful Response
          content:
            text/html:
              schema:
                type: string
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /group/create:
    post:
      summary: Create Group
      operationId: create_group_group_create_post
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateGroupRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateGroupResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /group/list:
    get:
      summary: List Groups
      operationId: list_groups_group_list_get
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GroupResponse'
                title: Response List Groups Group List Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /group/update:
    post:
      summary: Update Group
      operationId: update_group_group_update_post
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateGroupRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /group/users/add:
    post:
      summary: Add Group Users
      operationId: add_group_users_group_users_add_post
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupUsersRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupUsersResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /group/users/remove:
    post:
      summary: Remove Group Users
      operationId: remove_group_users_group_users_remove_post
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupUsersRemoveRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupUsersResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /create:
    get:
      tags:
      - accepts-api-key
      summary: Create Agent Stream
      description: 'SSE stream for agent creation. GET with query params; same behavior
        as

        POST /agent/response/json. Emits event: tellers.json_result (progressing,
        then done).'
      operationId: create_agent_stream_create_get
      parameters:
      - name: prompt
        in: query
        required: true
        schema:
          type: string
          description: The message/prompt to send to the agent
          title: Prompt
        description: The message/prompt to send to the agent
      - name: tools
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Tool IDs to use. If omitted, defaults to available agent tools.
          title: Tools
        description: Tool IDs to use. If omitted, defaults to available agent tools.
      - name: llm_model
        in: query
        required: false
        schema:
          type: string
          description: The LLM model to use for the response.
          default: gpt-5.4-2026-03-05
          title: Llm Model
        description: The LLM model to use for the response.
      - name: parallel_tool_calls
        in: query
        required: false
        schema:
          type: boolean
          description: Whether to allow parallel tool calls.
          default: false
          title: Parallel Tool Calls
        description: Whether to allow parallel tool calls.
      - name: chat_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional chat ID for conversation tracking. Created if omitted.
          title: Chat Id
        description: Optional chat ID for conversation tracking. Created if omitted.
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /settings:
    get:
      tags:
      - accepts-api-key
      summary: Get Settings
      operationId: get_settings_settings_get
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppSettings'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /task/{task_id}:
    get:
      summary: Get Task
      operationId: get_task_task__task_id__get
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          title: Task Id
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/PendingTaskResponse'
                - $ref: '#/components/schemas/CompleteTaskResponse'
                - $ref: '#/components/schemas/FailedTaskResponse'
                title: Response Get Task Task  Task Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      summary: Delete Task
      operationId: delete_task_task__task_id__delete
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          title: Task Id
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelTaskResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /is-alive:
    get:
      summary: Is Alive
      operationId: is_alive_is_alive_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                title: Response Is Alive Is Alive Get
components:
  schemas:
    APICustomAgent-Input:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        description:
          type: string
          title: Description
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        last_edit:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Last Edit
        logo_asset_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Logo Asset Id
        logo_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Logo Url
        is_public_read:
          type: boolean
          title: Is Public Read
          default: false
        is_reference:
          type: boolean
          title: Is Reference
          default: false
        review:
          anyOf:
          - $ref: '#/components/schemas/APICustomAgentReview'
          - type: 'null'
        data:
          $ref: '#/components/schemas/APICustomAgentData'
      type: object
      required:
      - id
      - name
      - description
      - created_at
      - updated_at
      - logo_asset_id
      - logo_url
      - data
      title: APICustomAgent
    APICustomAgent-Output:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        description:
          type: string
          title: Description
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        last_edit:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Last Edit
        logo_asset_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Logo Asset Id
        logo_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Logo Url
        is_public_read:
          type: boolean
          title: Is Public Read
          default: false
        is_reference:
          type: boolean
          title: Is Reference
          default: false
        review:
          anyOf:
          - $ref: '#/components/schemas/APICustomAgentReview'
          - type: 'null'
        data:
          $ref: '#/components/schemas/APICustomAgentData'
      type: object
      required:
      - id
      - name
      - description
      - created_at
      - updated_at
      - logo_asset_id
      - logo_url
      - data
      title: APICustomAgent
    APICustomAgentData:
      properties:
        prompt:
          type: string
          title: Prompt
          default: ''
        preselected_tools:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Preselected Tools
        available_tools:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Available Tools
        demo_asset_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Demo Asset Id
        demo_asset_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Demo Asset Url
      additionalProperties: true
      type: object
      title: APICustomAgentData
    APICustomAgentForReview:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        description:
          type: string
          title: Description
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        last_edit:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Last Edit
        logo_asset_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Logo Asset Id
        logo_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Logo Url
        is_public_read:
          type: boolean
          title: Is Public Read
          default: false
        is_reference:
          type: boolean
          title: Is Reference
          default: false
        review:
          anyOf:
          - $ref: '#/components/schemas/APICustomAgentReview'
          - type: 'null'
        data:
          $ref: '#/components/schemas/APICustomAgentData'
        owner_email:
          anyOf:
          - type: string
          - type: 'null'
          title: Owner Email
      type: object
      required:
      - id
      - name
      - description
      - created_at
      - updated_at
      - logo_asset_id
      - logo_url
      - data
      title: APICustomAgentForReview
    APICustomAgentReview:
      properties:
        status:
          $ref: '#/components/schemas/CustomAgentReviewStatus'
        reviewer_comment:
          anyOf:
          - type: string
          - type: 'null'
          title: Reviewer Comment
        requested_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Requested At
        reviewed_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Reviewed At
      type: object
      required:
      - status
      title: APICustomAgentReview
    APICustomAgentReviewRequest:
      properties:
        status:
          $ref: '#/components/schemas/CustomAgentReviewStatus'
        comment:
          type: string
          title: Comment
          default: ''
      type: object
      required:
      - status
      title: APICustomAgentReviewRequest
    APICustomAgentWithoutData:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        description:
          type: string
          title: Description
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        last_edit:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Last Edit
        logo_asset_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Logo Asset Id
        logo_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Logo Url
        is_public_read:
          type: boolean
          title: Is Public Read
          default: false
        is_reference:
          type: boolean
          title: Is Reference
          default: false
        review:
          anyOf:
          - $ref: '#/components/schemas/APICustomAgentReview'
          - type: 'null'
      type: object
      required:
      - id
      - name
      - description
      - created_at
      - updated_at
      - logo_asset_id
      - logo_url
      title: APICustomAgentWithoutData
    AafTargetUrlSource:
      type: string
      enum:
      - in_app_filename
      - in_app_path
      - original_path
      title: AafTargetUrlSource
    AgentMessageRequest:
      properties:
        message:
          type: string
          title: Message
          description: The message to send to the agent
        chat_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Chat Id
          description: Optional chat ID for conversation tracking
        previous_response_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Previous Response Id
          description: The ID of the previous response to the model. Use this to create
            multi-turn conversations.
        llm_verbosity:
          type: string
          enum:
          - low
          - medium
          - high
          title: Llm Verbosity
          description: Range of number of tokens that can be generated by the LLM,
            higher values yield more verbose responses.
          default: low
        llm_reasoning_effort:
          anyOf:
          - type: string
            enum:
            - none
            - minimal
            - low
            - medium
            - high
            - xhigh
          - type: 'null'
          title: Llm Reasoning Effort
          description: 'Controls reasoning effort: higher values yield more precise
            but slower responses.'
          default: low
        context:
          anyOf:
          - $ref: '#/components/schemas/AppContext'
          - type: 'null'
          description: The app context when the response is sent.
        llm_model:
          type: string
          enum:
          - gpt-5.5-2026-04-23
          - gpt-5.5-pro-2026-04-23
          - gpt-5.4-pro-2026-03-05
          - gpt-5.4
          - gpt-5.4-mini
          - gpt-5.4-nano
          - gpt-5.3-codex
          - gpt-5.2-2025-12-11
          - gpt-5-mini-2025-08-07
          title: Llm Model
          description: The model to use to generate the response.
          default: gpt-5.5-2026-04-23
        tools:
          items:
            type: string
          type: array
          title: Tools
          description: The tools to use to generate the response. Defaults to the
            same as GET /settings (AVAILABLE_AGENT_TOOLS if set, else all tools).
        custom_agent_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Custom Agent Id
          description: The ID of the custom agent to use to generate the response.
            If not provided, the default custom agent will be used.
        parallel_tool_calls:
          type: boolean
          title: Parallel Tool Calls
          description: Whether to allow parallel tool calls. If True, the tool calls
            will be executed in parallel. If False, the tool calls will be executed
            sequentially.
          default: false
        override_llm_verbosity:
          anyOf:
          - type: string
            enum:
            - low
            - medium
            - high
          - type: 'null'
          title: Override Llm Verbosity
          description: Override the verbosity of the LLM, range of number of tokens
            that can be generated by the LLM, higher values yield more verbose responses.
        override_llm_reasoning_effort:
          anyOf:
          - type: string
            enum:
            - none
            - minimal
            - low
            - medium
            - high
            - xhigh
          - type: 'null'
          title: Override Llm Reasoning Effort
          description: 'Override the reasoning effort of the LLM, controls reasoning
            effort: higher values yield more precise but slower responses.'
        max_mode:
          type: boolean
          title: Max Mode
          description: Whether to enable max mode. If True, the agent will use the
            maximum number of tokens allowed by the model.
          default: false
        no_interaction:
          type: boolean
          title: No Interaction
          description: Whether to disable interaction with the agent. If True, the
            agent will try to generate a response without interacting with the user.
          default: false
      additionalProperties: false
      type: object
      required:
      - message
      title: AgentMessageRequest
    AgentMessageRequestWithoutNoInteraction:
      properties:
        message:
          type: string
          title: Message
          description: The message to send to the agent
        chat_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Chat Id
          description: Optional chat ID for conversation tracking
        previous_response_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Previous Response Id
          description: The ID of the previous response to the model. Use this to create
            multi-turn conversations.
        llm_verbosity:
          type: string
          enum:
          - low
          - medium
          - high
          title: Llm Verbosity
          description: Range of number of tokens that can be generated by the LLM,
            higher values yield more verbose responses.
          default: low
        llm_reasoning_effort:
          anyOf:
          - type: string
            enum:
            - none
            - minimal
            - low
            - medium
            - high
            - xhigh
          - type: 'null'
          title: Llm Reasoning Effort
          description: 'Controls reasoning effort: higher values yield more precise
            but slower responses.'
          default: low
        context:
          anyOf:
          - $ref: '#/components/schemas/AppContext'
          - type: 'null'
          description: The app context when the response is sent.
        llm_model:
          type: string
          enum:
          - gpt-5.5-2026-04-23
          - gpt-5.5-pro-2026-04-23
          - gpt-5.4-pro-2026-03-05
          - gpt-5.4
          - gpt-5.4-mini
          - gpt-5.4-nano
          - gpt-5.3-codex
          - gpt-5.2-2025-12-11
          - gpt-5-mini-2025-08-07
          title: Llm Model
          description: The model to use to generate the response.
          default: gpt-5.5-2026-04-23
        tools:
          items:
            type: string
          type: array
          title: Tools
          description: The tools to use to generate the response. Defaults to the
            same as GET /settings (AVAILABLE_AGENT_TOOLS if set, else all tools).
        custom_agent_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Custom Agent Id
          description: The ID of the custom agent to use to generate the response.
            If not provided, the default custom agent will be used.
        parallel_tool_calls:
          type: boolean
          title: Parallel Tool Calls
          description: Whether to allow parallel tool calls. If True, the tool calls
            will be executed in parallel. If False, the tool calls will be executed
            sequentially.
          default: false
        override_llm_verbosity:
          anyOf:
          - type: string
            enum:
            - low
            - medium
            - high
          - type: 'null'
          title: Override Llm Verbosity
          description: Override the verbosity of the LLM, range of number of tokens
            that can be generated by the LLM, higher values yield more verbose responses.
        override_llm_reasoning_effort:
          anyOf:
          - type: string
            enum:
            - none
            - minimal
            - low
            - medium
            - high
            - xhigh
          - type: 'null'
          title: Override Llm Reasoning Effort
          description: 'Override the reasoning effort of the LLM, controls reasoning
            effort: higher values yield more precise but slower responses.'
        max_mode:
          type: boolean
          title: Max Mode
          description: Whether to enable max mode. If True, the agent will use the
            maximum number of tokens allowed by the model.
          default: false
      additionalProperties: false
      type: object
      required:
      - message
      title: AgentMessageRequestWithoutNoInteraction
    ApiMediaChunk:
      properties:
        description_id:
          type: string
          title: Description Id
        description:
          type: string
          title: Description
        time_range:
          $ref: '#/components/schemas/TimeRange'
      type: object
      required:
      - description_id
      - description
      - time_range
      title: ApiMediaChunk
    ApiProjectOtio:
      properties:
        right:
          $ref: '#/components/schemas/GroupRights'
        authors_ids:
          items:
            type: string
          type: array
          title: Authors Ids
        id:
          type: string
          title: Id
        title:
          type: string
          title: Title
        description:
          type: string
          title: Description
        updated_at:
          type: number
          title: Updated At
        created_at:
          type: number
          title: Created At
        data:
          additionalProperties: true
          type: object
          title: Data
        image_id:
          type: string
          title: Image Id
        can_edit:
          type: boolean
          title: Can Edit
        is_public_read:
          type: boolean
          title: Is Public Read
          deprecated: true
      type: object
      required:
      - right
      - authors_ids
      - id
      - title
      - description
      - updated_at
      - created_at
      - data
      - image_id
      - can_edit
      - is_public_read
      title: ApiProjectOtio
    ApiTimeBasedMediaDescription:
      properties:
        chunks:
          items:
            $ref: '#/components/schemas/ApiMediaChunk'
          type: array
          title: Chunks
          default: []
      type: object
      title: ApiTimeBasedMediaDescription
    ApiUser:
      properties:
        firebase_uid:
          anyOf:
          - type: string
          - type: 'null'
          title: Firebase Uid
        email:
          type: string
          title: Email
        company:
          anyOf:
          - type: string
          - type: 'null'
          title: Company
        first_name:
          anyOf:
          - type: string
          - type: 'null'
          title: First Name
        job_title:
          anyOf:
          - type: string
          - type: 'null'
          title: Job Title
        last_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Last Name
        profile_pic:
          anyOf:
          - type: string
          - type: 'null'
          title: Profile Pic
        created_at_str:
          type: string
          title: Created At Str
          description: '``created_at`` as UTC ISO-8601 ending in Z (e.g. for debugging
            / clients).'
        last_seen_at_str:
          type: string
          title: Last Seen At Str
          description: '``last_seen_at`` as UTC ISO-8601 ending in Z.'
        updated_at_str:
          type: string
          title: Updated At Str
          description: '``updated_at`` as UTC ISO-8601 ending in Z.'
        credits:
          type: number
          title: Credits
          description: Spendable balance from grants (`get_token`), not legacy columns.
        storage_quota_gb:
          type: integer
          title: Storage Quota Gb
          description: Total storage quota available to the user in GB.
        subscription:
          anyOf:
          - $ref: '#/components/schemas/ApiUserSubscription'
          - type: 'null'
        role:
          additionalProperties:
            type: boolean
          type: object
          title: Role
          description: Role flags for roles held by the user. Missing roles are omitted.
        user_preferences:
          $ref: '#/components/schemas/UserPreferences'
          description: Persisted user preferences returned with the user profile.
      type: object
      required:
      - firebase_uid
      - email
      - company
      - first_name
      - job_title
      - last_name
      - profile_pic
      - created_at_str
      - last_seen_at_str
      - updated_at_str
      - credits
      - storage_quota_gb
      - subscription
      - user_preferences
      title: ApiUser
    ApiUserSubscription:
      properties:
        type:
          type: string
          enum:
          - Monthly
          - Yearly
          title: Type
          description: User-facing subscription cadence label.
        monthly_tokens:
          type: number
          title: Monthly Tokens
          description: Subscription token amount available each month.
        storage_quota_gb:
          type: integer
          title: Storage Quota Gb
          description: Total storage quota available to the user in GB.
        pricing:
          items:
            $ref: '#/components/schemas/ApiUserSubscriptionPricingLine'
          type: array
          title: Pricing
          description: Current Stripe subscription price lines with price id and quantity.
        cancel_at_period_end:
          type: boolean
          title: Cancel At Period End
          description: True when Stripe will cancel the subscription at period end.
          default: false
        cancel_at:
          anyOf:
          - type: string
          - type: 'null'
          title: Cancel At
          description: UTC ISO-8601 time when Stripe will cancel the subscription.
        current_period_end:
          anyOf:
          - type: string
          - type: 'null'
          title: Current Period End
          description: UTC ISO-8601 end of the current subscription period.
        latest_payment_issue:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Latest Payment Issue
          description: When set, an invoice needs payment or customer action (e.g.
            3DS). Fields may include invoice_id, invoice_status, hosted_invoice_url,
            customer_action_url.
      type: object
      required:
      - type
      - monthly_tokens
      - storage_quota_gb
      title: ApiUserSubscription
    ApiUserSubscriptionPricingLine:
      properties:
        id:
          type: string
          title: Id
          description: Stripe price id for this subscription line.
        quantity:
          type: integer
          title: Quantity
          description: Quantity for this Stripe price line.
      type: object
      required:
      - id
      - quantity
      title: ApiUserSubscriptionPricingLine
    AppContext:
      properties:
        current_playback_time:
          anyOf:
          - type: number
          - type: 'null'
          title: Current Playback Time
          description: The current playback time in the project when the response
            is sent.
        on_screen_asset:
          anyOf:
          - type: string
          - type: 'null'
          title: On Screen Asset
          description: The id of the asset on screen when the response is sent.
        on_screen_project:
          anyOf:
          - type: string
          - type: 'null'
          title: On Screen Project
          description: The id of the project on screen when the response is sent.
        selected_clips:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Selected Clips
          description: The ids of the clips selected when the response is sent.
        selected_assets:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Selected Assets
          description: The ids of the assets selected when the response is sent.
        selected_projects:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Selected Projects
          description: The ids of the projects selected when the response is sent.
      additionalProperties: false
      type: object
      title: AppContext
    AppSettings:
      properties:
        maintenance_mode:
          type: boolean
          title: Maintenance Mode
        available_agent_tools:
          items:
            additionalProperties: true
            type: object
          type: array
          title: Available Agent Tools
        available_llm_models:
          items:
            $ref: '#/components/schemas/AvailableModel'
          type: array
          title: Available Llm Models
        presets:
          items:
            $ref: '#/components/schemas/TellersPreset'
          type: array
          title: Presets
      type: object
      required:
      - maintenance_mode
      - available_agent_tools
      - available_llm_models
      - presets
      title: AppSettings
    AssetAnalysisSettings:
      properties:
        reasoning:
          anyOf:
          - type: string
            enum:
            - low
            - medium
            - high
          - type: 'null'
          title: Reasoning
        fps:
          anyOf:
          - type: number
            maximum: 24.0
            minimum: 1.0
          - type: 'null'
          title: Fps
        entity_quality:
          anyOf:
          - type: string
            enum:
            - low
            - medium
            - high
          - type: 'null'
          title: Entity Quality
        asset_quality:
          anyOf:
          - type: string
            enum:
            - low
            - medium
            - high
          - type: 'null'
          title: Asset Quality
        prompt:
          anyOf:
          - type: string
          - type: 'null'
          title: Prompt
      additionalProperties: false
      type: object
      title: AssetAnalysisSettings
    AssetDescriptionGenerationMetadataResponse:
      properties:
        description_id:
          type: string
          title: Description Id
        asset_id:
          type: string
          title: Asset Id
        start_time_ms:
          type: integer
          title: Start Time Ms
        end_time_ms:
          type: integer
          title: End Time Ms
        generation_metadata:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Generation Metadata
      type: object
      required:
      - description_id
      - asset_id
      - start_time_ms
      - end_time_ms
      - generation_metadata
      title: AssetDescriptionGenerationMetadataResponse
    AssetDetails:
      properties:
        info:
          $ref: '#/components/schemas/AssetInfo'
        transcription:
          anyOf:
          - $ref: '#/components/schemas/TimedTranscript'
          - type: 'null'
        chunked_descriptions:
          anyOf:
          - $ref: '#/components/schemas/ApiTimeBasedMediaDescription'
          - type: 'null'
      type: object
      required:
      - info
      title: AssetDetails
    AssetDownloadUrlBatchItem:
      properties:
        asset_id:
          type: string
          title: Asset Id
        error:
          type: boolean
          title: Error
        error_message:
          anyOf:
          - type: string
          - type: 'null'
          title: Error Message
        download:
          anyOf:
          - $ref: '#/components/schemas/AssetDownloadUrlResponse'
          - type: 'null'
      type: object
      required:
      - asset_id
      - error
      title: AssetDownloadUrlBatchItem
      description: Resolved download payload for one asset in a batch request.
    AssetDownloadUrlBatchRequest:
      properties:
        asset_ids:
          items:
            type: string
          type: array
          minItems: 1
          title: Asset Ids
          description: Asset IDs to resolve.
        quality:
          type: string
          enum:
          - 480p
          - 720p
          - 1080p
          - original
          - highest
          - lowest
          title: Quality
          default: 720p
        player_compatible:
          type: boolean
          title: Player Compatible
          default: true
        frame_time:
          anyOf:
          - type: number
          - type: 'null'
          title: Frame Time
        request_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Request Id
      type: object
      required:
      - asset_ids
      title: AssetDownloadUrlBatchRequest
      description: Request body for resolving multiple asset download URLs.
    AssetDownloadUrlBatchResponse:
      properties:
        items:
          items:
            $ref: '#/components/schemas/AssetDownloadUrlBatchItem'
          type: array
          title: Items
      type: object
      required:
      - items
      title: AssetDownloadUrlBatchResponse
    AssetDownloadUrlResponse:
      properties:
        url:
          type: string
          title: Url
        expiredIn:
          type: integer
          title: Expiredin
          description: 'Seconds the URL is expected to work: matches S3 presign expiry
            when applicable; for Pexels/CDN links this is a recommended refresh interval,
            not a hard protocol expiry.'
        current_time:
          type: string
          format: date-time
          title: Current Time
          description: The current time when the URL was generated
        request_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Request Id
          description: The request ID when the URL was generated
      type: object
      required:
      - url
      - expiredIn
      title: AssetDownloadUrlResponse
      description: Media URL and how long it should remain valid (for refresh / UrlSource
        lifecycle).
    AssetInfo:
      properties:
        provider:
          $ref: '#/components/schemas/AssetProvider'
        id:
          type: string
          title: Id
        path:
          type: string
          title: Path
        description:
          type: string
          title: Description
        file_type:
          $ref: '#/components/schemas/FileType'
        duration_seconds:
          type: number
          title: Duration Seconds
        linked_assets:
          items:
            $ref: '#/components/schemas/LinkedAsset'
          type: array
          title: Linked Assets
      type: object
      required:
      - provider
      - id
      - path
      - description
      - file_type
      - duration_seconds
      - linked_assets
      title: AssetInfo
    AssetInfosBatchItem:
      properties:
        asset_id:
          type: string
          title: Asset Id
        error:
          type: boolean
          title: Error
        error_message:
          anyOf:
          - type: string
          - type: 'null'
          title: Error Message
        info:
          anyOf:
          - $ref: '#/components/schemas/AssetMinimalInfoResponse'
          - type: 'null'
      type: object
      required:
      - asset_id
      - error
      title: AssetInfosBatchItem
    AssetInfosBatchRequest:
      properties:
        asset_ids:
          items:
            type: string
          type: array
          minItems: 1
          title: Asset Ids
          description: Asset IDs to fetch minimal info for.
      type: object
      required:
      - asset_ids
      title: AssetInfosBatchRequest
    AssetInfosBatchResponse:
      properties:
        items:
          items:
            $ref: '#/components/schemas/AssetInfosBatchItem'
          type: array
          title: Items
      type: object
      required:
      - items
      title: AssetInfosBatchResponse
    AssetMinimalInfoResponse:
      properties:
        source_name:
          type: string
          title: Source Name
        path:
          type: string
          title: Path
        duration_second:
          type: number
          title: Duration Second
        file_type:
          $ref: '#/components/schemas/FileType'
      type: object
      required:
      - source_name
      - path
      - duration_second
      - file_type
      title: AssetMinimalInfoResponse
    AssetPatchRequest:
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        destination_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Destination Id
      type: object
      title: AssetPatchRequest
      description: 'Partial update: provide at least one. name: rename; destination_id:
        move.'
    AssetProvider:
      properties:
        name:
          type: string
          title: Name
        url:
          type: string
          title: Url
        icon_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Icon Url
      type: object
      required:
      - name
      - url
      title: AssetProvider
    AssetReferenceRequest:
      properties:
        is_reference:
          type: boolean
          title: Is Reference
      type: object
      required:
      - is_reference
      title: AssetReferenceRequest
    AssetShareResponseOptimized:
      properties:
        groups:
          items:
            $ref: '#/components/schemas/GroupShareInfo'
          type: array
          title: Groups
          default: []
        validated_users:
          items:
            $ref: '#/components/schemas/ValidatedUserInfo'
          type: array
          title: Validated Users
          default: []
        is_public_read:
          type: boolean
          title: Is Public Read
          default: false
        is_reference:
          type: boolean
          title: Is Reference
          default: false
        can_share:
          type: boolean
          title: Can Share
          default: false
      type: object
      title: AssetShareResponseOptimized
      description: 'Optimized share config: groups and validated_users with rights,
        plus flags.'
    AssetUploadRequest:
      properties:
        content_length:
          type: integer
          title: Content Length
          description: The content length of the asset in bytes
        upload_id:
          type: string
          title: Upload Id
        source_file:
          $ref: '#/components/schemas/SourceFileInfo'
        file_type:
          $ref: '#/components/schemas/FileType'
          default: video
        multipart:
          type: boolean
          title: Multipart
          description: If true, returns presigned multipart upload URLs instead of
            a single PUT URL.
          default: false
        multipart_part_size:
          anyOf:
          - type: integer
          - type: 'null'
          title: Multipart Part Size
          description: Optional multipart part size in bytes (min 5 MiB). If omitted,
            a default is used.
      type: object
      required:
      - content_length
      - upload_id
      - source_file
      title: AssetUploadRequest
    AssetUploadResponse:
      properties:
        upload_id:
          type: string
          title: Upload Id
        asset_id:
          type: string
          title: Asset Id
        presigned_put_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Presigned Put Url
        presigned_put_urls:
          items:
            type: string
          type: array
          title: Presigned Put Urls
        multipart_upload_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Multipart Upload Id
        multipart_part_size:
          anyOf:
          - type: integer
          - type: 'null'
          title: Multipart Part Size
        multipart_part_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Multipart Part Count
      type: object
      required:
      - upload_id
      - asset_id
      title: AssetUploadResponse
    AssetVisibilityRequest:
      properties:
        is_public_read:
          type: boolean
          title: Is Public Read
      type: object
      required:
      - is_public_read
      title: AssetVisibilityRequest
    AvailableModel:
      properties:
        name:
          type: string
          title: Name
        codename:
          type: string
          title: Codename
        compatible_models:
          items:
            type: string
          type: array
          title: Compatible Models
        options:
          $ref: '#/components/schemas/TellersAvailableOptions'
      type: object
      required:
      - name
      - codename
      - compatible_models
      - options
      title: AvailableModel
    BackfillSceneEmbeddingsRequest:
      properties:
        embedding_model:
          $ref: '#/components/schemas/EmbeddingModelCodeName'
          default: gemini_embedding_001
        limit_assets:
          type: integer
          title: Limit Assets
          default: 500
        aggregate_window_size:
          type: integer
          title: Aggregate Window Size
          default: 2
        create_whole_video_aggregate:
          type: boolean
          title: Create Whole Video Aggregate
          default: true
        create_missing_descriptions_from_asset_json:
          type: boolean
          title: Create Missing Descriptions From Asset Json
          default: true
      type: object
      title: BackfillSceneEmbeddingsRequest
    BillingCatalog:
      properties:
        plans:
          items:
            oneOf:
            - $ref: '#/components/schemas/CatalogPlanOneOff'
            - $ref: '#/components/schemas/CatalogPlanSubscription'
            discriminator:
              propertyName: kind
              mapping:
                one_off_tokens: '#/components/schemas/CatalogPlanOneOff'
                subscription: '#/components/schemas/CatalogPlanSubscription'
          type: array
          title: Plans
      additionalProperties: false
      type: object
      required:
      - plans
      title: BillingCatalog
    CancelTaskResponse:
      properties:
        task_id:
          type: string
          title: Task Id
        previous_state:
          $ref: '#/components/schemas/TaskStatus'
        description:
          type: string
          title: Description
      type: object
      required:
      - task_id
      - previous_state
      - description
      title: CancelTaskResponse
    CatalogFeature:
      properties:
        text:
          type: string
          title: Text
          description: User-facing feature/highlight text.
        icon_key:
          anyOf:
          - type: string
          - type: 'null'
          title: Icon Key
          description: Optional semantic icon key that frontend maps to an icon.
      additionalProperties: false
      type: object
      required:
      - text
      title: CatalogFeature
      description: Frontend-facing feature/highlight with optional semantic icon key.
    CatalogHighlight:
      properties:
        number:
          anyOf:
          - type: number
          - type: 'null'
          title: Number
          description: Optional numeric value to display prominently.
        stripe_price_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Stripe Price Id
          description: Optional Stripe price id used by UI when refreshing highlight
            values.
        text:
          type: string
          title: Text
          description: Label displayed under/next to the number.
      additionalProperties: false
      type: object
      required:
      - text
      title: CatalogHighlight
      description: Frontend-facing compact metric shown as number + label.
    CatalogPlanOneOff:
      properties:
        tier_id:
          type: string
          title: Tier Id
        display_name:
          type: string
          title: Display Name
          description: Human-readable plan name for frontend display.
        subtitle:
          type: string
          title: Subtitle
          description: Optional short subtitle/description displayed under the plan
            name.
          default: ''
        cta_text:
          type: string
          title: Cta Text
          description: Optional call-to-action label shown on the plan button.
          default: ''
        highlights:
          items:
            $ref: '#/components/schemas/CatalogHighlight'
          type: array
          maxItems: 2
          title: Highlights
          description: Up to two compact highlights for frontend display (number +
            text).
        features:
          items:
            $ref: '#/components/schemas/CatalogFeature'
          type: array
          title: Features
          description: Human-readable feature bullets for this plan (frontend display).
        enabled:
          type: boolean
          title: Enabled
          default: true
        default_items:
          items:
            $ref: '#/components/schemas/PlanLineItem'
          type: array
          title: Default Items
          description: Suggested default cart rows (empty list when not applicable).
        pricing:
          $ref: '#/components/schemas/PlanPricing'
          description: Priced lines used for preview and checkout.
        kind:
          type: string
          const: one_off_tokens
          title: Kind
          default: one_off_tokens
      additionalProperties: false
      type: object
      required:
      - tier_id
      - display_name
      - default_items
      - pricing
      title: CatalogPlanOneOff
      description: Prepaid token pack.
    CatalogPlanSubscription:
      properties:
        tier_id:
          type: string
          title: Tier Id
        display_name:
          type: string
          title: Display Name
          description: Human-readable plan name for frontend display.
        subtitle:
          type: string
          title: Subtitle
          description: Optional short subtitle/description displayed under the plan
            name.
          default: ''
        cta_text:
          type: string
          title: Cta Text
          description: Optional call-to-action label shown on the plan button.
          default: ''
        highlights:
          items:
            $ref: '#/components/schemas/CatalogHighlight'
          type: array
          maxItems: 2
          title: Highlights
          description: Up to two compact highlights for frontend display (number +
            text).
        features:
          items:
            $ref: '#/components/schemas/CatalogFeature'
          type: array
          title: Features
          description: Human-readable feature bullets for this plan (frontend display).
        enabled:
          type: boolean
          title: Enabled
          default: true
        default_items:
          items:
            $ref: '#/components/schemas/PlanLineItem'
          type: array
          title: Default Items
          description: Suggested default cart rows (empty list when not applicable).
        pricing:
          $ref: '#/components/schemas/PlanPricing'
          description: Priced lines used for preview and checkout.
        kind:
          type: string
          const: subscription
          title: Kind
          default: subscription
        interval:
          anyOf:
          - type: string
            enum:
            - month
            - year
          - type: 'null'
          title: Interval
        interval_upgrade_cta:
          type: string
          title: Interval Upgrade Cta
          description: Optional call-to-action label for switching subscription interval,
            e.g. monthly to yearly.
          default: ''
        quantity_update_cta:
          type: string
          title: Quantity Update Cta
          description: Optional call-to-action label for changing subscription item
            quantities.
          default: ''
      additionalProperties: false
      type: object
      required:
      - tier_id
      - display_name
      - default_items
      - pricing
      title: CatalogPlanSubscription
    CatalogPricingLine:
      properties:
        stripe_price_id:
          type: string
          title: Stripe Price Id
        display_name:
          type: string
          title: Display Name
          description: Human-readable label for this Stripe price line (frontend display).
          default: ''
        unit_amount_cents:
          type: number
          title: Unit Amount Cents
          description: Effective unit price in cents per displayed unit (e.g. per
            token). For Stripe prices configured per pack/group, this is normalized
            using Stripe transform quantity metadata.
          default: 0.0
        min_quantity:
          anyOf:
          - type: integer
            minimum: 0.0
          - type: 'null'
          title: Min Quantity
          description: Checkout minimum quantity for this price (one-off packs).
        max_quantity:
          anyOf:
          - type: integer
            minimum: 0.0
          - type: 'null'
          title: Max Quantity
          description: Checkout maximum quantity for this price (one-off packs).
        tier_pricing_from_stripe:
          type: boolean
          title: Tier Pricing From Stripe
          description: If true, replace this price line with tier bands fetched from
            Stripe (subscription only).
          default: false
        tiers_mode:
          anyOf:
          - type: string
            enum:
            - graduated
            - volume
          - type: 'null'
          title: Tiers Mode
          description: 'For Stripe tiered prices: `graduated` vs `volume` (Stripe
            Price `tiers_mode`). Set on each band when `tier_pricing_from_stripe`
            lines are expanded from Stripe.'
      additionalProperties: false
      type: object
      required:
      - stripe_price_id
      title: CatalogPricingLine
      description: One billable Stripe price on the plan.
    ChatHistoryResponse:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        custom_agent_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Custom Agent Id
        total_tokens:
          type: number
          title: Total Tokens
        is_running:
          type: boolean
          title: Is Running
      type: object
      required:
      - id
      - name
      - created_at
      - updated_at
      - custom_agent_id
      - total_tokens
      - is_running
      title: ChatHistoryResponse
    ChatMessageAgentResponse:
      properties:
        type:
          type: string
          const: agent
          title: Type
          default: agent
        id:
          type: string
          title: Id
        agent_message:
          additionalProperties: true
          type: object
          title: Agent Message
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
      - id
      - agent_message
      - created_at
      title: ChatMessageAgentResponse
    ChatMessageUserResponse:
      properties:
        type:
          type: string
          const: user
          title: Type
          default: user
        id:
          type: string
          title: Id
        user_message:
          type: string
          title: User Message
        enabled_tools:
          items:
            type: string
          type: array
          title: Enabled Tools
        verbosity:
          type: string
          title: Verbosity
        reasoning_effort:
          type: string
          title: Reasoning Effort
        context:
          additionalProperties: true
          type: object
          title: Context
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
      - id
      - user_message
      - enabled_tools
      - verbosity
      - reasoning_effort
      - context
      - created_at
      title: ChatMessageUserResponse
    CleanupExpiredMultipartUploadsResponse:
      properties:
        cleaned_count:
          type: integer
          title: Cleaned Count
      type: object
      required:
      - cleaned_count
      title: CleanupExpiredMultipartUploadsResponse
    ClipSourceInfo:
      properties:
        source_video_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Source Video Url
        source_video_description:
          anyOf:
          - type: string
          - type: 'null'
          title: Source Video Description
        source_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Source Name
        source_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Source Url
        source_icon_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Source Icon Url
        path:
          anyOf:
          - type: string
          - type: 'null'
          title: Path
      type: object
      title: ClipSourceInfo
    CompleteTaskResponse:
      properties:
        status:
          type: string
          const: COMPLETE
          title: Status
          default: COMPLETE
        result:
          anyOf:
          - {}
          - type: 'null'
          title: Result
      type: object
      required:
      - result
      title: CompleteTaskResponse
    CouponCheckResponse:
      properties:
        coupon_code:
          type: string
          title: Coupon Code
        is_valid:
          type: boolean
          title: Is Valid
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
      type: object
      required:
      - coupon_code
      - is_valid
      - name
      - description
      title: CouponCheckResponse
    CreateApiTokenForUserRequest:
      properties:
        email:
          type: string
          title: Email
        name:
          type: string
          title: Name
      type: object
      required:
      - email
      - name
      title: CreateApiTokenForUserRequest
    CreateEntityRequest:
      properties:
        name:
          type: string
          title: Name
        description:
          type: string
          title: Description
          default: ''
        directory_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Directory Id
      type: object
      required:
      - name
      title: CreateEntityRequest
    CreateFolderRequest:
      properties:
        path:
          anyOf:
          - type: string
          - type: 'null'
          title: Path
        parent_asset_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Parent Asset Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
      type: object
      title: CreateFolderRequest
      description: Either provide path (create at path) or parent_asset_id + name
        (create under parent).
    CreateFolderResponse:
      properties:
        id:
          type: string
          title: Id
        path:
          type: string
          title: Path
      type: object
      required:
      - id
      - path
      title: CreateFolderResponse
    CreateGroupRequest:
      properties:
        name:
          type: string
          title: Name
      type: object
      required:
      - name
      title: CreateGroupRequest
    CreateGroupResponse:
      properties:
        id:
          type: string
          title: Id
      type: object
      required:
      - id
      title: CreateGroupResponse
    CustomAgentReferenceRequest:
      properties:
        is_reference:
          type: boolean
          title: Is Reference
      type: object
      required:
      - is_reference
      title: CustomAgentReferenceRequest
    CustomAgentReviewStatus:
      type: string
      enum:
      - REVIEW_PENDING
      - REVIEW_APPROVED
      - REVIEW_CHANGE_REQUESTED
      title: CustomAgentReviewStatus
    CustomAgentVisibilityRequest:
      properties:
        is_public_read:
          type: boolean
          title: Is Public Read
      type: object
      required:
      - is_public_read
      title: CustomAgentVisibilityRequest
    DailyCronResponse:
      properties:
        grants_expired:
          type: integer
          title: Grants Expired
        yearly_grants_applied:
          type: integer
          title: Yearly Grants Applied
        storage_quota_resets:
          type: integer
          title: Storage Quota Resets
      type: object
      required:
      - grants_expired
      - yearly_grants_applied
      - storage_quota_resets
      title: DailyCronResponse
    DeleteFolderForUserRequest:
      properties:
        email:
          type: string
          title: Email
        folder_paths:
          items:
            type: string
          type: array
          title: Folder Paths
      type: object
      required:
      - email
      - folder_paths
      title: DeleteFolderForUserRequest
      description: 'Admin impersonation: delete folders for a user identified by email.'
    DownscaleRequest:
      properties:
        new_min_dimension:
          type: integer
          enum:
          - 360
          - 480
          - 720
          - 1080
          - 1440
          - 2160
          title: New Min Dimension
          default: 720
        max_framerate:
          type: integer
          maximum: 60.0
          minimum: 5.0
          title: Max Framerate
          default: 30
        fast:
          type: boolean
          title: Fast
          default: false
      type: object
      title: DownscaleRequest
    DownscaleResponse:
      properties:
        task_id:
          type: string
          title: Task Id
      type: object
      required:
      - task_id
      title: DownscaleResponse
    DuplicateAssetResponse:
      properties:
        id:
          type: string
          title: Id
      type: object
      required:
      - id
      title: DuplicateAssetResponse
      description: New asset id after a successful duplicate.
    EmbeddingModelCodeName:
      type: string
      enum:
      - bellatrix
      - google_vertex
      - gemini_embedding_001
      title: EmbeddingModelCodeName
      description: User facing model code names to not leak to the user.
    EntityAssetsRequest:
      properties:
        entity_id:
          type: string
          title: Entity Id
        asset_ids:
          items:
            type: string
          type: array
          title: Asset Ids
      type: object
      required:
      - entity_id
      - asset_ids
      title: EntityAssetsRequest
      description: Request body to add multiple assets (or folders) to an entity.
    EntityResponse:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        description:
          type: string
          title: Description
        image_ids:
          items:
            type: string
          type: array
          title: Image Ids
          default: []
        audio_ids:
          items:
            type: string
          type: array
          title: Audio Ids
          default: []
      type: object
      required:
      - id
      - name
      - description
      title: EntityResponse
    ExportProjectResponse:
      properties:
        task_id:
          type: string
          title: Task Id
        asset_id:
          type: string
          title: Asset Id
      type: object
      required:
      - task_id
      - asset_id
      title: ExportProjectResponse
      description: 'Response for POST /project/{project_id}/export: task_id and the
        new export asset_id.'
    FailedTaskResponse:
      properties:
        status:
          type: string
          const: FAILED
          title: Status
          default: FAILED
        result:
          anyOf:
          - {}
          - type: 'null'
          title: Result
      type: object
      title: FailedTaskResponse
    FileReference:
      properties:
        file_name:
          type: string
          title: File Name
        is_folder:
          type: boolean
          title: Is Folder
        file_id:
          anyOf:
          - type: string
          - type: 'null'
          title: File Id
        file_type:
          anyOf:
          - type: string
          - type: 'null'
          title: File Type
        duration_seconds:
          anyOf:
          - type: number
          - type: 'null'
          title: Duration Seconds
        last_edit:
          type: string
          format: date-time
          title: Last Edit
      type: object
      required:
      - file_name
      - is_folder
      - file_id
      - file_type
      - last_edit
      title: FileReference
    FileType:
      type: string
      enum:
      - video
      - audio
      - image
      - placeholder
      - group_clip
      - aaf
      - folder
      - project
      - entity
      - teller_config
      title: FileType
    GroupResponse:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        last_edit:
          type: string
          format: date-time
          title: Last Edit
        is_reference:
          type: boolean
          title: Is Reference
      type: object
      required:
      - id
      - name
      - last_edit
      - is_reference
      title: GroupResponse
    GroupRights:
      type: string
      enum:
      - ADMIN
      - READ
      - WRITE
      title: GroupRights
    GroupShareInfo:
      properties:
        group_id:
          type: string
          title: Group Id
        group_name:
          type: string
          title: Group Name
        right:
          type: string
          title: Right
      type: object
      required:
      - group_id
      - group_name
      - right
      title: GroupShareInfo
      description: Group with its right on the asset.
    GroupUsersRemoveRequest:
      properties:
        group_id:
          type: string
          title: Group Id
        user_ids:
          items:
            type: string
          type: array
          title: User Ids
          default: []
        emails:
          items:
            type: string
          type: array
          title: Emails
          default: []
      type: object
      required:
      - group_id
      title: GroupUsersRemoveRequest
    GroupUsersRequest:
      properties:
        group_id:
          type: string
          title: Group Id
        user_ids:
          items:
            type: string
          type: array
          title: User Ids
          default: []
        emails:
          items:
            type: string
          type: array
          title: Emails
          default: []
        right:
          $ref: '#/components/schemas/GroupRights'
          default: READ
      type: object
      required:
      - group_id
      title: GroupUsersRequest
    GroupUsersResponse:
      properties:
        user_ids:
          items:
            type: string
          type: array
          title: User Ids
        not_found:
          items:
            type: string
          type: array
          title: Not Found
      type: object
      required:
      - user_ids
      - not_found
      title: GroupUsersResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    LineItem:
      properties:
        price_id:
          type: string
          title: Price Id
        quantity:
          type: integer
          minimum: 0.0
          title: Quantity
          description: Default quantity for this price.
      additionalProperties: false
      type: object
      required:
      - price_id
      - quantity
      title: LineItem
      description: Reusable cart line item (used by checkout defaults).
    LinkedAsset:
      properties:
        id:
          type: string
          title: Id
        path:
          type: string
          title: Path
        file_type:
          $ref: '#/components/schemas/FileType'
        link_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Link Type
        link_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Link Name
      type: object
      required:
      - id
      - path
      - file_type
      title: LinkedAsset
    MediaChunk:
      properties:
        description:
          type: string
          title: Description
          description: The description of the chunk.
        time_range:
          $ref: '#/components/schemas/TimeRange'
          description: The time range of the chunk.
      additionalProperties: false
      type: object
      required:
      - description
      - time_range
      title: MediaChunk
    MultipartAbortRequest:
      properties:
        asset_id:
          type: string
          title: Asset Id
        multipart_upload_id:
          type: string
          title: Multipart Upload Id
      type: object
      required:
      - asset_id
      - multipart_upload_id
      title: MultipartAbortRequest
    MultipartCompletePart:
      properties:
        part_number:
          type: integer
          title: Part Number
        etag:
          type: string
          title: Etag
      type: object
      required:
      - part_number
      - etag
      title: MultipartCompletePart
    MultipartCompleteRequest:
      properties:
        asset_id:
          type: string
          title: Asset Id
        multipart_upload_id:
          type: string
          title: Multipart Upload Id
        parts:
          items:
            $ref: '#/components/schemas/MultipartCompletePart'
          type: array
          title: Parts
      type: object
      required:
      - asset_id
      - multipart_upload_id
      - parts
      title: MultipartCompleteRequest
    PendingTaskResponse:
      properties:
        status:
          type: string
          const: PENDING
          title: Status
          default: PENDING
        progress:
          anyOf:
          - type: number
          - type: 'null'
          title: Progress
        result:
          anyOf:
          - {}
          - type: 'null'
          title: Result
      type: object
      title: PendingTaskResponse
    PlanLineItem:
      properties:
        price_id:
          type: string
          title: Price Id
        quantity:
          type: integer
          minimum: 0.0
          title: Quantity
          description: Default quantity for this price.
        quantity_step:
          type: integer
          minimum: 1.0
          title: Quantity Step
          description: Checkout quantity step for this item.
        units_per_quantity:
          type: number
          exclusiveMinimum: 0.0
          title: Units Per Quantity
          description: Multiplier to convert checkout quantity into displayed units
            for this item.
          default: 1
      additionalProperties: false
      type: object
      required:
      - price_id
      - quantity
      - quantity_step
      title: PlanLineItem
      description: Reusable cart line item (used by checkout defaults).
    PlanPricing:
      properties:
        lines:
          items:
            $ref: '#/components/schemas/CatalogPricingLine'
          type: array
          title: Lines
          description: Priced Stripe lines (one for typical one-off; two for subscription).
      additionalProperties: false
      type: object
      required:
      - lines
      title: PlanPricing
      description: 'Pricing-only blob for Rust ``pricing_preview_json`` (``lines``
        only).


        Default starter quantities live on the plan as ``default_items``.'
    PresignedUrl:
      properties:
        url:
          type: string
          title: Url
        expiration:
          type: integer
          title: Expiration
      type: object
      required:
      - url
      - expiration
      title: PresignedUrl
    PreviewAssetResponse:
      properties:
        file_type:
          $ref: '#/components/schemas/FileType'
        data:
          anyOf:
          - additionalProperties: true
            type: object
          - $ref: '#/components/schemas/PresignedUrl'
          title: Data
        description:
          type: string
          title: Description
        transcription:
          $ref: '#/components/schemas/TimedTranscript'
        chunked_descriptions:
          $ref: '#/components/schemas/TimeBasedMediaDescription'
        title:
          type: string
          title: Title
          default: ''
        user_id:
          type: string
          title: User Id
          default: ''
        logo_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Logo Url
      type: object
      required:
      - file_type
      - data
      - description
      - transcription
      - chunked_descriptions
      title: PreviewAssetResponse
    PreviewInfoCounts:
      properties:
        total_count_user:
          type: integer
          title: Total Count User
        total_count_public_user:
          type: integer
          title: Total Count Public User
        total_count_asset:
          type: integer
          title: Total Count Asset
        total_count_public_asset:
          type: integer
          title: Total Count Public Asset
        total_count_custom_agent:
          type: integer
          title: Total Count Custom Agent
        total_count_public_custom_agent:
          type: integer
          title: Total Count Public Custom Agent
        total_count_entity:
          type: integer
          title: Total Count Entity
        total_count_project:
          type: integer
          title: Total Count Project
        total_count_public_project:
          type: integer
          title: Total Count Public Project
      type: object
      required:
      - total_count_user
      - total_count_public_user
      - total_count_asset
      - total_count_public_asset
      - total_count_custom_agent
      - total_count_public_custom_agent
      - total_count_entity
      - total_count_project
      - total_count_public_project
      title: PreviewInfoCounts
    PreviewToolInfo:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        description:
          type: string
          title: Description
        deactivated:
          type: boolean
          title: Deactivated
      type: object
      required:
      - id
      - name
      - description
      - deactivated
      title: PreviewToolInfo
    ProcessAssetsRequest:
      properties:
        assets:
          items:
            $ref: '#/components/schemas/AssetUploadResponse'
          type: array
          title: Assets
        version:
          anyOf:
          - $ref: '#/components/schemas/VersionReference'
          - type: 'null'
        cutter_sensitivity:
          type: number
          title: Cutter Sensitivity
          default: 0.5
        generate_time_based_media_description:
          type: boolean
          title: Generate Time Based Media Description
          default: false
        override_entity_ids:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Override Entity Ids
        generate_proxy:
          items:
            type: string
            enum:
            - '360'
            - '480'
            - '720'
            - '1080'
            - '2160'
          type: array
          title: Generate Proxy
          default:
          - '720'
      type: object
      required:
      - assets
      - version
      title: ProcessAssetsRequest
    PublicAssetInfo:
      properties:
        id:
          type: string
          title: Id
        in_app_path:
          anyOf:
          - type: string
          - type: 'null'
          title: In App Path
        file_type:
          anyOf:
          - type: string
          - type: 'null'
          title: File Type
        last_edit:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Last Edit
        is_public_read:
          type: boolean
          title: Is Public Read
          default: true
        is_reference:
          type: boolean
          title: Is Reference
          default: false
      type: object
      required:
      - id
      title: PublicAssetInfo
      description: Public asset list item with is_reference.
    PublicUserInfo:
      properties:
        id:
          type: string
          title: Id
        display_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Display Name
        profile_pic:
          anyOf:
          - type: string
          - type: 'null'
          title: Profile Pic
        company:
          anyOf:
          - type: string
          - type: 'null'
          title: Company
        job_title:
          anyOf:
          - type: string
          - type: 'null'
          title: Job Title
        last_edit:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Last Edit
      type: object
      required:
      - id
      title: PublicUserInfo
    RepairFfprobeInfoRequest:
      properties:
        umid:
          type: string
          title: Umid
        ffprobe_json:
          additionalProperties: true
          type: object
          title: Ffprobe Json
      type: object
      required:
      - umid
      - ffprobe_json
      title: RepairFfprobeInfoRequest
      description: 'Admin: repair original_ffprobe_metadata for all assets with the
        given UMID.'
    RepairFfprobeInfoResponse:
      properties:
        assets_updated:
          type: integer
          title: Assets Updated
      type: object
      required:
      - assets_updated
      title: RepairFfprobeInfoResponse
    RequestTaskResponse:
      properties:
        task_id:
          type: string
          title: Task Id
        error:
          anyOf:
          - type: string
          - type: 'null'
          title: Error
      type: object
      required:
      - task_id
      title: RequestTaskResponse
    ShareAddRequest:
      properties:
        group_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Group Id
        email:
          anyOf:
          - type: string
          - type: 'null'
          title: Email
      type: object
      title: ShareAddRequest
      description: 'Add one share (READ only): provide exactly one of group_id or
        email.'
    ShareRemoveRequest:
      properties:
        group_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Group Id
        email:
          anyOf:
          - type: string
          - type: 'null'
          title: Email
      type: object
      title: ShareRemoveRequest
      description: 'Remove one share: provide exactly one of group_id or email (removes
        all rights for that group/email).'
    ShareUpdateRightRequest:
      properties:
        to_right:
          type: string
          title: To Right
        group_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Group Id
        email:
          anyOf:
          - type: string
          - type: 'null'
          title: Email
      type: object
      required:
      - to_right
      title: ShareUpdateRightRequest
      description: 'Change right for one share: provide exactly one of group_id or
        email, and to_right.'
    SourceFileInfo:
      properties:
        sourceName:
          type: string
          title: Sourcename
        sourceUrl:
          anyOf:
          - type: string
          - type: 'null'
          title: Sourceurl
        sourceIconUrl:
          anyOf:
          - type: string
          - type: 'null'
          title: Sourceiconurl
        authors:
          items:
            type: string
          type: array
          title: Authors
        creationDatetime:
          anyOf:
          - type: integer
          - type: 'null'
          title: Creationdatetime
        additionDatetime:
          type: integer
          title: Additiondatetime
        isCitationRequired:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Iscitationrequired
        citation:
          anyOf:
          - type: string
          - type: 'null'
          title: Citation
        reuseConditionInfo:
          anyOf:
          - type: string
          - type: 'null'
          title: Reuseconditioninfo
        inAppPath:
          items:
            type: string
          type: array
          title: Inapppath
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        keywords:
          items:
            type: string
          type: array
          title: Keywords
        duration_seconds:
          anyOf:
          - type: number
          - type: 'null'
          title: Duration Seconds
        sora_remix_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Sora Remix Id
        sora_remix_id_created_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Sora Remix Id Created At
        umid:
          anyOf:
          - type: string
          - type: 'null'
          title: Umid
        capture_device_umid:
          anyOf:
          - type: string
          - type: 'null'
          title: Capture Device Umid
        original_file_path:
          anyOf:
          - type: string
          - type: 'null'
          title: Original File Path
        original_ffprobe_metadata:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Original Ffprobe Metadata
      type: object
      required:
      - sourceName
      - sourceUrl
      - sourceIconUrl
      - authors
      - creationDatetime
      - additionDatetime
      - inAppPath
      - title
      - description
      - keywords
      title: SourceFileInfo
    SubscriptionChangePlanRequest:
      properties:
        pricing_tier:
          type: string
          title: Pricing Tier
          description: Target subscription tier_id from GET /billing/catalog.
        items:
          anyOf:
          - items:
              $ref: '#/components/schemas/LineItem'
            type: array
          - type: 'null'
          title: Items
          description: Optional subscription line items (same shape as catalog ``default_items``
            / ``LineItem``). When omitted or empty, uses the plan default_items from
            GET /billing/catalog.
      type: object
      required:
      - pricing_tier
      title: SubscriptionChangePlanRequest
    SubscriptionChangePlanResponse:
      properties:
        from_pricing_tier:
          anyOf:
          - type: string
          - type: 'null'
          title: From Pricing Tier
        to_pricing_tier:
          type: string
          title: To Pricing Tier
        previous_items:
          items:
            $ref: '#/components/schemas/LineItem'
          type: array
          title: Previous Items
        new_items:
          items:
            $ref: '#/components/schemas/LineItem'
          type: array
          title: New Items
        applied_items:
          items:
            $ref: '#/components/schemas/LineItem'
          type: array
          title: Applied Items
        scheduled_items:
          items:
            $ref: '#/components/schemas/LineItem'
          type: array
          title: Scheduled Items
        effective_at:
          type: string
          enum:
          - now
          - period_end
          title: Effective At
        status:
          type: string
          title: Status
      type: object
      required:
      - from_pricing_tier
      - to_pricing_tier
      - previous_items
      - new_items
      - applied_items
      - scheduled_items
      - effective_at
      - status
      title: SubscriptionChangePlanResponse
    TaskResponse:
      properties:
        id:
          type: string
          title: Id
        task_type:
          type: string
          title: Task Type
        status:
          type: string
          title: Status
        progress:
          type: number
          title: Progress
        asset_ids:
          items:
            type: string
          type: array
          title: Asset Ids
        created_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Created At
        ended_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Ended At
        error_message:
          anyOf:
          - type: string
          - type: 'null'
          title: Error Message
      type: object
      required:
      - id
      - task_type
      - status
      - progress
      - asset_ids
      - created_at
      - ended_at
      - error_message
      title: TaskResponse
    TaskStatus:
      type: string
      enum:
      - FAILURE
      - PENDING
      - RECEIVED
      - RETRY
      - REVOKED
      - STARTED
      - SUCCESS
      - PROGRESS
      title: TaskStatus
    TellersAvailableOptions:
      properties:
        verbosity:
          items:
            type: string
            enum:
            - low
            - medium
            - high
          type: array
          title: Verbosity
        reasoning_effort:
          items:
            anyOf:
            - type: string
              enum:
              - none
              - minimal
              - low
              - medium
              - high
              - xhigh
            - type: 'null'
          type: array
          title: Reasoning Effort
      type: object
      required:
      - verbosity
      - reasoning_effort
      title: TellersAvailableOptions
    TellersConfigAddEntitiesRequest:
      properties:
        entity_ids:
          items:
            type: string
          type: array
          title: Entity Ids
      type: object
      required:
      - entity_ids
      title: TellersConfigAddEntitiesRequest
      description: Request body to add one or more entities (or folders) to a tellers
        config's entity_to_use list.
    TellersConfigCreateRequest:
      properties:
        path:
          anyOf:
          - type: string
          - type: 'null'
          title: Path
        directory_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Directory Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
      type: object
      title: TellersConfigCreateRequest
      description: Provide either path, or directory_id + name (create config inside
        that folder).
    TellersConfigCreateResponse:
      properties:
        asset_id:
          type: string
          title: Asset Id
      type: object
      required:
      - asset_id
      title: TellersConfigCreateResponse
    TellersConfigFile:
      properties:
        entity_to_use:
          items:
            type: string
          type: array
          title: Entity To Use
          default: []
        asset_analysis_settings:
          anyOf:
          - $ref: '#/components/schemas/AssetAnalysisSettings'
          - type: 'null'
      additionalProperties: true
      type: object
      title: TellersConfigFile
    TellersConfigPatchRequest:
      properties:
        asset_analysis_settings:
          anyOf:
          - $ref: '#/components/schemas/AssetAnalysisSettings'
          - type: 'null'
      additionalProperties: false
      type: object
      title: TellersConfigPatchRequest
    TellersConfigRemoveEntitiesRequest:
      properties:
        entity_ids:
          items:
            type: string
          type: array
          title: Entity Ids
      type: object
      required:
      - entity_ids
      title: TellersConfigRemoveEntitiesRequest
      description: Request body to remove one or more entity ids from a tellers config's
        entity_to_use list.
    TellersPreset:
      properties:
        name:
          type: string
          title: Name
        model:
          anyOf:
          - type: string
            enum:
            - gpt-5.5-2026-04-23
            - gpt-5.5-pro-2026-04-23
            - gpt-5.4-pro-2026-03-05
            - gpt-5.4
            - gpt-5.4-mini
            - gpt-5.4-nano
            - gpt-5.3-codex
            - gpt-5.2-2025-12-11
            - gpt-5-mini-2025-08-07
          - type: 'null'
          title: Model
        options:
          $ref: '#/components/schemas/TellersPresetOptions'
      type: object
      required:
      - name
      - model
      - options
      title: TellersPreset
    TellersPresetOptions:
      properties:
        reasoning_effort:
          anyOf:
          - type: string
            enum:
            - none
            - minimal
            - low
            - medium
            - high
            - xhigh
          - type: 'null'
          title: Reasoning Effort
        verbosity:
          anyOf:
          - type: string
            enum:
            - low
            - medium
            - high
          - type: 'null'
          title: Verbosity
      type: object
      required:
      - reasoning_effort
      - verbosity
      title: TellersPresetOptions
    TimeBasedMediaDescription:
      properties:
        chunks:
          items:
            $ref: '#/components/schemas/MediaChunk'
          type: array
          title: Chunks
          description: The list of media chunks with their descriptions.
      additionalProperties: false
      type: object
      title: TimeBasedMediaDescription
    TimeRange:
      properties:
        start_time_s:
          type: integer
          title: Start Time S
          description: The start time in seconds.
        end_time_s:
          type: integer
          title: End Time S
          description: The end time in seconds.
      additionalProperties: false
      type: object
      required:
      - start_time_s
      - end_time_s
      title: TimeRange
    TimedText:
      properties:
        start:
          type: number
          title: Start
        end:
          type: number
          title: End
        text:
          type: string
          title: Text
      type: object
      required:
      - start
      - end
      - text
      title: TimedText
    TimedTranscript:
      properties:
        text:
          type: string
          title: Text
        words:
          items:
            $ref: '#/components/schemas/TimedText'
          type: array
          title: Words
        start:
          type: number
          title: Start
          readOnly: true
        end:
          type: number
          title: End
          readOnly: true
      type: object
      required:
      - text
      - words
      - start
      - end
      title: TimedTranscript
    TimelineExportType:
      type: string
      enum:
      - otio
      - edl
      - aaf
      - final_cut_pro_7
      title: TimelineExportType
    UpdateGroupRequest:
      properties:
        group_id:
          type: string
          title: Group Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        is_public_read_access:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Public Read Access
      type: object
      required:
      - group_id
      title: UpdateGroupRequest
    UpdateUserRequest:
      properties:
        first_name:
          anyOf:
          - type: string
          - type: 'null'
          title: First Name
        last_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Last Name
        user_preferences:
          anyOf:
          - $ref: '#/components/schemas/UserPreferences'
          - type: 'null'
      additionalProperties: false
      type: object
      title: UpdateUserRequest
    UseAgentToolRequest:
      properties:
        tool_id:
          type: string
          title: Tool Id
          description: The id of the tool to use
        tool_arguments:
          additionalProperties: true
          type: object
          title: Tool Arguments
          description: The arguments to pass to the tool
      type: object
      required:
      - tool_id
      - tool_arguments
      title: UseAgentToolRequest
    UserPreferences:
      properties:
        asset_analysis_settings:
          anyOf:
          - $ref: '#/components/schemas/AssetAnalysisSettings'
          - type: 'null'
      additionalProperties: true
      type: object
      title: UserPreferences
    ValidatedUserInfo:
      properties:
        email:
          type: string
          title: Email
        right:
          type: string
          title: Right
      type: object
      required:
      - email
      - right
      title: ValidatedUserInfo
      description: User email with their effective right on the asset.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    VersionReference:
      properties:
        embedding_space:
          type: string
          title: Embedding Space
        embedding_strategy:
          type: string
          title: Embedding Strategy
        dimensionality:
          type: integer
          title: Dimensionality
      type: object
      required:
      - embedding_space
      - embedding_strategy
      - dimensionality
      title: VersionReference
