Photoshop plugin
Updated Oct 16, 2026 Open the tool
The Photoshop plugin ("Zoov.dev Tools") is a panel that runs inside Adobe Photoshop, inside Photopea, or on its own in a browser tab, and shows a FiveM vehicle or clothing texture on the real 3D model while the user paints it. In the panel and /app/preview, right-clicking the model opens the stage's render and view menu, and Imagine results, YTD textures, pieces and recent projects open their menus on right-click (since 2026-09-22).
Which version to use
The plugin page at /app/plugin offers four ways to work. The "Browser plugin" at /app/preview is marked "Start here" and "Works for everyone, no install": use any editor (GIMP, Paint.NET, Canva, Krita or an older Photoshop), then drop the exported PSD or PNG in and preview it in 3D. "Photopea" is the free browser editor at photopea.com; the plugin is added from Photopea's own plugin library. "Photoshop" is the deepest integration with live canvas sync but needs "Genuine, licensed Photoshop v25 (2024) or later"; "Cracked / pirated Photoshop is not supported". "Design Studio" at /app/design is the built-in editor and needs no external app. All four need a Zoov.dev account to sign in to the panel. The page lists supported files as YFT (vehicles), YDD (clothing), YTD (texture archives) and PSD/PNG (design files), and features such as live 3D preview, multi clothing view, UV selection (click the model to highlight that area of the texture), opening DurtyClothTool and grzy Clothing Tool projects, generating UV guides, YTD editing (open, replace, add, export), "Zoov Render" for sharing previews, and the decal and AI patch tools.
Installing in Photoshop (UXP)
Installing the Photoshop plugin takes three steps from /app/plugin. First "Check your version": in Photoshop open Help then About Photoshop; v25 is the 2024 release, and anything older should use the browser plugin or Photopea instead. Second "Install Zoov": under "Latest release" the page offers Download CCX (double-click it with Adobe Creative Cloud installed) or Download ZIP (manual install). The current release is v1.5.6 and a VirusTotal scan link sits next to the downloads. Third "Open the panel": in Photoshop go to Plugins, open the Zoov.dev panel (the page calls it "Zoov.dev Toolkit"; the installed panel is named "Zoov.dev Tools"), sign in, then load a model. The plugin manifest requires Photoshop 25.0.0 or newer and adds four commands with shortcuts: Zoov: Sync Canvas (Ctrl/Cmd+Alt+Shift+X), Zoov: Import Texture (Ctrl/Cmd+Alt+Shift+J), Zoov: Export DDS (Ctrl/Cmd+Alt+Shift+D) and Zoov: Export YTD (Ctrl/Cmd+Alt+Shift+Y). The panel itself is a web view of zoov.dev/plugin/photoshop; if it cannot load it shows "The Zoov.dev panel could not load. Update Photoshop to the latest version and reopen the plugin." The page also links an "Install guide" at /kb/guides/install-photoshop-plugin (verify that guide exists).
Installing in Photopea
Photopea users add the plugin from inside Photopea. Open photopea.com with a PSD or image project, open the Plugins menu, search "Zoov" or "GTA", and install it. Then sign in, choose a model, and edit with the 3D preview docked beside the canvas. Photopea only needs a free photopea.com account plus a Zoov.dev account; nothing is installed on the computer. Because the panel runs inside a Photopea frame, the sign-in approval opens in a new browser tab; if the browser blocks it the panel shows "Your browser blocked the popup. Open the link manually to approve this session." with Open approval page and Copy link buttons. Textures sent from the panel land in Photopea as new documents ("Sent base texture to Photopea").
How the plugin signs you in
The plugin signs in with a short link code rather than a password. On the panel's sign-in screen (/plugin/auth) the user clicks the browser authorisation button. The panel shows "Link code", a 6-character code (letters and digits, no 0, O, 1 or I), "Expires in Ns", and the status "Code ABC123 generated. Waiting for approval...". The browser opens /link?code=ABC123, the "Approve Plugin Link" page. If the user is not signed in on zoov.dev they are sent to /login first. The page shows the code, what asked for it (Plugin with its version, System, Requested, Network) and the warning "Approve only a code your own plugin is showing right now. Whoever made the code signs in as you once it is approved.", then waits for Approve Link; it never approves on load (since 2026-09-15). On success it says "Approved. Return to the plugin." and "The plugin can now complete sign-in." The panel polls every couple of seconds and finishes with "Authorization received. Signing in...". A code lives for 10 minutes and works once; an approved code the panel has not collected within two minutes of expiring is thrown away and its plugin session signed out. One network can create 10 codes in 10 minutes, then gets "Too many sign-in codes from this network. Wait a few minutes and try again." Errors on the approval page: "Invalid or expired code", "Code expired. Please restart the link process.", "This code was already used.", and "Your account must have an email address to link to Photoshop." Errors in the panel: "The authentication code expired. Please try again.", "This link was already used. Start a new attempt.", "Session was rejected. Start a new browser auth attempt." and "Session not found. Please restart browser auth." The plugin receives its own session, so approving it does not sign the user out of the website. There is also an "ENTER TOKEN MANUALLY" fallback that accepts an access token copied from /app/profile.
When the sign-in lapses while the panel is open (fixed 2026-09-23). The panel checks the sign-in only when it opens (and every half minute during the free hour), so a session that ended later left it looking signed in. Opening a YFT or YDD then failed with "Sign in again to open a YFT or YDD", and the only link on that line was the website's Discord sign-in, which cannot work inside Photoshop: there was no way to sign in again short of reopening the panel. Now any such failure first renews the session quietly and, if that works, opens the file again by itself. If it does not, the "Sign in · A code to approve in the browser · Get a code" card comes back over the panel, and the Sign in on the error line opens the same card. A failed open with a model already on the stage is now shown over it (before, it was not shown at all). The panel also hands Photoshop every renewed session, not only the one from the first sign-in: the site renews sessions with single-use refresh tokens, so the copy Photoshop kept went stale and a reopened panel could not sign itself back in.
Updates reach an open panel (since 2026-09-24). Photoshop loads the panel once and keeps it running until Photoshop quits, even with the panel closed, so a fix to the site never reached a panel that was already open. The panel now checks once a minute whether a new version of the site is out (since 2026-10-05 that is the panel layout's own timer, watchDeploys, running hidden or not; SvelteKit's site-wide poll is off, see the workspace doc, "A tab left open across a deploy"). When one is, it reloads itself as soon as it is not in use: the panel hidden, or a minute without a click or a key in it, with nothing opening, no menu or dialog open and no sign-in code on screen. A model from the catalog or the library comes back after the reload. A model opened from a file on disk would not, so then the panel shows "Update ready" with a Refresh button instead of reloading by itself. A panel opened before 2026-09-24 does not have the check yet: quit Photoshop fully and open it again once. The Sync button in the panel's foot is smaller since the same day (24 pixels, the height of the Auto switch beside it). The check itself only worked from 2026-09-26: until then the version block sat outside kit in svelte.config.js, where SvelteKit ignores it, so no panel ever polled; and the first build with it inside used a clock for the version name, which split the client and server builds and killed every page on hydration for one deploy (the workspace doc, "A tab left open across a deploy"). Telling whether the panel is current (2026-09-26): the account menu (the avatar at the right end of the strip) ends with a line naming the site build the panel is on, "Up to date · 771aad7" (the commit), or "Update ready" once a deploy has happened, and a Refresh button beside it that reloads the page whatever the state. Signing out also reloads the page, so a sign-out is a way to a fresh panel too. The canvas into a pack (2026-09-26). In the Packs tab, with an item selected, the foot of the list offers the Photoshop canvas as a variation: Replace stay on preview.openModel), and the Packs tab stays mounted while another tab shows, so it comes back exactly as left. For a page that is dead (nothing in it answers), plugin 1.6.1 adds Reload panel to the panel's flyout menu (the three lines at its top right) and Zoov: Reload Panel to Photoshop's Plugins menu: the plugin itself gives the webview a fresh address. 1.6.1 is built (photoshop-plugin/zoovdev-tools-v1.6.1.{ccx,zip}, 2026-09-26) and not yet released: the owner uploads it to the bucket and moves PLUGIN_RELEASE in src/lib/config/plugin.ts to 1.6.1 (the release checklist in photoshop-plugin/v2/README.md).
Which plans include the plugin
How access is decided (since 2026-09-20). First the subscription: if the account has an active or trialing Plugin Pass, Standard, Pro or Max subscription in Stripe (a team seat counts as Pro), the plugin opens. That is read from the site's own record of Stripe subscriptions, so it answers at once, and it does not need the person to be in the Zoov.dev Discord or to have their role yet. Only when there is no such subscription is Discord asked, after a fresh role sync, for the tools.photoshop permission: that is how the Referrer role and a role given by hand get in. Then the free hour, then the device limit, as before. An account under review gets no paid tool by either route. Both gates work this way: the old plugin pages (/plugin/photoshop, /plugin/photopea, /app/preview) and the workspace's (/app/preview, /app/plugin/...). Before this, both asked Discord only, so a paying subscriber who had left the server, or whose role had not arrived, was shown "Plugin access required".
Plugin access is a permission called tools.photoshop, granted by Plugin Pass, Standard, Pro, Max and the Referrer role. Plugin Pass costs $8 a month or $90 a year ($7.50 a month) and is for people who "Only need the Photoshop or Photopea plugin"; it includes the plugin, live 3D preview inside the plugin and YFT, YDD and YTD imports, but no monthly credits. Standard ($15 a month, $160 a year), Pro ($25 a month, $240 a year) and Max ($149 a month, $1,500 a year) all include "Photoshop and Photopea plugin" alongside the rest of the workspace. The Free plan does not include the plugin, but every account gets one free trial of 60 minutes. Plugin Pass is billed for the plugin, not the workspace: in the workspace Designer it has Free's daily limits (since 2026-09-23; see the workspace guide, "Daily limits and plans"), and since 2026-09-30 it has Free's limits and prices everywhere outside the plugin and its preview: Free's credit price on every AI image (Imagine in the panel included), 1 reference picture on UV textures (the legacy plugin pages offered 2 before), Free's per-minute request limits and Free's storage. The same permission covers the Photoshop panel, the Photopea panel and the browser plugin.
Free 60 minute trial
The plugin trial is one hour, once per account. A signed-in user without a plan lands on /plugin/no-access and sees Try free for 60 minutes with "One-time trial. No card, no subscription." Starting it shows "Free hour started. Enjoy!" and a countdown in the panel. The panel sends a heartbeat while it is open; if no heartbeat arrives for 90 seconds the trial ends early with "Connection lost. Trial ended.", and at the hour it ends with "Your free hour has ended." and returns to the sign-in screen. Closing the panel does not pause the trial. A second attempt shows "Your free hour has already been used."; if a trial is still running elsewhere the page says "A trial is already running for this account." Accounts under review cannot start a trial. Someone who already has a paid plan gets "You already have full access." Staff cannot reset a used trial from the UI (verify whether a manual reset exists).
The "no access" page
The no-access page at /plugin/no-access appears when a signed-in user opens the plugin without a plan or trial. Its badge reads "Paid plugin access" and the heading "Plugin access required", with the text "Standard, Pro, and Max include full Photoshop plugin access. Pro adds more credits, free conversions, and priority queues." (the host name changes to Photopea or Browser to match where the user came from; Plugin Pass is not named on this page but does grant access). It offers the trial button when eligible, Re-authenticate and check access (signs out and back in to refresh the role, useful right after buying a plan) and Sign out. Two other reasons show here: "Device limit reached" with "This account is active on too many devices. Try again from this device, or contact support.", and "Account review required" with "Your account needs review before paid tools can be used." (badge "Account review"). If a trial is already active the page redirects straight back into the plugin.
Browser plugin variant
The browser plugin at /app/preview is the same panel without Photoshop. The user signs in the same way, loads a vehicle or clothing model, then imports a PSD or PNG exported from any editor; re-exporting the file and re-importing updates the 3D preview. It supports the same YTD tools (import, edit, export), DDS and YTD export with DXT5 (Complex Transparency), DXT1 (No Transparency) or DXT3 (Sharp Transparency), UV map generation, the Imagine AI tools, and remembers the last model. Since 2026-09-30 the Photoshop and Photopea panels and /app/preview reopen the last model by themselves when the panel starts, including a YFT, YDD, GLB, OBJ or FBX opened from disk (kept on the device up to 48 MB) and not only catalog and library models. It only does so when it safely can: if a reopen ever did not finish (Photoshop froze, crashed or was closed while it was opening), that model is not reopened by itself again, only offered in the Model tab as Last model to click; a model that cannot be opened any more is forgotten with "Could not open tools.photoshop permission or an active trial; without it the user is sent to /plugin/no-access?host=browser. Inside the panel, locked actions say "Exporting DDS requires a valid subscription.", "Editing YTD files requires a valid subscription." or "Imagine requires a valid subscription."
Common failures
Common plugin problems and what they mean. A blank or broken panel in Photoshop usually means Photoshop is older than v25; update Photoshop, then reopen the plugin. "Update Required" with "Your Photoshop plugin is out of date (vX). We've made important changes that require a new plugin update." means the installed CCX is too old; Download Update opens /app/plugin. "Update Available" is only a recommendation. "Session expired. Redirecting to login..." means the plugin session lapsed; sign in again with a new link code. A code that stops working after ten minutes has simply expired; generate a new one. "No canvas image received. Is a document open in Photoshop?" means Sync Canvas ran with no open document. "Device limit reached" means the account is signed in on too many devices; sign out elsewhere or contact support. Import and export features need a plan or an active trial; a Free account without a trial is redirected to the no-access page. Pirated Photoshop builds are not supported and are a known cause of panel load failures.
- A model sat on "Sending to the converter" (fixed 2026-09-29). The panel's stage opens models through the same reads as the workspace preview. A read that never answered used to hold it until the panel was reloaded; now each read gives up after 60 s plus 1 s per 100 KB with "Took too long to answer · try again", and opening it again starts a fresh read.
The new plugin panel (in progress)
Since the workspace went live (2026-09-20) the old download page /plugin sends people to /app/plugin, which offers the current CCX and ZIP (1.6.2 since 2026-10-12; first 1.6.0 (public/plugin/zoovdev-tools-v1.6.0.* in the site bucket, checked byte-for-byte against the build in the repository on upload). Installed plugins are unaffected: the pages they load (/plugin/photoshop, /plugin/photopea, /app/preview, /plugin/auth, /plugin/no-access) are not redirected. 1.6.0 was published on 2026-09-21 (below); 1.6.1 is built and unreleased (above).
The Photoshop plugin panel was rebuilt as a tool inside the Zoov.dev workspace, and 1.6.0 is the release that switches to it (2026-09-21). The rebuilt panel lives at /app/plugin/photoshop and /app/plugin/photopea, and the browser plugin is the Preview tool at /app/preview. A 1.5.x install cannot reach it: the panel address is compiled into the plugin, so those installs keep loading /plugin/photoshop until the person updates. They are told to: the panel compares itself against the release and now reads Update available. Re-downloading is the whole fix; the old pages stay where they are so nothing breaks in the meantime. When it ships, the panel has four tabs across the top: Preview (the 3D model), Model (File first, then Library, Catalog and clothing projects; File is what it opens on since 2026-09-19), Textures (import, the YTD editor, export and the Graphics Library) and Imagine (patches, refine and UV textures). Sign-in, the free hour and the device limit appear as one card inside the panel instead of separate pages. A new plugin version, 1.6, comes with it, and 1.5.6 keeps working with the new panel. The plugin page moves at the same time, to /app/plugin: the current release with Download CCX, Download ZIP, Install guide and VirusTotal scan, then "No Photoshop" with Photopea, Browser (the Preview tool) and Designer; a "Ways in" table of what each needs (Photoshop 2024 or later with a genuine licence; photopea.com, then Plugins and search "Zoov"; any editor that saves PSD or PNG; nothing for the Designer); the four tabs; "Access" with "Free hour" (60 minutes, once per account, no card, shared by Photoshop, Photopea and the browser), Start free hour (opens the Preview tool, whose sign-in card starts it) and the plans that include the plugin (Standard, Pro, Max; Plugin Pass is not named there); questions; and the download again at #download, where the new panel's Update button lands. Until the release is announced, answer plugin questions from the sections above (verify the release before describing the new panel or page to a user).
The browser version of the tool (Preview at /app/preview) has a fifth thing the panels inside Photoshop and Photopea do not: a Pack tab that renders a picture of every model in a folder or a clothing project (2026-09-20; see the workspace guide). It also opens .ydr props since then, in the panels too, because the panels and the browser tool share one model opener. Nothing about the panels' own tabs, sign-in or access changed with it. Since 2026-10-07 every model and texture the tool opens, in the panels too, waits out the converter's per-minute limit and tries again instead of failing ("Converter busy · waiting" on a Pack tab row). A plugin user opening many files quickly gets a short wait rather than a "Rate limited" error.
Imagine short of credits (2026-09-27). The Imagine tab's "Get N credits" opens the plans dialog outside the frame with Pro picked out (the packs are under the plans), as every credit wall in /app does now; it used to land on the packs. The rest of the panel's access is unchanged: the free hour, the device limit and the plans that include the plugin.
Packs tab (built 2026-09-24, live with the site since 2026-09-26 and announced to the server that evening; see the email and notifications doc, "Packs in the panel"). The panels have a fifth tab, Packs, after Imagine: the clothing pack list from /app/packs (src/lib/workspace/modes/packs/PanelTab.svelte), loaded the first time the tab opens. The pack is the same local project the workspace keeps, so the panel reopens the pack worked on last. With Photoshop or Photopea attached, each variation row has an Edit button: the variation's YTD is read as a PNG on the winapi (ytd-extract) and placed as a whole texture, so it opens as its own document. A bar above Build then shows the variation with Save; Save captures the document, writes it back into that YTD in place with ytd-edit (the same texture name inside it), and the new YTD becomes the variation. The edit stays open, so saving again is one click. The same two actions are on the variation's right-click menu. Clicking a row (wearing the letter on the stage) opens nothing in the editor since 2026-10-06; before, each letter landed in the open document as a layer (see the packs doc, "Clicking a letter only wears it"). The row menu's Recolour now shows its card under the list in the panel too, and the plugin's live frames no longer undo the colour on the stage. Walked with a fake Photoshop on protocol 2 (node_modules/.probe/packs-panel.mjs, SIZE=l or s); not yet run inside real Photoshop.
"Signed out" when approving a plugin sign-in (fixed 2026-09-21)
Approving a plugin's six-character code could fail with a red Signed out line on a page that was showing the person's own name and avatar at that moment, and there was nothing on the page to press to fix it.
The page and the button behind it read the session two different ways. The page checked the token it already had; the button asked the auth server outright, which says no for reasons that have nothing to do with the person — a token older than an hour, or one the browser had already replaced. Both now read it the same way, so a person who is signed in can approve.
If the session really has ended, pressing Approve sends them to sign in with Discord and back to the same code, rather than leaving the message on screen. Nothing about this needs the plugin reinstalled; it is the page the plugin opens.
The panel's renderer button (2026-09-21)
The sliders button at the top of the panel's stage opens the renderer settings. In Photoshop it used to do nothing visible: the icon changed colour and no panel appeared, because the settings were shown in a popover positioned against the button, and that positioning does not work in Photoshop's webview. The settings now open as a dialog in the middle of the panel instead. Nothing about what they control changed.
This is a change to the page the panel loads, not to the plugin, so it arrives without reinstalling anything.
Updating to the workspace panel (1.6.0, 2026-09-21)
The old panel now offers the update. Anyone still on 1.5.x sees a card in their panel headed "Version 1.6.0 is out", explaining that 1.6.0 opens the workspace instead and that their install keeps working, with a Download button (and the address, zoov.dev/plugin, printed under it for anyone whose panel will not open a browser window). It can be dismissed and it blocks nothing: the version that is actually refused is still 1.5.2 and below.
That notice existed before but was pinned to 1.5.6, so when 1.6.0 shipped every 1.5.x install was told it was current. It now reads the release from the plugin page, so it cannot fall behind again. This is the only place those installs will ever hear about it: their panel address is compiled into the plugin, so the new panel's own "Update available" is somewhere they cannot reach.
Version 1.6.0 of the Photoshop plugin is the first that opens the workspace panel. Every 1.5.x build asks for the old page at /plugin/photoshop, because the address is compiled into the plugin itself — so re-downloading the same 1.5.6 file, or reinstalling it, can never move a person onto the new panel. They have to install 1.6.0.
The panel says so on its own: it compares its version against the release on the plugin page and shows Update available to anything older. The old pages are deliberately left in place (config/release.ts redirects only the /plugin download page to /app/plugin), so a person who has not updated keeps working exactly as before.
The files are zoovdev-tools-v1.6.0.ccx and .zip, offered from /app/plugin under "Latest release". The virus scan linked beside them is still the report for 1.5.6: these were shipped without a fresh scan, so the link describes an older file rather than this one.
Where a texture lands in Photoshop (2026-09-21)
When the plugin sends a picture to Photoshop it has to choose between putting it on the open document and giving it a document of its own, and the first build of 1.6.0 always chose the open one unless nothing was open at all. A UV map or a model's own texture is 2048 wide; dropped as a layer onto whatever canvas the person happened to have in front of them it was scaled to that canvas, so a 2048 UV on a 512 sketch came out useless.
The page now says what it is sending — the picture's width and height, and whether it is a whole texture or something to put on one — and the plugin compares. A whole texture opens in a new document only when the open document is a different size. When the right canvas is already open, which is how most people reach the panel, the texture still arrives as a layer and nobody is moved somewhere new.
Decals, generated patches and AI results are never whole textures, so they always land as a layer on the open document, as before.
One build of 1.6.0 does not do this. The file published in the first hour of 2026-09-21 was replaced in place, at the same version, once the rule existed. Anyone who installed during that hour has the old behaviour and will never be told to update, because the version number is the same; reinstalling from /app/plugin is what fixes it. Everyone who installs from now on gets the rule.
A 2048 UV still opened on top of my 2048 document. That is the intended behaviour: the sizes match, so the open document is the right one and the UV arrives as a layer in it.
Prints: pictures on the model (1.6.2, 2026-10-12)
The panel can put a picture or a line of text on the 3D model and write it into the open document as a layer at the right spot, wrapping across seams the way the Designer's pictures on the model do (workspace.md, "Prints"). It works in Photopea at once and in Photoshop from plugin 1.6.2, because the plugin has to write pixels at an exact place, which 1.6.1 and older cannot: their only way in is a centred place. In the panel, the stamp button in the 3D view's toolbar ("Add to model · Beta") offers Image, Text and the Graphics Library; click the model to put it down, drag it to move it, scroll to resize, Shift and scroll to turn, and press the tick when done. Each print is one layer, named after the picture; moving it again from the model replaces that layer in the same place in the stack, keeping its opacity and blend mode. The trash button removes it from the model and the document.
1.6.2 was released on 2026-10-12 and is the download on /app/plugin (public/plugin/zoovdev-tools-v1.6.2.{ccx,zip}, bucket site, checked byte for byte against photoshop-plugin/zoovdev-tools-v1.6.2.* after the upload by node_modules/.probe/upload-plugin.mjs). It also carries 1.6.1's Reload panel, which was never released on its own. An older plugin now reads Update available, and its stamp menu reads "Update plugin to 1.6.2". The virus scan linked on the page is still the 1.5.6 report. Tested by the owner in Photoshop before the release.
Common questions
Can I put a logo on the model from the plugin? Yes (beta, 2026-10-12): the stamp button in the panel's 3D view. In Photoshop it needs plugin 1.6.2 or newer; Photopea needs nothing. The logo lands as its own layer at the right spot in the document. See "Prints" above.
I moved a print on the model and my edits to its layer are gone. Moving a print from the model draws it again and replaces its layer; changes painted onto that layer by hand are not kept. Opacity and blend mode are. To edit it by hand and keep the edits, stop moving it from the model.
I reloaded the panel and can no longer pick up my print on the model. Prints are remembered only while the panel is open. The layer is still in the document and can be moved there like any other.
I pay for a plan but the plugin says "Plugin access required". Since 2026-09-20 a paid plan opens the plugin from the subscription itself, with or without the Discord role, so this should no longer happen for an active subscription. Check the subscription really is active (Plans in the workspace, or the Stripe portal: a failed renewal suspends it) and that you are signed in to the plugin with the Discord account that bought it. If both are right, send staff the account and the Stripe receipt.
Do I need Photoshop to use the plugin?
No. The browser plugin at /app/preview and the Photopea plugin do the same job with no install. Photoshop is only needed for live canvas sync.
Which Photoshop versions work? Genuine Photoshop v25 (the 2024 release) or later. Check under Help, About Photoshop. Older or cracked versions are not supported.
Is the plugin free? Every account gets one free 60 minute trial. After that it needs Plugin Pass ($8 a month), Standard, Pro or Max.
I bought a plan but the panel still says "Plugin access required".
Click Re-authenticate and check access on the no-access page, or sign out of the panel and sign in again with a new link code so the new role is picked up.
The link code expired before I could approve it. Codes last 10 minutes and work once. Start the sign-in again to get a new code.
Can I use my trial again on another computer? No. The trial is one hour per account, ever, no matter which device or host (Photoshop, Photopea or browser).
Where do I download it?
/app/plugin, under "Latest release": Download CCX for the normal install or Download ZIP (manual install). The current version is v1.6.2 (2026-10-12), which adds prints (pictures put on the model, above). v1.6.0 (2026-09-21) was the first release whose panel is the workspace one.
Languages
Since 2026-09-20 this part of the site is available in English, French, German, Spanish, Portuguese, Polish and Dutch. It follows the browser's language on a first visit, and the language menu (the icon beside the profile in /app, or in the top navigation on public pages) changes it. Nothing about how it works, what it costs or what a plan includes differs by language; only the words do. File names, format names (GLB, YDR, YTD), product and model names, code, and some error lines that come from the server stay in English. Details and known gaps: Languages and translation.
Fonts and assets are cached (2026-09-28)
vercel.json gives /fonts/* 30 days and /assets/* one day of browser cache, each with a week of stale-while-revalidate, so the panel no longer revalidates every font and picture on each open. A file replaced under the same name can show stale for that long; rename one that must change at once.