Documentation

Setup

Install and configure the Image Studio beta.

Image Studio no longer reads its Media Studio token from server/unlocked/hosted_tokens.lua. Configure the token in server.cfg as described below. If you are upgrading, remove the old token from that Lua file because current releases do not use it.

#Dependencies

Install oxmysql and connect it to the server database. Install zyke_lib and configure its framework and permission providers. See Dependencies.

#Resource

Place the complete Image Studio resource in your server's resources directory. The folder must be named zyke_imagestudio, with fxmanifest.lua directly inside it.

Do not copy only unlocked files over an older install. Use the complete current release so the locked runtime, NUI, embedded JavaScript, and configuration expect the same API version. No SQL import is required; Image Studio creates or updates zyke_imagestudio_presets automatically.

#Configure the Media Studio Token

Sign in to Zyke Media Studio, select the workspace you want Image Studio to use, and create a Full library token.

Add the token to server.cfg before ensure zyke_imagestudio:

cfg
set zyke_imagestudio_host_token "zms_api_..."

Use set, not setr. A replicated convar would expose the token to clients. Keep the token private and never include it in a support ticket, client file, or public repository.

The configured token owns normal Studio publishing and controls which workspace library the resource opens. When replacing or rotating it, update the convar and restart zyke_imagestudio.

#Review Access and Capture Settings

Open shared/unlocked/config.lua and review the capture, camera, studio, weather, hosting, and optional player-capture settings. See Config for the section reference.

Leave shared/unlocked/advanced_config.lua unchanged unless you are deliberately calibrating the image processor. Its defaults are paired with the current capture workflow.

To restrict the full Studio menu with ACE permissions, set:

lua
fullMenuAccessPermission = { "zyke_imagestudio" },

Then grant the ACE to your existing admin group in server.cfg:

cfg
add_ace group.admin zyke_imagestudio allow

Setting fullMenuAccessPermission to false, nil, or an empty table allows unrestricted access and is not recommended on a public server.

#Start the Resources in Order

Start the dependencies before Image Studio:

cfg
ensure oxmysql

# Start your framework and the dependencies required by zyke_lib here
ensure zyke_lib

set zyke_imagestudio_host_token "zms_api_..."
ensure zyke_imagestudio

Do not use ensure [zyke]. Category folders can start alphabetically and load Image Studio before one of its dependencies. See Resource Starting Sequence.

#Verify the Installation

Restart the server and confirm that oxmysql, zyke_lib, and zyke_imagestudio start without errors. Join with an account that has the configured ACE permission, run /imagestudio, and complete one test capture before starting a large batch.

Verify that the hosted library loads, capture one vehicle, edit and publish it, copy the final URL, and reopen the image from the gallery. Run /imagelink <model> to confirm the source and thumbnail links are available.

If uploads fail, confirm that the token is current, has Full library access, belongs to the intended workspace, and is set before Image Studio starts. Restart the resource after correcting the convar.