Config
Explanations and examples for the current Image Studio configuration.
General Information
Config File
The main settings are inzyke_imagestudio/shared/unlocked/config.lua. The complete current beta defaults are included below.
Advanced Calibration
shared/unlocked/advanced_config.luacontains matte extraction, lighting recovery, and shadow-processing calibration. Changing those values can reduce capture quality, so leave them unchanged unless you are deliberately calibrating the processor.
Additional Settings
Framework and permission behavior provided byzyke_libis configured inzyke_lib.
Keymapping
Studio controls that use FiveM keymapping can be changed in GTA / FiveM keybind settings.
#Full Default Config
#General
Top-level debugging, branding, and command settings.
#Config.Debug
Enables resource debug output. Keep this disabled during normal production use and enable it while diagnosing capture or publishing behavior.
Example:luaConfig.Debug = false
#Config.MenuLogo
Image shown in the menu header. Use a path relative to
nui/index.htmlor an HTTPS URL. Transparent PNG and WebP images work best.
Example:luaConfig.MenuLogo = "./zyke-logo-nbg.svg"
#Config.Commands.menu
Command that opens the full Image Studio library and capture interface.
Example:luamenu = "imagestudio"
#Config.Commands.lightDebug
Developer command that opens the studio-light debugging workflow for a vehicle model.
Example:lualightDebug = "vehicleimagelights"
#Config.Commands.adjustLight
Developer command used to change a field on an active debug light.
Example:luaadjustLight = "adjustlight"
#Config.Commands.cancel
Command that requests cancellation after the current capture finishes.
Example:luacancel = "vehicleimagecancel"
#Config.Capture
Capture output, processing capacity, timing, and client/server timeout settings.
#outputFolder
Hosted folder used for normal captures. An empty string publishes at the gallery root; a value such as
vehiclesplaces output below that folder.
Example:luaoutputFolder = ""
#editedOutputFolder
Folder used for edited/final output. Keep this non-empty so reusable source captures and edited images remain distinct.
Example:luaeditedOutputFolder = "edited"
#overwriteExisting
Allows matching captures to overwrite or version the existing logical image instead of failing as a duplicate.
Example:luaoverwriteExisting = true
#encoding
Base capture encoding used by the capture pipeline before configured output formats are produced.
Example:luaencoding = "png"
#debugTrace
Enables detailed capture-stage tracing. Disable it when the extra capture logs are not needed.
Example:luadebugTrace = true
#nuiProcessingProbe
Runs the optional browser-processing probe used for diagnostics. Leave disabled during normal operation.
Example:luanuiProcessingProbe = false
#blackoutArtificialLights
Temporarily blacks out world artificial lights during controlled captures when enabled.
Example:luablackoutArtificialLights = false
#studioLightIntensityMultiplier
Global intensity multiplier applied to configured studio point lights.
Example:luastudioLightIntensityMultiplier = 0.85
#studioSpotLightIntensityMultiplier
Global intensity multiplier applied to configured studio spotlights.
Example:luastudioSpotLightIntensityMultiplier = 0.35
#exteriorLightIntensityMultiplier
Intensity multiplier used by the exterior-recovery lighting pass.
Example:luaexteriorLightIntensityMultiplier = 0.0
#exteriorSpotLightIntensityMultiplier
Spotlight intensity multiplier used by the exterior-recovery pass.
Example:luaexteriorSpotLightIntensityMultiplier = 0.45
#cabinLightIntensityMultiplier
Intensity multiplier applied to cabin/interior recovery lights.
Example:luacabinLightIntensityMultiplier = 0.55
#outputFormats
Finished image formats generated by the browser processor. The current beta publishes WebP output by default.
Example:luaoutputFormats = { "webp" }
#maxWidth
Maximum accepted capture width in pixels.
Example:luamaxWidth = 3840
#maxHeight
Maximum accepted capture height in pixels.
Example:luamaxHeight = 2160
#captureFrames
Number of frames sampled by the capture process for a capture request.
Example:luacaptureFrames = 4
#backgroundSettleFrames
Frames allowed for the capture background to settle before the image is accepted.
Example:luabackgroundSettleFrames = 60
#verifyCaptureBackground
Verifies the expected capture background before processing the result.
Example:luaverifyCaptureBackground = true
#directUploadConcurrency
Maximum simultaneous direct uploads issued by one capture workflow.
Example:luadirectUploadConcurrency = 3
#directUploadMaxAttempts
Maximum direct-upload attempts before the capture is reported as failed.
Example:luadirectUploadMaxAttempts = 3
#directUploadTimeout
Direct-upload timeout in milliseconds.
Example:luadirectUploadTimeout = 120000
#resizeOutput
Enables resizing of normal Studio output. The editor can also control this per capture.
Example:luaresizeOutput = false
#outputWidth
Target width in pixels when output resizing is enabled. Aspect ratio is preserved.
Example:luaoutputWidth = 1600
#webpQuality
WebP quality from 1 to 100.
Example:luawebpQuality = 95
#postProcessingWorkers
Number of editable-image rendering workers on the capturing player's PC. The runtime limits the useful value to 2.
Example:luapostProcessingWorkers = 1
#maxPendingProcessing
Maximum unfinished browser-processing and upload work allowed in a capture batch.
Example:luamaxPendingProcessing = 1
#readyDelay
Additional delay in milliseconds before capture processing begins.
Example:luareadyDelay = 0
#previewSettleFrames
Frames allowed for a normal preview to settle.
Example:luapreviewSettleFrames = 0
#bulkPreviewSettleFrames
Frames allowed for each bulk preview to settle.
Example:luabulkPreviewSettleFrames = 0
#bulkLightingWarmupFrames
Lighting warmup frames used by bulk captures.
Example:luabulkLightingWarmupFrames = 0
#bulkLightingWarmupNui
Adds a NUI synchronization point during bulk lighting warmup.
Example:luabulkLightingWarmupNui = false
#bulkLightingWarmupReadback
Adds a pixel readback during bulk lighting warmup.
Example:luabulkLightingWarmupReadback = false
#lightingWarmupFrames
Lighting warmup frames used by non-bulk captures.
Example:lualightingWarmupFrames = 0
#lightingWarmupNui
Adds a NUI synchronization point during normal lighting warmup.
Example:lualightingWarmupNui = false
#lightingWarmupReadback
Adds a pixel readback during normal lighting warmup.
Example:lualightingWarmupReadback = false
#passSettleFrames
Frames allowed between capture passes.
Example:luapassSettleFrames = 0
#localAdaptiveBeautySettleFrames
Additional settle frames used by local adaptive beauty captures.
Example:lualocalAdaptiveBeautySettleFrames = 24
#windowStateFrames
Frames allowed for vehicle window state changes to become visible.
Example:luawindowStateFrames = 4
#vehicleSceneTimeout
Maximum wait in milliseconds for a vehicle scene to become usable.
Example:luavehicleSceneTimeout = 120
#vehicleSceneMinimumSettle
Minimum vehicle-scene settle duration in milliseconds.
Example:luavehicleSceneMinimumSettle = 120
#vehicleDeleteTimeout
Maximum wait in milliseconds for capture-vehicle deletion.
Example:luavehicleDeleteTimeout = 150
#vehicleDeleteSettleFrames
Frames allowed after capture-vehicle deletion.
Example:luavehicleDeleteSettleFrames = 2
#serverTimeout
Maximum client wait for the server capture flow in milliseconds.
Example:luaserverTimeout = 120000
#screenshotTimeout
Maximum wait for a screenshot/capture result in milliseconds.
Example:luascreenshotTimeout = 30000
#spawnTimeout
Maximum wait for a capture vehicle to spawn in milliseconds.
Example:luaspawnTimeout = 5000
#cancelControl
FiveM control ID used by the capture cancellation flow.
Example:luacancelControl = 73
#progressEvery
Updates batch progress after this many completed vehicles.
Example:luaprogressEvery = 1
#hidePlayer
Hides the capturing player's ped during the capture session when enabled.
Example:luahidePlayer = false
#commonBlacklist
Loads the shared model blacklist supplied with the resource. Edit
shared/unlocked/common_blacklist.luarather than replacing the loader.
Example:luacommonBlacklist = assert(load(LoadResourceFile(ResName, "shared/unlocked/common_blacklist.lua")))()
#Config.GreenScreen
Capture-stage location, cleanup radius, and safe recovery position.
#vehiclePosition
World position used for the isolated studio vehicle.
Example:luavehiclePosition = vec3(-1359.5915527344, -2789.1623535156, 500.0)
#vehicleHeading
Default world heading of the capture vehicle.
Example:luavehicleHeading = 214.03
#vehicleGroundOffset
Vertical adjustment applied when positioning the capture vehicle.
Example:luavehicleGroundOffset = 0.18
#snapToGround
Uses ground detection at the studio position when enabled. The high-altitude default studio keeps this disabled.
Example:luasnapToGround = false
#hiddenSpot
Temporary hidden position used while preparing the isolated capture session.
Example:luahiddenSpot = vector3(-1224.22, -3349.63, 13.96)
#clearRadius
Radius cleared around the studio to prevent unrelated entities from entering captures.
Example:luaclearRadius = 120.0
#restartSafeRadius
Radius used to detect players who need recovery after a resource restart.
Example:luarestartSafeRadius = 140.0
#restartSafePosition
Position used to return a player found inside the capture area after restart or shutdown.
Example:luarestartSafePosition = vector3(-1037.72, -2738.16, 20.17)
#restartSafeHeading
Heading applied at the restart-safe position.
Example:luarestartSafeHeading = 330.0
#Config.Scenery
Shared world-location presets used by scenery captures.
#placementDistance
Maximum placement distance used while selecting a scenery location.
Example:luaplacementDistance = 250.0
#presets
Server-wide scenery presets. Each entry needs a stable
id, localelabelKey, vehicle position, and vehicle heading. Players can also save personal presets from the Studio.
Example:luapresets = { { id = "airport", labelKey = "scenery:airport", vehiclePosition = vector3(-1037.72, -2738.16, 20.17), vehicleHeading = 330.0, }, }
#Config.LightDebug
Defaults for the developer light-debug workflow.
#defaultModel
Vehicle model loaded when the light-debug command does not receive another model.
Example:luadefaultModel = "2015gtr"
#drawBackdrop
Draws the configured studio backdrop while debugging lights.
Example:luadrawBackdrop = true
#drawDistance
Maximum distance at which debug light helpers are drawn.
Example:luadrawDistance = 90.0
#textScale
Scale of the in-world debug labels.
Example:luatextScale = 0.28
#markerScale
Scale of the light-position markers.
Example:luamarkerScale = 0.22
#directionLength
Length of spotlight direction helpers.
Example:luadirectionLength = 2.5
#backgroundColor
Backdrop color used by the light-debug environment.
Example:luabackgroundColor = { r = 18, g = 18, b = 18, a = 255 }
#viewerOffset
Position offset used for the initial light-debug viewer.
Example:luaviewerOffset = vector3(0.0, 9.5, 3.0)
#restorePlayerPosition
Returns the player to their previous position after light debugging.
Example:luarestorePlayerPosition = true
#freecam
Movement, speed multipliers, look sensitivity, and FOV for the light-debug free camera.
Example:luafreecam = { speed = 0.35, fastMultiplier = 5.0, slowMultiplier = 0.25, lookSensitivity = 7.5, fov = 70.0, }
#Config.Studio
Generated backdrop geometry, headings, key colors, and optional custom lights.
#enabled
Enables the generated studio capture mode.
Example:luaenabled = true
#backdropEnabled
Creates the generated floor and wall backdrop.
Example:luabackdropEnabled = true
#defaultVehicleHeading
Default vehicle heading used by normal Studio sessions.
Example:luadefaultVehicleHeading = 250.0
#displayVehicleHeading
Heading used when displaying the initial vehicle in the Studio.
Example:luadisplayVehicleHeading = 180.0
#defaultDisplayVehicleHeading
Default heading exposed to display-facing Studio controls.
Example:luadefaultDisplayVehicleHeading = 145.0
#defaultSetupHeading
Default heading of the capture setup before user adjustment.
Example:luadefaultSetupHeading = 255.0
#color
Default studio key color.
Example:luacolor = { r = 0, g = 255, b = 0, a = 255 }
#keyColors
Named key colors available to the matte workflow. Keep names aligned with
Config.Matte.keyNameandalternateKeyName.
Example:luakeyColors = { green = { r = 0, g = 255, b = 0, a = 255 }, magenta = { r = 255, g = 0, b = 255, a = 255 }, blue = { r = 0, g = 80, b = 255, a = 255 }, }
#floorZOffset
Vertical offset of the generated studio floor relative to the vehicle.
Example:luafloorZOffset = -0.90
#floorWidth
Width of the generated floor.
Example:luafloorWidth = 192.0
#floorCameraDistance
Floor coverage distance toward the camera.
Example:luafloorCameraDistance = 192.0
#floorBackdropDistance
Floor coverage distance toward the backdrop.
Example:luafloorBackdropDistance = 96.0
#wallWidth
Width of the generated backdrop wall.
Example:luawallWidth = 48.0
#wallHeight
Height of the generated backdrop wall.
Example:luawallHeight = 96.0
#wallDistance
Distance between the vehicle setup and generated wall.
Example:luawallDistance = 18.0
#lights
Additional point-light definitions applied to the Studio. Empty by default.
Example:lualights = {}
#spotLights
Additional spotlight definitions applied to the Studio. Empty by default.
Example:luaspotLights = {}
#Config.Matte & Config.Shadow
Default matte colors, vehicle presentation, and contact-shadow behavior.
#Matte.keyName
Primary key color name from
Config.Studio.keyColors.
Example:luakeyName = "magenta"
#Matte.alternateKeyName
Alternate key color used by dual-key processing.
Example:luaalternateKeyName = "green"
#Matte.primaryColor
Default indexed primary vehicle color used for matte passes.
Example:luaprimaryColor = 111
#Matte.secondaryColor
Default indexed secondary vehicle color used for matte passes.
Example:luasecondaryColor = 111
#Matte.pearlescentColor
Default indexed pearlescent color used for matte passes.
Example:luapearlescentColor = 111
#Matte.wheelColor
Default indexed wheel color used for matte passes.
Example:luawheelColor = 111
#Matte.clearLivery
Clears the vehicle livery for matte capture when enabled.
Example:luaclearLivery = true
#Matte.beautyBackgroundColor
Neutral background color used by beauty-image analysis.
Example:luabeautyBackgroundColor = { r = 96, g = 104, b = 112, a = 255 }
#Shadow.enabled
Enables the projected/contact-shadow capture workflow.
Example:luaConfig.Shadow = { enabled = true, }
#Config.Camera
Default framing, adaptive analysis, centering, height, and free-camera controls.
#fov
Default studio camera field of view.
Example:luafov = 34.0
#heading
Default orbit heading used to position the camera around the vehicle.
Example:luaheading = 340.0
#aspectRatio
Capture aspect ratio. The default is 16:9.
Example:luaaspectRatio = 16.0 / 9.0
#frameFill
Target fraction of the frame occupied by the vehicle during normal fitting.
Example:luaframeFill = 0.98
#fitPadding
Additional multiplier applied around the fitted vehicle bounds.
Example:luafitPadding = 1.0
#distanceMultiplier
Scales the calculated camera distance after fitting.
Example:luadistanceMultiplier = 0.94
#minDistance
Minimum allowed fitted camera distance.
Example:luaminDistance = 2.5
#maxDistance
Maximum allowed fitted camera distance.
Example:luamaxDistance = 160.0
#distancePadding
Fixed distance added after camera fitting.
Example:luadistancePadding = 0.0
#fitBoundsScale
Per-axis scaling applied to vehicle bounds during framing.
Example:luafitBoundsScale = { x = 0.96, y = 0.90, z = 0.96 }
#adaptiveFramingEnabled
Enables browser-assisted adaptive framing by default. Players can still select supported framing modes in the Studio.
Example:luaadaptiveFramingEnabled = false
#adaptiveFramingMaxBatchSize
Maximum batch size allowed to use adaptive framing.
Example:luaadaptiveFramingMaxBatchSize = 1000
#adaptiveFramingAnalysisMaxWidth
Maximum analysis-image width used by adaptive framing.
Example:luaadaptiveFramingAnalysisMaxWidth = 960
#adaptiveAnalysisBackgroundColor
Neutral background expected by adaptive framing analysis.
Example:luaadaptiveAnalysisBackgroundColor = { r = 96, g = 104, b = 112, a = 255 }
#adaptiveAnalysisLightMultiplier
Studio light multiplier used by the adaptive analysis pass.
Example:luaadaptiveAnalysisLightMultiplier = Config.Capture.studioLightIntensityMultiplier
#adaptiveTargetFill
Target visible-frame fill used by adaptive framing.
Example:luaadaptiveTargetFill = 0.86
#adaptiveMinDistanceScale
Minimum distance scale adaptive framing may apply.
Example:luaadaptiveMinDistanceScale = 0.76
#adaptiveMaxDistanceScale
Maximum distance scale adaptive framing may apply.
Example:luaadaptiveMaxDistanceScale = 1.25
#adaptiveHorizontalOffsetStrength
Strength of horizontal recentering from adaptive analysis.
Example:luaadaptiveHorizontalOffsetStrength = 0.85
#adaptiveVerticalOffsetStrength
Strength of vertical recentering from adaptive analysis.
Example:luaadaptiveVerticalOffsetStrength = 0.85
#adaptiveMaxHorizontalOffsetRatio
Maximum horizontal offset as a fraction of frame size.
Example:luaadaptiveMaxHorizontalOffsetRatio = 0.30
#adaptiveMaxVerticalOffsetRatio
Maximum vertical offset as a fraction of frame size.
Example:luaadaptiveMaxVerticalOffsetRatio = 0.60
#adaptiveMinTopMargin
Minimum top margin targeted by adaptive framing.
Example:luaadaptiveMinTopMargin = 0.04
#adaptiveMinBottomMargin
Minimum bottom margin targeted by adaptive framing.
Example:luaadaptiveMinBottomMargin = 0.04
#adaptiveVerticalMarginStrength
Correction strength used when vertical margins are too small.
Example:luaadaptiveVerticalMarginStrength = 3.0
#adaptiveVerticalBalanceStrength
Strength used to balance top and bottom margins.
Example:luaadaptiveVerticalBalanceStrength = 0.50
#adaptiveMarginZoomStrength
Zoom correction strength derived from adaptive margins.
Example:luaadaptiveMarginZoomStrength = 1.0
#adaptiveFramingIterations
Maximum adaptive framing correction iterations.
Example:luaadaptiveFramingIterations = 3
#adaptiveMinimumIterations
Minimum adaptive iterations before framing may settle.
Example:luaadaptiveMinimumIterations = 2
#adaptiveSafeMargin
Additional safety margin retained around analyzed vehicle pixels.
Example:luaadaptiveSafeMargin = 0.025
#adaptiveTimeout
Adaptive analysis timeout in milliseconds.
Example:luaadaptiveTimeout = 5000
#targetCenteringEnabled
Enables the normal target-centering pass.
Example:luatargetCenteringEnabled = true
#targetCenteringIterations
Maximum target-centering correction iterations.
Example:luatargetCenteringIterations = 2
#targetCenteringStrength
Strength applied to each target-centering correction.
Example:luatargetCenteringStrength = 0.85
#targetCenteringMaxOffsetRatio
Maximum target-centering offset as a fraction of the frame.
Example:luatargetCenteringMaxOffsetRatio = 0.30
#targetCenteringFullHeadingDelta
Heading delta at which full target-centering correction is applied.
Example:luatargetCenteringFullHeadingDelta = 90.0
#heightMultiplier
Scales camera height from vehicle bounds.
Example:luaheightMultiplier = 0.36
#heightOffset
Fixed camera-height adjustment.
Example:luaheightOffset = 0.25
#targetHeightMultiplier
Scales target height from vehicle bounds.
Example:luatargetHeightMultiplier = 0.0
#targetHeightOffset
Fixed target-height adjustment.
Example:luatargetHeightOffset = 0.0
#freecam
Free-camera movement, sensitivity, FOV limits, and named bone-relative presets. Add presets with a stable ID, locale label key, position, target, and FOV.
Example:luafreecam = { speed = 4.0, fastMultiplier = 4.0, slowMultiplier = 0.25, lookSensitivity = 7.5, fovStep = 2.5, minFov = 10.0, maxFov = 80.0, presets = { ... }, }
#Config.Vehicle
Default capture-vehicle plate, glass, lighting, condition, and paint presentation.
#plate
Plate text applied to Studio-spawned vehicles.
Example:luaplate = "ZYKE"
#windowTint
Default FiveM window-tint index.
Example:luawindowTint = 0
#openWindowsForBeauty
Opens configured windows during beauty captures.
Example:luaopenWindowsForBeauty = false
#openWindowsForMatte
Opens configured windows during matte captures.
Example:luaopenWindowsForMatte = false
#rollDownWindowIndexes
Window indexes rolled down when the selected capture mode opens windows.
Example:luarollDownWindowIndexes = { 0, 1, 2, 3, 4, 5, 6, 7 }
#smashWindowIndexes
Window indexes available to the window-removal capture fallback.
Example:luasmashWindowIndexes = { 0, 1, 2, 3, 4, 5, 6, 7 }
#removeWindowIndexes
Window indexes removed by the corresponding capture fallback.
Example:luaremoveWindowIndexes = { 0, 1, 2, 3, 4, 5, 6, 7 }
#dirtLevel
Dirt level applied to capture vehicles.
Example:luadirtLevel = 0.0
#interiorLight
Default interior-light state.
Example:luainteriorLight = false
#forceLightsOff
Forces normal vehicle lights off during controlled captures.
Example:luaforceLightsOff = true
#lightMultiplier
Vehicle light intensity multiplier.
Example:lualightMultiplier = 0.0
#defaultPrimaryColor
Default indexed primary paint color.
Example:luadefaultPrimaryColor = 0
#defaultSecondaryColor
Default indexed secondary paint color.
Example:luadefaultSecondaryColor = 0
#defaultCustomPrimaryColor
Default custom RGB primary paint color.
Example:luadefaultCustomPrimaryColor = { r = 255, g = 255, b = 255, a = 255 }
#defaultCustomSecondaryColor
Default custom RGB secondary paint color.
Example:luadefaultCustomSecondaryColor = { r = 255, g = 255, b = 255, a = 255 }
#defaultPearlescentColor
Default indexed pearlescent paint color.
Example:luadefaultPearlescentColor = 4
#defaultWheelColor
Default indexed wheel color.
Example:luadefaultWheelColor = 111
#displayPaintForBeautyCapture
Keeps selected display paint for beauty captures instead of the normal beauty defaults.
Example:luadisplayPaintForBeautyCapture = false
#displayPaintForNaturalCapture
Keeps selected display paint for natural captures.
Example:luadisplayPaintForNaturalCapture = false
#displayPrimaryColor
Indexed primary paint shown by the initial Studio display vehicle.
Example:luadisplayPrimaryColor = 111
#displaySecondaryColor
Indexed secondary paint shown by the initial Studio display vehicle.
Example:luadisplaySecondaryColor = 111
#displayCustomPrimaryColor
Custom primary display color, or
falseto use the indexed color.
Example:luadisplayCustomPrimaryColor = false
#displayCustomSecondaryColor
Custom secondary display color, or
falseto use the indexed color.
Example:luadisplayCustomSecondaryColor = false
#displayPrimaryPaintType
FiveM paint type used for the display primary color.
Example:luadisplayPrimaryPaintType = 3
#displaySecondaryPaintType
FiveM paint type used for the display secondary color.
Example:luadisplaySecondaryPaintType = 3
#displayPearlescentColor
Indexed pearlescent color shown by the display vehicle.
Example:luadisplayPearlescentColor = 111
#displayWheelColor
Indexed wheel color shown by the display vehicle.
Example:luadisplayWheelColor = 111
#Config.IncludedVehicleClasses
Vehicle classes included when the Studio builds its bulk model list. Set a class to
falseor remove it to exclude that class.
#Class map
Uses the FiveM
GetVehicleClassindexes. The current beta enables classes 0 through 22, including land vehicles, boats, aircraft, service vehicles, trains, and open-wheel vehicles.
Example:luaConfig.IncludedVehicleClasses = { [0] = true, -- Compacts [7] = true, -- Super [14] = true, -- Boats [22] = true, -- Open Wheel }
#Config.Weather
Capture time/weather and supported weather-resource pause/resume events.
#enabled
Applies the configured time and weather during capture sessions.
Example:luaenabled = true
#hour
Capture hour.
Example:luahour = 12
#minute
Capture minute.
Example:luaminute = 0
#second
Capture second.
Example:luasecond = 0
#type
FiveM weather type used during capture.
Example:luatype = "EXTRASUNNY"
#resources
Weather integrations checked in order. Each entry names a resource and the events/arguments used to pause and restore synchronization. Add your provider here when it is not included.
Example:luaresources = { { name = "qb-weathersync", disableEvent = "qb-weathersync:client:DisableSync", enableEvent = "qb-weathersync:client:EnableSync", }, }
#Config.Settings
Menu access, routing-bucket allocation, and server/personal settings shown by the Studio.
#fullMenuAccessPermission
ACE permission or permission list required to open the full Studio.
false,nil, or an empty table allows unrestricted access and is not recommended on public servers.
Example:luafullMenuAccessPermission = { "command" }
#captureRoutingBucketBase
Base bucket used for isolated capture sessions. Keep the generated range clear of routing buckets owned by other resources.
Example:luacaptureRoutingBucketBase = 150000
#serverSettings.settings
Definitions exposed as server-managed Studio settings. Empty by default.
Example:luaserverSettings = { settings = {}, }
#personalSettings.kvp
Client KVP key used for saved Image Studio preferences.
Example:luakvp = "zyke_imagestudio:personalSettings"
#personalSettings.settings
Personal settings shown in the Studio.
defaultapplies before a player saves a value;force = trueapplies and locks the configured value without overwriting the saved preference.
Example:luasettings = { { name = "showUnnamedColors", values = { false, true }, default = false, force = false, location = "studio", }, { name = "toolbarPosition", values = { "left", "middle" }, default = "left", force = false, location = "studio", }, }
#Config.PlayerCapture
Queue, timeout, and output rules for captures requested by another trusted server resource.
#enabled
Allows server resources to request personal-vehicle capture sessions.
Example:luaenabled = true
#processingConcurrency
Number of player capture stages processed at the same time.
Example:luaprocessingConcurrency = 1
#maxQueuedProcessing
Maximum queued stages while all processing slots are busy.
Example:luamaxQueuedProcessing = 20
#processingTimeoutSeconds
Maximum time allowed for one leased capture/final stage.
Example:luaprocessingTimeoutSeconds = 120
#sessionInactivityMinutes
Idle duration before an abandoned player session is removed.
Example:luasessionInactivityMinutes = 15
#output.format
Final player-capture format. Supported values are
pngandwebp; invalid values fall back to WebP.
Example:luaformat = "webp"
#output.width
Target output width, clamped by the runtime and never used to upscale beyond rendered dimensions.
Example:luawidth = 800
#output.quality
Output quality from 1 to 100.
Example:luaquality = 95
#output.uploadSource
Uploads the reusable transparent source as
<filename>_sourceafter the final image succeeds.
Example:luauploadSource = false
#Config.Hosting
Hosted publishing, library refresh, queue limits, local cleanup, and recovery retention.
#removeLocalAfterPublish
Removes local capture artifacts after confirmed hosted publication when they are no longer required.
Example:luaremoveLocalAfterPublish = true
#captureUploadBatchSize
Maximum number of capture artifacts grouped into one hosted upload batch.
Example:luacaptureUploadBatchSize = 250
#libraryRefreshIntervalMinutes
Interval used to refresh the hosted library cache.
Example:lualibraryRefreshIntervalMinutes = 5
#publishFormatPriority
Preferred format order when multiple artifacts represent the same logical image.
Example:luapublishFormatPriority = { "webp", "png" }
#uploadConcurrency
Maximum simultaneous Media Studio uploads from the hosted publisher.
Example:luauploadConcurrency = 4
#maxQueuedJobs
Maximum hosted publishing jobs waiting in the queue.
Example:luamaxQueuedJobs = 20
#maxArtifactsPerJob
Maximum logical artifacts accepted by one hosted publishing job.
Example:luamaxArtifactsPerJob = 5000
#maxSessionBytes
Maximum total bytes accepted for one capture session.
Example:luamaxSessionBytes = 256 * 1024 * 1024
#cleanup.enabled
Runs periodic hosted-state and temporary-file cleanup.
Example:luaenabled = true
#cleanup.intervalMinutes
Cleanup interval in minutes.
Example:luaintervalMinutes = 60
#cleanup.transientGraceMinutes
Grace period before abandoned transient artifacts become cleanup candidates.
Example:luatransientGraceMinutes = 60
#cleanup.completedJobRetentionDays
Days to retain completed publish-job history.
Example:luacompletedJobRetentionDays = 7
#cleanup.failedJobRetentionDays
Days to retain failed publish-job history for investigation/retry.
Example:luafailedJobRetentionDays = 30
#cleanup.orphanMetadataRetentionDays
Days to retain metadata that no longer has a matching artifact.
Example:luaorphanMetadataRetentionDays = 30
#cleanup.orphanMetadataDeleteEnabled
Allows cleanup to delete orphan metadata after its retention period.
Example:luaorphanMetadataDeleteEnabled = false
#cleanup.localDeliveryRetentionDays
Days to retain local delivery files, or
falseto disable age-based pruning.
Example:lualocalDeliveryRetentionDays = false
#cleanup.localDeliveryPruneAllowlist
Allowlist used when local-delivery pruning is enabled.
Example:lualocalDeliveryPruneAllowlist = {}
#cleanup.trashRetentionHours
Hours deleted local artifacts remain recoverable in trash.
Example:luatrashRetentionHours = 24
#cleanup.quarantineRetentionHours
Hours quarantined files are retained.
Example:luaquarantineRetentionHours = 24
#cleanup.quarantineMaxFiles
Maximum number of quarantined files retained.
Example:luaquarantineMaxFiles = 100