# 第三方平台统一配置文件
# =======================
# 包含：平台连接配置 + 模型列表 + 运行时策略
#
# ⚠️ 密钥不在此文件配置！请通过 .env 文件设置：
#   - Vidu: VIDU_API_KEY
#   - 火山方舟: VOLCENGINE_API_KEY
#   - 火山字幕: VOLCENGINE_CAPTION_APPID / VOLCENGINE_CAPTION_TOKEN

platforms:
  # ── 火山方舟（LLM）──
  volcengine_ark:
    name: "火山方舟"
    provider: "volcengine"
    base_url: "https://ark.cn-beijing.volces.com/api/v3"
    rate_limit:
      qps: 50
      burst: 100
    models:
      - id: "doubao-seed-2-0-pro"
        model_name: "doubao-seed-2-0-pro-260215"
        display_name: "豆包 Seed 2.0 Pro"
        capabilities: ["script", "polish", "chat", "title"]
        default_params:
          # temperature 被模型强制固定为 1，此处不配置
          max_tokens: 4000
          reasoning_effort: minimal
        is_enabled: true

    methods:
      chat:
        timeout: 1800
        max_connections: 50
        rate_limit:
          qps: 50
          burst: 100

  # ── Vidu（TTS + 对口型）──
  vidu:
    name: "Vidu"
    provider: "vidu"
    base_url: "https://api.vidu.cn"
    rate_limit:
      qps: 20
      burst: 30
    models: []
    methods:
      tts:
        timeout: 30
        max_connections: 20
        rate_limit:
          qps: 20
          burst: 30
      lip_sync:
        timeout: 300
        max_connections: 10
        rate_limit:
          qps: 5
          burst: 10
      clone_voice:
        timeout: 60
        max_connections: 5
        rate_limit:
          qps: 5
          burst: 10

  # ── 火山引擎字幕（OpenSpeech）──
  volcengine_caption:
    name: "火山引擎字幕"
    provider: "volcengine_caption"
    base_url: "https://openspeech.bytedance.com/api/v1/vc"
    rate_limit:
      qps: 5
      burst: 10
    models: []
    methods:
      caption:
        timeout: 120
        max_connections: 10
        rate_limit:
          qps: 5
          burst: 10
      auto_align:
        timeout: 120
        max_connections: 5
        rate_limit:
          qps: 5
          burst: 10

  # ── 火山引擎媒体处理（MediaKit）──
  volcengine_mediakit:
    name: "火山引擎媒体处理"
    provider: "volcengine_mediakit"
    base_url: "https://mediakit.cn-beijing.volces.com"
    rate_limit:
      qps: 5
      burst: 10
    models: []
    methods:
      remove_background:
        timeout: 120
        max_connections: 10
        rate_limit:
          qps: 5
          burst: 10

# ── 任务默认模型映射 ──
# 当调用方未指定模型时，按任务类型选择默认模型
task_defaults:
  script: "doubao-seed-2-0-pro"
  polish: "doubao-seed-2-0-pro"
  chat: "doubao-seed-2-0-pro"
  title: "doubao-seed-2-0-pro"

# ── 运行时全局策略 ──
runtime:

  task_timeouts:
    lip_sync: 1800      # 30分钟
    caption: 300        # 5分钟
    auto_align: 300     # 5分钟
    script: 300         # 5分钟

  task_ttl:
    lip_sync: 86400     # 完成后保留24h
    caption: 3600       # 完成后保留1h
    auto_align: 3600    # 完成后保留1h
    script: 1800        # 完成后保留30min
