# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: bubble-summary
spec:
    description: 將公開網址或文件內容整理成正體中文摘要，並以文字泡泡動畫播放
    icon: https://raw.githubusercontent.com/drchang0703/bubble-summary/main/static/index.html
    variables:
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: Domain
          description: 訪問應用的網域
        - key: OPENAI_API_KEY
          type: PASSWORD
          name: OpenAI API Key
          description: OpenAI API 金鑰（必要）
    tags:
        - Python
        - FastAPI
        - AI
    readme: |
        # 泡泡摘要

        將公開網址或文件內容整理成正體中文摘要，並按照原始邏輯順序，以文字泡泡動畫播放。

        ## 功能

        - 公開網址擷取：一般 HTML 網頁、純文字頁面
        - 文件上傳：PDF、DOCX、PPTX、XLSX、TXT、MD、CSV、JSON、HTML
        - 任意來源語言轉為台灣慣用正體中文
        - 4–14 個摘要泡泡，可調整詳細度
        - 自動播放、暫停、前後切換、播放速度、重新播放、複製摘要

        ## 部署後

        1. 訪問你的應用網域
        2. 上傳網址或檔案
        3. 等待 AI 生成摘要
        4. 觀看動畫播放

        ## 環境變數

        - `OPENAI_API_KEY`: OpenAI API 金鑰（必要）
        - `OPENAI_MODEL`: 使用的模型（預設：gpt-4o-mini）
        - `MAX_FILE_BYTES`: 最大檔案大小（預設：12MB）
    services:
        - name: bubble-summary
          icon: https://raw.githubusercontent.com/drchang0703/bubble-summary/main/static/index.html
          template: PREBUILT_V2
          spec:
            id: bubble-summary
            source:
                image: python:3.12-slim
            ports:
                - id: web
                  port: 8000
                  type: HTTP
            env:
                CHUNK_CHARS:
                    default: "10000"
                    expose: false
                MAX_FILE_BYTES:
                    default: "12582912"
                    expose: false
                MAX_SOURCE_CHARS:
                    default: "50000"
                    expose: false
                OPENAI_API_KEY:
                    default: ""
                    expose: true
                OPENAI_MODEL:
                    default: gpt-4o-mini
                    expose: false
            healthCheck:
                type: HTTP
                port: web
                http:
                    path: /api/health
          domainKey: PUBLIC_DOMAIN
