Skip to content

Settings Reference

MediaVerse overviewFree + ProGet MediaVerse →

Every option MediaVerse and MediaVerse Pro register, with its option key, type and default.

The other pages in this section explain settings in the order you meet them in the admin screens. This page is the complete index: use it when you need to set an option in code, seed a site with WP-CLI, or check what a value defaults to before you change it.

Option keys are stored as normal WordPress options, so anything here can be read or written with get_option() / update_option() or the WP-CLI equivalents:

Terminal window
wp option get mvs_default_privacy
wp option update mvs_items_per_page 24

Defaults apply only when the option row is absent. Saving a settings screen writes every field shown on that screen, including the ones you did not touch. It never changes a setting that is hidden or has no screen control. After the first save an option holds a real stored value, and changing the default in a later release will not move it.

Registered by Admin\Settings\SettingsRegistrar, GeneralSettingsRegistrar, DisplaySettingsRegistrar, AiSettingsRegistrar and AppSettingsRegistrar.

Rows marked “no screen control since 2.6.0 (set in code/WP-CLI)” are still registered and still work. They were taken off the screen because almost every site wants the default.

Option key Setting label Type Default
mvs_storage_limit_mb Fair-use storage limit per member (MB) integer 0 (no limit). Per-member override: user meta mvs_storage_limit_mb (absent = site limit, 0 = no limit). Filter: mvs_storage_limit_bytes
mvs_max_upload_size Max Upload Size integer 104857600 (100 MB, in bytes)
mvs_allowed_file_types Allowed File Types string image/jpeg,image/png,image/gif,image/webp,video/mp4,video/webm,audio/mpeg,audio/ogg
mvs_duplicate_action Duplicate Detection string warn
mvs_strip_exif Remove location from photos boolean true
mvs_delete_data_on_uninstall Remove Data on Delete boolean false
mvs_storage_driver Where files are stored (Storage tab) string local
mvs_optimize_originals Compress uploaded images (Storage tab) boolean false
mvs_signed_url_ttl Signed URL Expiry (seconds) - no screen control since 2.6.0 (set in code/WP-CLI) integer 3600
mvs_view_retention_days View Event Retention (days) - no screen control since 2.6.0 (set in code/WP-CLI) integer 90
mvs_filename_strategy Stored Filenames - no screen control since 2.6.0 (set in code/WP-CLI) string hashed
mvs_generate_webp Create WebP copies - no screen control since 2.6.0 (set in code/WP-CLI) boolean true
mvs_generate_avif Create AVIF copies - no screen control since 2.6.0 (set in code/WP-CLI) boolean false
mvs_cloud_direct_public_urls (no settings field; inert since 1.4.0 - public cloud media is served directly automatically, this value is ignored) boolean false

Duplicate detection checks only the member’s own uploads; a file another member uploaded is not a duplicate. mvs_duplicate_action accepts warn (allow the upload and warn), skip (shown as “Block the upload”) or allow (skip the hash check entirely). mvs_strip_exif removes only the GPS location from new uploads; camera details and photo credits stay, and files already stored are not rewritten.

mvs_storage_driver accepts local, s3, bunnycdn, r2 or dospaces. Cloud drivers need MediaVerse Pro.

Option key Setting label Type Default
mvs_default_privacy Default Privacy Level string public (members on a private community)
mvs_members_only Members Only boolean false
mvs_allow_user_privacy Allow Users to Set Privacy boolean true
mvs_upload_roles Who can upload media array (empty array)
mvs_allow_downloads Allow Downloads (Display tab) boolean true

mvs_default_privacy is the level applied when the uploader makes no choice. A fresh install on a private community (one that answers mvs_rest_require_auth with true, such as BuddyNext’s private mode) starts at members, because public files can be opened by anyone holding the file address. A site that becomes private later keeps its saved value, and administrators see a one-time notice on MediaVerse screens offering to switch to Members Only. mvs_members_only sends visitors who are not logged in to the login page and makes the API refuse them. When a community plugin answers mvs_rest_require_auth, its answer wins and the screen shows it instead of a switch. When mvs_allow_user_privacy is off, the privacy select is removed from the upload form and every upload takes the default.

mvs_upload_roles is only the transport for the “Who can upload media” checkboxes. The real state is the upload_mvs_media capability on each role: saving the field adds or removes that capability, and the field reads the roles back. Administrators can always upload. Reading this option does not tell you who can upload; check the roles instead.

Option key Setting label Type Default
mvs_app_password_login App Login boolean true
mvs_terms_url Terms of Service URL string (empty)
mvs_abuse_contact_email Abuse Contact Email string (empty - uses the site admin email)
mvs_eula_url EULA URL - no screen control since 2.6.0 (set in code/WP-CLI) string (empty - standard Apple licence)

All four are on the Mobile App tab since 2.6.0. App Sign-In moved there from General, and the Terms of Service URL and Abuse Contact Email moved from Moderation.

mvs_app_password_login controls whether members may exchange their WordPress password for an Application Password to sign in to a mobile app. Turn it off when you require everyone through the interactive login - for example when you enforce two-factor authentication. Also filterable at runtime via mvs_app_password_login_enabled.

