Configuration reference
This page explains common configuration structure. Prefer app forms or CLI prompts to generate configurations. Quit and back up the app before editing files manually.
Data sections
| Top-level field | Purpose |
|---|---|
| picBed | Active uploader, selected configuration, secondary destination, proxy |
| uploader | Each provider's configList and defaultId |
| buildIn | Compression, watermarks, naming, and processing overrides |
| settings | Desktop preferences, HTTP service, sync, secondary uploader enablement |
| picgoPlugins | Plugin enablement |
Field names are case-sensitive: buildIn in JSON and buildin in CLI commands. WebDAV uses webpath; some other providers use webPath. Follow the selected uploader's field names.
Minimal local destination
This is valid JSON. Replace the example path for your machine.
{
"picBed": {
"uploader": "local",
"current": "local",
"local": {
"path": "/absolute/path/images"
}
},
"buildIn": {
"rename": {
"enable": true,
"format": "{Y}{m}{d}-{ulid}"
}
}
}Named configurations
uploader.<id>.configList holds the provider's saved configurations. defaultId points to the default configuration's _id. Each record includes _configName and creation or update metadata.
The UI and config use command maintain selection. Do not change picBed.uploader while leaving an incompatible selected configuration behind.
Processing example
{
"buildIn": {
"compress": {
"quality": 80,
"isConvert": true,
"convertFormat": "webp",
"isReSize": true,
"reSizeWidth": 1600,
"reSizeHeight": 0,
"skipReSizeOfSmallImg": true,
"isRemoveExif": true,
"qualityMap": {
"github": 90
}
}
}
}This contains processing settings, not destination credentials. Map settings such as qualityMap are objects keyed by provider ID, not arrays. buildIn.list holds processing overrides associated with configuration IDs. See processing for precedence.
HTTP and secondary uploads
| Field path | Meaning |
|---|---|
| settings.server.enable / host / port | Desktop upload API |
| settings.serverKey | Remote upload access key |
| settings.enableSecondUploader | Enable secondary uploads |
| settings.secondPicBedMode | Desktop: backup / separate; Core: shared / separate |
| picBed.secondUploader | Secondary provider ID |
| picBed.secondUploaderConfig | Secondary named configuration |
See storage providers for connection fields. The Core types describe development interfaces; desktop-specific settings follow the desktop implementation.
Share a configuration safely
Replace tokens, keys, passwords, private keys, sync credentials, and signed URLs with obvious placeholders before sharing structure. Keep your complete configuration out of public issues.