Customer responsibility: You are responsible for installing, configuring, and using this integration, including external service charges and compliance with applicable platform and provider terms. This integration is separate from the official Tattoo Designer package. We do not claim approval or endorsement by Cfx.re, Rockstar Games, or Tebex.
Download#
Download version 1.0.0, for Tattoo Designer releases with add-on interface version 1 (introduced in resource version 0.6.0):
View attachment on original documentation Download integration 1.0.0
The standard Tebex/Cfx package does not contain this integration. Extract the ZIP separately; do not overwrite the main resource or its private configuration.
Installation#
- Install and start the standard Tattoo Designer resources first.
- Extract
0r-tattoo_aiinto your server's resources directory. Keep it as a separate resource; do not copy its files over0r-tattoo_designer. - The download includes an empty
config/private.lua. When working from source, copyconfig/private.example.luatoconfig/private.lua. - Set the selected provider's key in the add-on's private file:
AiPrivateConfig = {
Google = { ApiKey = '' },
OpenAI = { ApiKey = '' },
}
- Configure
config/init.luain the add-on:
AiConfig.Studio = { Enabled = true, Access = 'admin' }
AiConfig.Provider = 'google' -- google or openai
AiConfig.Google.Model = 'gemini-3.1-flash-image'
AiConfig.OpenAI = { Model = 'gpt-image-2', Size = '1024x1024', Quality = 'medium' }
admin uses Tattoo Designer's administrator permission. everyone allows eligible Studio editors; customers cannot generate. disabled or Enabled = false disables generation. RequestTimeoutMs accepts 10,000–180,000 ms and PromptMaxLength accepts 1–4,000 characters; the existing UI accepts up to 1,000 characters. MainPrompt and BackgroundRemoval also belong to this add-on. Keep the default white background requirements when background removal is enabled.
- Keep the main installation's permissions and startup order, then add:
ensure 0r-tattoo_designer
ensure 0r-tattoo_ai
The add-on uses FiveM's embedded Node runtime. It uses the main resource's existing worker and remote image storage, so it needs no additional child process permissions, database, or storage credentials. Configure the main resource's Discord/FiveManage storage as usual; returned image URLs must be readable by NUI with the expected MIME type and CORS.
Availability and updates#
The generation button appears only when the add-on is running, the interface is compatible, the selected provider has a key and model, and the player is allowed to generate. Readiness checks configuration, not the provider account's quota or billing status. Provider failures appear when generation is requested.
Restart 0r-tattoo_ai after changing its configuration. Stopping it hides the button in open Studio sessions and cancels pending work. To uninstall, remove its ensure line and resource folder. Previously saved image layers continue to use the normal image pipeline and require no database migration.
Earlier releases stored generation settings and keys in the main resource. Move them to AiConfig and AiPrivateConfig in the add-on. The main resource's previous generation settings no longer enable this integration. Preserve the main private.lua, which also contains storage credentials.
Only one generation runs at a time per server. Busy requests are rejected; failed provider requests are not automatically retried. One request can incur provider charges. Check the provider's current model, billing, and quota rules. Keep keys server-side and out of logs, support uploads, and shared archives.
Check the applicable platform and provider terms before enabling this integration on your server.