Option key Setting label Type Default
mvs_layout_choice Layout string original
mvs_thumbnail_style Layout (Free choices) string original
mvs_grid_columns Grid Columns integer 3
mvs_items_per_page Items Per Page integer 12
mvs_thumbnail_size Thumbnail Quality - no screen control since 2.6.0 (set in code/WP-CLI) string large
mvs_large_image_size Large Image Size - no screen control since 2.6.0 (set in code/WP-CLI) integer 1024
mvs_lightbox_image_source Lightbox Image Size - no screen control since 2.6.0 (set in code/WP-CLI) string large

mvs_layout_choice is only the transport for the one Layout select. A Free choice (square, original, list) is written to mvs_thumbnail_style and puts the Pro feed back on grid. A Pro skin is written to mvs_pro_feed_layout. To set the layout in code, write mvs_thumbnail_style (and mvs_pro_feed_layout with Pro). The default of original can be changed with the mvs_default_thumbnail_style filter.

mvs_large_image_size is the long-edge pixel width of the generated large variant. mvs_lightbox_image_source chooses which file the lightbox opens: the large variant (default, faster on phones) or original for full quality.

Option key Setting label Type Default
mvs_messaging_enabled Messages (turn on private messages) boolean true
mvs_dm_access Who can send messages string everyone
mvs_dm_min_age Minimum Account Age (days) integer 0
mvs_chat_panel_visibility Chat Panel Visibility string everywhere
mvs_show_online_status Online Status Visibility string everyone
mvs_comment_edit_window (no settings field - filterable) integer 900 (15 minutes)

mvs_dm_access accepts everyone, followers, mutual or nobody (shown as “Nobody (no new messages; existing conversations stay readable)”; to switch messaging off entirely, untick mvs_messaging_enabled). This is the only place the word “followers” appears as a setting value - it controls who may open a conversation with a member, and has nothing to do with media privacy.

mvs_comment_edit_window is the number of seconds after posting during which a member may still edit their own comment.

Option key Setting label Type Default
mvs_guidelines_url Community Guidelines URL string (empty)
mvs_enable_reports Member Reporting boolean true
mvs_report_auto_hide_threshold Auto-Hide Threshold integer 3
mvs_ai_auto_moderate AI Moderation boolean false
mvs_moderation_auto_action When AI Flags Content string flag
mvs_ai_moderation_categories AI Flag Criteria array nudity, violence, hate, self-harm, drugs, spam
mvs_ai_moderation_custom_terms Custom Flag Terms string (empty)

mvs_report_auto_hide_threshold is the number of distinct reports after which a media item is hidden automatically pending review. mvs_moderation_auto_action accepts flag (hide until reviewed), reject or delete. The last three rows show only while AI Moderation is on.

mvs_ai_moderation_categories falls back to the full category list when stored empty, so an empty value never silently disables flagging.

Option key Setting label Type Default
mvs_ai_provider AI Provider string openai
mvs_openai_api_key OpenAI API Key string (empty)
mvs_openai_model OpenAI Model - no screen control since 2.6.0 (set in code/WP-CLI) string gpt-4o-mini
mvs_ai_auto_analyze Auto-Analyze Uploads boolean false
mvs_ai_auto_describe Generate Descriptions boolean true
mvs_ai_auto_tag Generate Tags boolean true
mvs_ai_auto_apply_tags Auto-Apply Tags boolean false
mvs_ai_monthly_budget Monthly AI Budget ($) number 10
mvs_ai_cost_per_call (no settings field - filterable) number 0.01

Note the pairing: mvs_ai_auto_tag decides whether tags are generated, and mvs_ai_auto_apply_tags decides whether they are attached to the media item automatically rather than suggested for review. Generating without applying is the safe starting configuration.

mvs_ai_monthly_budget combined with mvs_ai_cost_per_call drives the spend estimate and the budget cutoff. 0 means no limit.

Option key Setting label Type Default
mvs_email_battle_invite Photo battle invites boolean false (a new install turns it on)
mvs_email_document_shared Documents shared with a member boolean false (a new install turns it on)
mvs_email_report_outcome Report reviewed boolean false (a new install turns it on)
mvs_email_new_follower New follower boolean false (a new install turns it on)
mvs_email_media_comment Comment on their media boolean false (a new install turns it on)
Option key Setting label Type Default
mvs_page_dashboard My Media page integer 0
mvs_page_explore Explore Page integer 0
mvs_page_upload Upload Page integer 0
mvs_page_explore_documents Explore Documents Page integer 0
Option key Setting label Type Default
mvs_webhooks Webhook Configuration array (empty array)

See Webhooks for the payload format and the event list.

Registered by Admin\ProSettings and Admin\GamificationSettings. All Pro options are inert unless MediaVerse Pro is active.

