Join our global community of Photoshop developers.
Recently active
No puedo expotar mis archivos jpeg en alta calidad, no me permite configurar una alta calidad antes de guardar en mi version de ps web
Hello Adobe,I’m developing a UXP plugin that normalizes transformed text layers (similar to Free Transform → Apply behavior). The goal is to recreate the text layer cleanly with the same visual appearance — same text, font, color, and point size, but without transformation.While this works perfectly using ExtendScript (JSX), in UXP the results are inconsistent:The new text appears much smaller than the original when the source layer was a paragraph text (area text).Multiple new layers are created at random positions far from the original location.The effective visual font size calculation based on boundsNoEffects vs. a clean text layer width seems unreliable in UXP.It appears that UXP’s text creation and measurement APIs (batchPlay, bounds, textKey.textShape) handle paragraph text differently than JSX, breaking proportional scaling and position tracking.Could you please investigate or confirm if this is a known limitation of the UXP Photoshop API?We need consistent behavior between JSX
Hello everyone,I am getting started in Photoshop plugin development, i am a C developer but even with the documentation I cannot understand at all how Photoshop Xcode projects works, I'm trying to have a basic "from scratch" project by creating a macOS bundle (exported as a plugin), added the necessary infos in info.plist (like the plugin type) and a minimal PiPLs.json is /Ressources/ But I cannot get the plugin to even show up at all in the list of filters, the PluginMain function doesnt do anything particular, and i'd like to understand the requirements so a photoshop plugins shows up in the filter list. I could not understand that from the example projects.Thanks a lot !(Photoshop 2026, ,macOS,sdk 2026 v2)
I want to create an automation in n8n where I can upload a PSD template file containing dynamic variables, and the system will automatically apply the data inside that template. I created a developer account, but I don’t see any option to purchase the required API service. Once I’m able to access the API, I will start working on this project. any one can help me to do that.
Hi everyone ! I am trying to do an uxp plugin for photoshop, and in that project I a m trying to recreate a script I made as an extended script to automate some actions. One of them I do pretty often is to move a layer inside a group once I made some changes. Such as : if (cameraLayer.parent !== infoATCGroup) { cameraLayer.move(infoATCGroup, ElementPlacement.INSIDE);But I do not see any of this in the documentation for uxp and when I use what I see in the plugin Alchemist while moving a layer intoy a group, it does not work and occurs an error when I try to use the same syntax in my uxp plugin. Here is an exemple of what I see with Alchemist : const {executeAsModal} = require("photoshop").core; const {batchPlay} = require("photoshop").action; async function actionCommands() { const result = await batchPlay( [ { _obj: "move", _target: [ { _ref: "layer",
Hi everyone,I’ve been working on a custom UXP plugin called ChatGPT Bridge (v1.0.0). It loads successfully in Adobe UXP Developer Tools, but when I load it inside Photoshop (v26.7.0) the panel appears — yet it’s completely blank. No HTML content is rendered.Setup details:- Plugin name: ChatGPT Bridge- Version: 1.0.0- Photoshop version: 26.7.0- Manifest version: 5- Files included: `manifest.json`, `index.js`, `bridge-panel.html`- Folder structure is correct, and the plugin loads fine in UXP Dev Tools without errorsIssue:When I open the panel in Photoshop, the JS code runs (alert tests confirm this), but `bridge-panel.html` never displays. The panel window is visible but empty.Troubleshooting done so far:- Verified manifest structure and file paths- Confirmed HTML file exists and is referenced correctly- Replaced `.png` icon with `.ico` format per Photoshop UXP requirements- Tested with `document.body.innerHTML` to check if the HTML is being read (no visible output)- Restarted Photoshop
Here's an example using the active document name without extension: var docName = app.activeDocument.name.replace(/\.[^\.]+$/, ""); var d = new ActionDescriptor(); d.putString(stringIDToTypeID("textData"), docName); executeAction(stringIDToTypeID("textToClipboard"), d, DialogModes.NO); P.S.: Rather than assuming the ruler units, it's often safer to explicitly set them: var w = app.activeDocument.width.as('px'); var h = app.activeDocument.height.as('px'); var origRulerUnits = app.preferences.rulerUnits; app.preferences.rulerUnits = Units.INCHES; // Units.PIXELS etc var w = app.activeDocument.width.value; var h = app.activeDocument.height.value; app.preferences.rulerUnits = origRulerUnits;
Hello, everybody!My task is: a script, that copies the dimensions of an image (or other predefined text) to the system clipboard: #target Photoshop var w = Math.round(activeDocument.width); var h = Math.round(activeDocument.height); var str = "image size is : " + w + " X " + h;My question is: How to copy "str" to system clipboard?
Hi,I have an older native C++ plugin built using Photoshop 2022 SDK. I’m trying to communicate with a UXP plugin using PIUXPSuite.In my native plugin, inside the StartUpPlugin function, I have the following code: if (!sUxpProcs) { LOG_TRACE((0, "🔧 [UXP-LISTENER] Acquiring PIUXPSuite for message listening")); SPErr e = sSPBasic->AcquireSuite(kPSUXPSuite, kPSUXPSuiteVersion1, (const void**)&sUxpProcs); if (e != kSPNoError) { LOG_TRACE((0, "❌ [UXP-LISTENER] Failed to acquire PIUXPSuite: %d (0x%08X)", e, e)); } else { LOG_TRACE((0, "✅ [UXP-LISTENER] PIUXPSuite acquired for listening: %p", sUxpProcs)); // Get plugin information using available SPBasicSuite methods LOG_TRACE((0, "🆔 [PLUGIN] Plugin Reference: %p", gPlugInRef)); // Add UXP message listener SPErr listenerResult = sUxpProcs->AddUXPMessageList
Bug Report:Photoshop Version: v26.11.0 and betaOperating System: Windows10 & 11Problem:Any UXP plugin, including the most minimal test case, fails to launch from the Plugins menu. It always produces the same console error: TypeError: Cannot read properties of undefined (reading 'commandId') at oe.menuItemClickHandler.Steps to Reproduce:This has been confirmed on two separate computers with fresh installations of Photoshop and the UXP Developer Tool. The error is 100% reproducible with the minimal plugin code below.When this plugin is loaded and "Run Bug Test" is clicked from the Plugins menu, it throws the commandId error instead of showing the alert. This demonstrates a critical failure in the UXP command system for this build of Photoshop.
Hello, We have developed a UXP plugin (written in plain JavaScript) for Photoshop, and we would like to have support for Windows 11 ARM. Is there a workaround available at the moment, or are there any plans to support it? All the best,Nikos
Hey everyone,I’m building a web app that needs to merge 3 bracketed RAW images (dark, normal, and bright) into a single HDR image, similar to Photoshop’s “Merge to HDR Pro” feature on desktop.Does anyone know if the Photoshop API supports this functionality, or if there’s any endpoint that can combine exposures into a 32-bit or tone-mapped HDR image?If not, is Adobe planning to add HDR merge support in a future API update?Thanks,Amin Bulaqi
Hello everyone,I'm a Photoshop plugin developer currently adapting my product for the native ARM64 version of Photoshop on Windows.I'm trying to determine the best practice for an installer to handle the architecture choice correctly. The SDK documentation doesn't seem to cover this installation strategy in detail.The Core Problem:Even on an ARM64 Windows machine, a user could have either:The native ARM64 version of Photoshop.The x64 version of Photoshop, running through emulation.This is especially relevant when installing to the common Program Files or AppData plugins directory, which might be shared.I've researched this and received a suggestion (from an AI, to be transparent) about a potential method. It claims that the solution is to install both the x64 and ARM64 versions of the plugin into a specific folder structure, and Photoshop will silently load the correct architecture version while ignoring the incompatible one.The proposed structure would lo
ClientId:0e6d8028a3d340fe9c7202f7a3151ef7Description of issue:We are trying to connect photoshop to the authorization service from a remote server, it is located in Germany Server IP:91.107.225.32, but we get a ssl error due to which we cannot connect to you for authorization. We are using python urllib library for making requests Error message:Traceback (most recent call last):File "/usr/local/lib/python3.8/urllib/request.py", line 1354, in do_openh.request(req.get_method(), req.selector, req.data, headers,File "/usr/local/lib/python3.8/http/client.py", line 1256, in requestself._send_request(method, url, body, headers, encode_chunked)File "/usr/local/lib/python3.8/http/client.py", line 1302, in _send_requestself.endheaders(body, encode_chunked=encode_chunked)File "/usr/local/lib/python3.8/http/client.py", line 1251, in endheadersself._send_output(message_body, encode_chunked=encode_chunked)File "/usr/local/lib/python3.8/http/client.py", line 1011, in _send_outputself.send(msg)File "/
Hello Adobe Photoshop Team, I am actively using Photoshop scripting (ExtendScript/UXP) to automate printing of labels. At the moment, the scripting API provides two methods for printing: document.print() – opens the print dialog, where the user can manually set the number of copies.document.printOneCopy() – sends one copy directly to the printer. However, there is no way to programmatically specify the number of copies (for example, 40 copies) without repeating the print command multiple times. This makes large print runs inefficient and slow. Feature request:Could you please consider adding an optional parameter for the number of copies to the Photoshop Print API, e.g.:document.print ( { copies: 40 } );document.printOneCopy ( { copies: 40 } ); This would significantly improve automation workflows for professional users who need to print batches of designs (such as product labels, tickets, packaging, etc.) directly from Photoshop. Thank you very much for c
Photoshop 26.9.0 release on osx 14.4.1 const inPixels = await imaging.getPixels({ documentID: doc.id, layerID: layer.id });const inBuffer = await inPixels.imageData.getData(); this code works with document.mode grayscale, rgb, and labit fails gracefully with an error popup with bitmap, index, and multichannelbut it crashes photoshop with CMYK
i try to make tool for me just simple 1 maybe more advace in future but so far dont have much luck. simple idea change brush size with script(dont ask way to this point) but i fund the size{ _obj: "brush", masterDiameter: { _unit: "pixelsUnit", _value: size } } and it work can change throw my panel and can see live change on brush setting. but try with spacing or something else dont work or at last not well. its any way have document for for this thing or at last what is for spacing and direction.what i try{ _obj: "brush", spacing: spacing }
I tried creating a new plugin using UXP Developer Tools. When I click on "Select Folder", I create a new folder and save it there. Then I get an error message "Invalid Directory Permissions". This message still pops up when I change the permissions of the folder to read & write for everyone. I don't know what else to do to make this work.
HiWhat is the best approach to retrieving the BrushTip preview from an ABR file.I have some coding from an open source, but implementing it has not resulted in getting the image, just a blank white box 😞ThanksRob
OK, so I am trying to develop a plugin that I have always hoped would be made, but as it hasn't I am attempting to do it myself. I have the basic husk done, but now looking at functionality (this is where it gets harder). First step, I have been trying to get a action on a button click which seems to be possible based on ressearch, but I can't achieve yet.I want the on click to have a function auto search and select the presets/brush folder.All my attempts have resulted in this:✗ Access failed for /Applications/Adobe Photoshop 2025.app/Presets/Brushes: Could not find an entry of 'file:///Applications/Adobe%20Photoshop%202025.app/Presets/Brushes'How can I resolve this?thanks in advanceRob
Quero deixar como sugestão aos desenvolvedores do Photoshop que o aplicativo tenha memória em Salvar Como (Ctrl+Shif+W). Isso será útil para evitar de ficar procurando a pasta ao salvar o arquivo gerado.
Hello, let me introduce myself, I'm Antonio, a Spaniard who has been using Photoshop [inappropriate language removed] for more than 20 years. I'm not an expert, because I always repeat the same 4 things I do, but I'm attentive to all your comments and at some point I'd like to help you. A small question, is anyone creating tools with Python? I would like to solve a major problem, I have scanned more than 100 letter-sized sheets where there are 3 or 4 or 5 images, I want to separate each image and save them with a new name, I think the only way would be to create an order that separates by layers and saves the spaces with the image and distinguishes the empty spaces, any help would be very grateful. Greetings from Spain.
Hello, I should apply a effect simular as the image on a other image I'm working on. Would anyone know a link of a simular photoshop action effect like this? I already searched in Envato but no result yet. Many thanks for the 'golden tip'😊
I am seeing an issue that started today that is affecting an existing service that we have been using with Adobe for some time. The error message is very vague so I am not sure if it is on our end or Adobe's. Can someone point me in correct direction to find paid support for this as well? Step 1: Request the token to use the services from : https://ims-na1.adobelogin.com/ims/token/v3Request: POST- client_id- client_secret- grant_type- scope Response: sends back the "access_token" along with some other data Step 2:Make a request to "https://image.adobe.io/pie/psdService/text" with a json body of: { "inputs": [ { "href": "https://www.omnant.com/IL.PSD", "storage": "external" } ], "options": { "layers": [ { "name": "DisplayName", "text": { "contents": "Bob Smith"
Hello Adobe Team and Community,I am developing a UXP plugin for Photoshop and have encountered a critical issue where I cannot access pixel data from layers. This issue is occurring in both Photoshop Stable version 26.7.0 and Photoshop Beta version 26.8.0.Problem Description:For any standard pixel layer (including newly created documents with a single painted layer), the UXP API reports:layer.type as undefined.layer.pixelMap as undefined.This prevents my plugin from using layer.pixelMap.read() to access pixel data, which is essential for its functionality (a waveform monitor). Consequently, my plugin's panel menu item ("ColorScope Panel") is grayed out and unclickable in Photoshop's "Plugins" menu in both versions.Steps to Reproduce (in both Photoshop 26.7.0 and Beta 26.8.0):Create a UXP plugin with the manifest.json provided below.Use JavaScript code within the plugin (relevant waveform.js snippet also below) to attempt to access layer details and pixel data.In Photoshop: a. Create a
Remix with Firefly Community Gallery
Thousands of free creations to fall in love with and remix in Firefly.
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.