## Custom configuration for A.P.Strom Transcription (LocalAI-backed)
## Lines that start with ## are comment lines.

interface_type: async  # async or simple (one does transcriptions, requires Email setup)

launch:
  ## Gradio launch options (if using WebUI)
  # server_port: null
  # server_name: "A.P.Strom Transcription"
  # inline: false
  # inbrowser: false
  # share: false
  # debug: false
  max_threads: 18
  # quiet: false
  # auth: null  # tuple of username and password
  # auth_message: null
  # prevent_thread_lock: false
  # show_error: false
  # height: 500
  # width: 100%
  favicon_path: /app/src/misc/logo.png
  # ssl_keyfile: null
  # ssl_certfile: null
  # ssl_keyfile_password: null
  # ssl_verify: false
  # show_api: false
  # allowed_paths:
  # blocked_paths: null
  # root_path: null
  # app_kwargs: null
  # state_session_capacity: 10000
  # share_server_address: null
  # share_server_protocol: null
  # max_file_size: null
  # enable_monitoring: null

queue:
  ## Queue configuration
  # status_update_rate: 'auto'
  # api_open: null
  max_size: 10
  # default_concurrency_limit:

layout:
  show_settings: false
  header: /app/src/misc/header.html
  header_format_options:
    header_logo_url: https://apstrom.ca/
    header_logo_src: /app/src/misc/logo.png
  footer: /app/src/misc/footer.html
  footer_format_options:
    # footer_css_path: /app/src/misc/footer_style.css
    footer_scraibe_webui_version: "0.1.1-dev"

scraibe_params:
  ## LocalAI (transcription + diarization)
  localai_api_url: http://localhost:8080
  localai_api_key: ""
  localai_model: vibevoice-cpp-asr

  ## Summarizer LLM (for transcript_and_summarize)
  summarizer_api_url: http://localhost:8080
  summarizer_api_key: ""
  summarizer_model: qwen3-14b

  ## Legacy Whisper/Pyannote fields (ignored by LocalAI client; kept for compatibility)
  whisper_model: large-v3
  whisper_type: whisper
  dia_model: null
  use_auth_token: null
  device: cpu
  num_threads: 18

mail:
  sender_email: scribe@apstrom.ca
  smtp_server: mail.apstrom.ca
  smtp_port: 587
  sender_password: ""
  connection_type: TLS   # 'SSL', 'TLS', or 'PLAIN'
  context: default
  default_subject: "A.P.Strom audio transcription"
  error_template: /app/src/misc/error_notification_template.html
  error_subject: "error"
  error_format_options:
    ## exception is mandatory for your html; will be set to the related exception in the Code
    contact_email: support@apstrom.ca
  success_template: /app/src/misc/success_template.html
  success_subject: "ready"
  success_format_options:
    contact_email: info@apstrom.ca
  upload_notification_template: /app/src/misc/upload_notification_template.html
  upload_subject: "upload successful"
  upload_notification_format_options:
    queue_position: null
    contact_email: info@apstrom.ca
  # mail_css_path: /app/src/misc/mail_style.css

advanced:
  keep_model_alive: false  # for sync interface only; keeps the model alive during a session
  concurrent_workers_async: 2  # number of concurrent working threads in the async interface
