Skip to content

INFO

This English version is translated by Gemini 3 Flash.

Configuration Overview

WebAI2API uses a YAML format configuration file config.yaml.

Note

The project configuration can now be fully managed via the WebUI. If you are not familiar with YAML files, please skip this section and use the WebUI to modify settings!

Configuration Structure

yaml
# Log Level
logLevel: info

# Server Configuration
server:
  port: 3000
  auth: sk-your-key
  keepalive:
    mode: "comment"

# Backend Configuration
backend:
  pool:
    strategy: least_busy
    failover:
      enabled: true
      maxRetries: 2
    instances:
      - name: "browser_default"
        workers:
          - name: "default"
            type: lmarena
  adapter:
    gemini_biz:
      entryUrl: ""

# Queue Configuration
queue:
  queueBuffer: 2
  imageLimit: 5

# Browser Configuration
browser:
  # Path to browser executable (leave empty for default)
  # Modification is not recommended unless necessary, as you may need to handle extra dependencies
  # Windows example: "C:\\camoufox\\camoufox.exe"
  # Linux example: "/opt/camoufox/camoufox"
  path: ""
  
  # Whether to enable headless mode
  headless: false

  # Site Isolation (fission.autostart)
  # Keep enabled for standard Firefox behavior
  # Disabling this can significantly reduce memory usage and prevent crashes on low-end servers
  # ⚠️ Risk: Normal Firefox users have Fission enabled by default. While disabling it does not leak common fingerprints, 
  # extremely advanced anti-bot systems might identify automated features via "single-process model" or "IPC delays".
  fission: true

  # CSS Performance Injection
  # Reduce CPU load by disabling web effects (Best for CPU-only environments)
  cssInject:
    # Disable web animations
    # Effect: Removes transition and animation
    # Benefit: Significantly lowers continuous CPU usage
    # Risk: Very low. Almost no impact on browser fingerprint
    animation: false

    # Disable filters and shadows
    # Effect: Removes blur, box-shadow, etc.
    # Benefit: Prevents CPU spikes and lag in no-GPU environments
    # Risk: Medium. Interface aesthetics degraded, few anti-bots might detect style calculations
    filter: false

    # Reduce font rendering quality
    # Effect: Disables font anti-aliasing, forces fast rendering mode
    # Benefit: Slightly reduces CPU drawing pressure
    # ⚠️ Risk: High. Jagged text edges; font fingerprint differs from standard browsers (detected by advanced anti-bots)
    font: false
  
  # [Global Proxy] Used if an Instance does not have its own proxy configuration
  proxy:
    # Whether to enable proxy
    enable: false
    # Proxy type: http or socks5
    type: http
    # Proxy host
    host: 127.0.0.1
    # Proxy port
    port: 7890
    # Proxy authentication (optional)
    # user: username
    # passwd: password

Configuration Items

Logging

ItemTypeDefaultDescription
logLevelstringinfoLog visibility levels: debug, info, warn, error

Server (server)

ItemTypeDefaultDescription
portnumber3000HTTP service listening port
authstring-API Authentication Token (Bearer Token)
keepalive.modestringcommentKeep-alive mode: comment or content

Keep-alive Mode

  • comment: Sends a :keepalive comment. Does not pollute the data stream (recommended).
  • content: Sends an empty delta. Useful for clients that reset timeouts only upon receiving valid JSON.

Queue (queue)

ItemTypeDefaultDescription
queueBuffernumber2Extra queuing slots for non-streaming requests. 0 means unlimited.
imageLimitnumber5Maximum number of images per request (Max 10).

Browser (browser)

ItemTypeDefaultDescription
pathstring""Path to Camoufox executable. Leave empty to use default.
headlessbooleanfalseWhether to enable headless mode.
fissionbooleantrueWhether to enable Site Isolation (fission.autostart).
proxyobject-Global proxy configuration.
cssInjectobject-CSS performance injection configuration.

CSS Injection (cssInject)

Performance optimization options for CPU-Only environments. Reduces CPU load by disabling specific web effects via CSS injection.

ItemTypeDefaultDescription
animationbooleanfalseDisable Animations (Recommended)
Effect: Removes transition and animation.
Benefit: Significantly reduces continuous CPU usage.
Risk: Very Low (Negligible impact on fingerprint).
filterbooleanfalseDisable Effects
Effect: Removes blur, box-shadow, etc.
Benefit: Prevents UI lag caused by complex rendering.
Risk: Medium (UI Aesthetics degraded, rarely checked by anti-bots).
fontbooleanfalseFast Rendering Fonts
Effect: Disables font anti-aliasing.
Benefit: Slightly reduces rendering pressure.
Risk: High (Font fingerprint anomaly, easily detected by advanced anti-bots).

Backend Resource Pool (backend.pool)

ItemTypeDefaultDescription
strategystringleast_busyLoad balancing strategy. Option: least_busy.
failover.enabledbooleantrueWhether to enable automatic failover.
failover.maxRetriesnumber2Maximum retry attempts for failover.
instancesarray-List of browser instances. See Instances Configuration.

Adapter Configuration (backend.adapter)

Each adapter can be configured with its own model allowlist/blocklist to control the available models for that specific adapter.

ItemTypeDefaultDescription
modelFilter.modestring-Filter mode: whitelist or blacklist.
modelFilter.listarray-List of models (to be enabled or disabled based on mode).

Model Filtering

  • whitelist (Allowlist): Only models in the list are permitted.
  • blacklist (Blocklist): Models in the list are disabled; others are available.
  • Using the WebUI for configuration is recommended.

Configuration Example:

yaml
backend:
  adapter:
    lmarena:
      returnUrl: false
      modelFilter:
        mode: whitelist                        # Allowlist mode
        list:                                  # Only enable the following models
          - gemini-3-pro-image-preview
          - gemini-3-pro-image-preview-2k
          - gemini-2.5-flash-image-preview