Option key Setting label Type Default
mvs_competitions_enabled Competitions (Competitions tab; master switch for the four types below) string 0
mvs_stories_enabled Stories (Display tab) string 0
mvs_connectors_enabled Turn on Flickr import (Flickr import tab) string 0
mvs_streaks_enabled Enable Streaks string 0
mvs_watermark_enabled Enable Watermark (Storage tab) boolean false
mvs_autopilot_enabled Enable Autopilot string 0

Toggles stored as strings compare against '1'. When a feature is off its service is never constructed, so its REST routes are not registered and its scheduled actions do not run - which is why a disabled feature’s endpoints return 404 rather than 403.

The gamification toggles mvs_battles_enabled, mvs_challenges_enabled, mvs_tournaments_enabled and mvs_boosts_enabled follow the same pattern and are covered in Gamification.

Option key Setting label Type Default
mvs_pro_google_vision_key Google Cloud API Key string (empty)
mvs_pro_anthropic_key Anthropic API Key string (empty)
mvs_pro_anthropic_model Claude Model - no screen control since 2.6.0 (set in code/WP-CLI) string claude-haiku-4-5-20251001

Only the key card for the selected AI provider is shown.

Option key Setting label Type Default
mvs_pro_battle_win_xp Battle win reward (points) integer 100
mvs_pro_boost_cost_per_100 Points per 100 Impressions integer 50
mvs_pro_boost_max_impressions Max Impressions per Boost integer 5000
mvs_pro_boost_expiry_days Boost Expiry (Days) integer 7
mvs_streak_freezes_enabled Allow Streak Freezes string 0
mvs_pro_streak_freeze_cost Freeze Cost (Points) integer 100

On the Competitions tab each competition type row shows only while Competitions is on. Boost pricing shows only while Media Boosts is on, Allow Streak Freezes only while Streaks is on, and Freeze Cost only while freezes are on. The key mvs_pro_battle_win_xp keeps its old name; the value is points.

Option key Setting label Type Default
mvs_autopilot_day Day of Week string monday
mvs_autopilot_hour Time integer 9
mvs_autopilot_entry_days Entry Period (Days) integer 7
mvs_autopilot_voting_days Voting Period (Days) integer 3
mvs_autopilot_max_entries Max Entries per User integer 1

Autopilot creates the next themed challenge from Challenge Themes on the configured day and hour. mvs_autopilot_entry_days and mvs_autopilot_voting_days set the length of each phase, so a challenge’s full cycle is the sum of the two. Weekly Autopilot shows only while Photo Challenges is on, and these rows only while Enable Autopilot is on. The autopilot points awards sit under Points rewards: mvs_autopilot_xp_1st (200), mvs_autopilot_xp_2nd (100), mvs_autopilot_xp_3rd (50) and mvs_autopilot_xp_participation (10, everyone who entered).

Option key Setting label Type Default
mvs_pro_connector_flickr_app_key Flickr Plugin API Key string (empty)
mvs_pro_connector_flickr_app_secret Flickr Plugin API Secret string (empty)
mvs_pro_feed_layout Layout (Pro skins, Display tab) string grid

The Flickr key, secret and cards show only while Turn on Flickr import is ticked. mvs_pro_feed_layout has no control of its own since 2.6.0: picking a Pro skin (instagram, pinterest, flickr, dribbble) in the one Display > Layout select writes it, and picking a Free layout sets it back to grid.

Option key Setting label Type Default
mvs_app_accent_color Accent Color string (empty - the app’s own colour)
mvs_app_logo_id App Logo integer 0
mvs_app_login_bg_id Login Background integer 0
mvs_app_dark_mode_default Default to Dark Mode boolean false

On the Mobile App tab since 2.6.0 (moved from Display).

Option key Setting label Type Default
mvs_watermark_apply Apply to string all
mvs_watermark_roles Watermark uploads from array (empty array)
mvs_watermark_type Watermark Type string text
mvs_watermark_text Watermark Text string (site name)
mvs_watermark_image_id Watermark Image integer 0
mvs_watermark_position Position string bottom-right
mvs_watermark_opacity Opacity (%) integer 40
mvs_watermark_font_size Text Size integer 24
mvs_watermark_color Text Color string #ffffff

On the Storage tab since 2.6.0 (moved from Display). These rows show only while Enable Watermark is ticked.

Option key Setting label Type Default
mvs_pro_settings (container option) array (empty array)

mvs_pro_settings is a single array option holding assorted Pro values that have no dedicated key, such as the auto-captions switch (captions_auto). Read it with get_option( 'mvs_pro_settings', array() ) rather than assuming a shape.

Documents settings (Enable Documents, Who can use documents, Maximum document size, Allowed file types, New documents start as, Share links that work without signing in, Search inside documents) are on the Documents tab. Every row except Enable Documents shows only while it is on. The orphaned document files tool moved to MediaVerse > Documents in 2.6.0.

API keys and cloud credentials can be defined as constants instead of being stored in the database. When a constant is defined, the matching settings field renders locked and shows “Defined in wp-config.php”, and the stored option is ignored.

This keeps secrets out of database dumps and out of staging copies. See Cloud Storage for the Cloudflare R2, S3 and DigitalOcean Spaces constant names.