Local Storage
Local storage saves generated images inside the Vehicle Studio resource folder. It is useful for localhost testing, but it is not the recommended setup for live servers.
If your server is live and players connect from outside your own machine, use Qbox CDN, Fivemanage, Cloudflare R2, or AWS S3 instead. Local storage will not work out of the box on most live servers.
In config/config.lua:
Config.ImageStorageProvider = "local"Images are saved to:
exported_images/Vehicle Studio then serves those files through its built-in FiveM HTTP endpoint.
When To Use Local Storage
Use local storage if:
You are testing Vehicle Studio on localhost.
You are developing locally.
You are an advanced user and already have a proper HTTPS reverse proxy.
Do not use local storage if:
Your server is live and you want the simplest reliable setup.
You are trying to use a public IP with
http://.You are trying to use a
users.cfx.reproxy URL.You do not know what an HTTPS reverse proxy is.
For live servers, choose one of these instead:
Why Local Storage Fails On Live Servers
Vehicle Studio runs inside the in-game browser. That browser loads the UI from an HTTPS page, for example:
When local storage is enabled, the browser must upload image files to the Vehicle Studio HTTP endpoint, for example:
Browsers block HTTPS pages from sending requests to plain HTTP public IPs. This is called mixed content blocking.
That means this is not supported for live servers:
localhost is treated differently by browsers, which is why this can work for local testing:
Basic Localhost Setup
For most local development setups, leave Config.HttpBaseUrl empty:
Vehicle Studio will try to detect the local endpoint automatically.
If automatic detection fails while testing locally, set:
Replace 30120 if your server uses a different port.
Do Not Use The Cfx Proxy
Do not set Config.HttpBaseUrl to a generated Cfx proxy URL:
That URL may look useful because it uses HTTPS, but it is not suitable for image uploads. The Cfx proxy is rate limited and is not designed for large POST upload traffic.
Advanced Live Server Setup
Only use local storage on a live server if you can provide your own HTTPS reverse proxy. There is an extensive guide in the Cfx.re documentation on how to do this:
Example:
Do not include the resource name in Config.HttpBaseUrl. Vehicle Studio adds it automatically.
So this is correct:
This is not correct:
Your proxy must forward requests like these to the FiveM resource HTTP API:
The proxy must:
Use HTTPS with a valid certificate.
Allow
GET,POST,DELETE, andOPTIONS.Allow large enough POST bodies for image uploads.
Avoid strict rate limits that would break batch photography.
Forward headers such as
Content-Type,X-Vehicle-Model,X-Image-Format,X-Image-Id, andX-Preset-Id.Return valid CORS headers.
If this list does not make sense, do not use local storage on a live server. Use a remote provider instead.
Troubleshooting
Vehicle Studio Says It Cannot Connect To The Server
This comes from the local HTTP endpoint health check.
If you are on a live server, the simplest fix is to stop using local storage and switch to Qbox CDN, Fivemanage, R2, or S3.
If you are testing locally, check:
Config.ImageStorageProvideris set to"local".Config.HttpBaseUrlis empty or points tohttp://localhost:30120.The port matches your FiveM server port.
The resource was restarted after changing config.
Browser Console Shows Mixed Content
You are using a plain HTTP public IP. The browser blocks this before Vehicle Studio receives the request.
Use a remote provider or put local storage behind a real HTTPS reverse proxy.
Browser Console Shows A CORS Error
For local storage, this usually means Config.HttpBaseUrl points to the wrong place or your reverse proxy is not handling CORS correctly.
Check that:
The URL does not include
/jg-vehiclestudio.The URL is reachable from the game client.
The proxy allows upload POST requests.
The proxy returns valid CORS headers.
Local Images Do Not Load
Check that:
Files are being written to
exported_images/.The configured URL can be reached from the game client.
The server firewall allows access to the selected port or proxy.
Any reverse proxy forwards requests to the FiveM HTTP server.
Last updated
Was this helpful?

