Join our global community of Photoshop developers.
Recently active
Hello, I'm looking to get into photoshop scripting but was curious if my ideas are even possible to begin with.What I'd like to make:- a hotkey for a specific brush- a hotkey for alternating between two brush flow settings (e.g. press once = brush flow 20%, press twice = 80%, press again = back to 20%)Thank you!
Hi everyone,I’m working on a commercial project that requires the ability to generate PSD files programmatically, with full control over layers and design elements.I’d like to understand how to get access to the Adobe Photoshop API for this purpose.Specifically:What is the process to request API access?Are there any requirements, costs, or approval steps for commercial use?Where can I find relevant documentation or contact someone directly?Thanks in advance for your help!
I am looking for a developer to build a solution.It's a simple repetative task but I need the solution to recognize people in the image and according to predetermined acceptable parameters, rotate and or crop using content aware fill to neaten the edges of an outfit or fill in the backdrop. I understand that it appears simple but is complex at the same time and am open to accepting all proposals.
Any recomendations on how to log the timestamp of a selected layer in photoshops video timeline?For example: After clicking a layer in the layer panel, photoshop highlights the layer in the video timeline. Is there a way to log the JSX were that layer is in the timeline? (screen shot attached of a selected layer in the layer panel and the layer highlighted in the timeline)PSD with timline setup: https://drive.google.com/file/d/1XZAU3Pxb6RtSuplL_rfsmh1KY7BHBbG1/view?usp=sharing
Hi community,I am a FileMaker database developer and have my archive of over 100thousand pictures set up in a custom FileMaker database solution. Up to a couple of years ago, I had no issues opening a .JPG or RAW file directly from FileMaker, based on a hard-coded path.Right now, this feature is failing. Has been for quite a while. And I do not understand why that is. Is there anybody out there who can help me with this? There is another complication. Due to repeatedly failing external memory devices, I have decided to store my originals in the Cloud. This introduces a new issue. The two platforms I am considering, allow for placeholders of files in the Cloud file structure. Which means I can double click on such a placeholder and it will then download in its correct location and open. I am a Mac user and double clicking as described above works well and the file will open immediately in Photoshop. Pointing to the file in the placeholder location has proven to be imposs
I need help creating an automation solution within Photoshop that is beyond my grasp of actions / automation API. The functions are basic - light cropping to correctly center and straighten heads, slight color correction, a touch of sharpening and vignetting. The client works with a jpeg workflow. I am already semi-automated with actions that fulfil all needs with manual input for the crop. Is there a way around this inside Photoshop? My understanding is that I would probably need a developer to create a solution using of Python / PIL / Mediapipe.
Hi all, I have a question regarding running ExtendedScript files via Python in Photoshop 2025: Has something changed under the hood that does impact this? Thing is, I have various scripts in .jsx file format that run perfectly fine when I run them from Python + COM in Photoshop 2024 via Visual Studio Code, but when I run the exact same scripts in Photoshop 2025 Visual Studio Code they always give exactly the same error: pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, 'Adobe Photoshop', 'Illegal argument - argument 1\n- Required value is missing', None, 0, -2147220262), None) Even a .jsx only containing a very simple alert("Hello from Photoshop");will give exactly the same error in Photoshop 2025 but not in Photoshop 2024 (Visual Studio Code). Now, when I run all these scripts directly inside Photoshop (2024/2025) via the scripts menu, they also work. So the issue seems to be specifically when sending the scripts to Photoshop via P
Hello, I followed the official documents scattered across the Internet and finally wrote this code. But for some reason, even I used the exactly same name with the plugin, the log wrote “Failed to retrive plugin.” here, which means gPluginSuite→GetNamedPlugin() didn’t work out and no plugin reference has been retrieved so that I couldn’t use it on sUxpProcs→SendUXPMessage(gPlugInRef, UXP_MANIFEST_ID, desc); Can anyone help me?c.f. From the log file, I confirmed this function has been automatically called when I open up my plugin. (Because this is not the automation plugin nor the filter plugin so I couldn’t use any examples on the example code on the website.)#include <exception> #include <stdexcept> #include <string> #include <fstream> #include "utilities/UxpAddon.h" #include "utilities/UxpTask.h" #include "utilities/UxpValue.h" #include "SPBasic.h" #include "SPPlugs.h" // Required for SPPlugins suite #include "SPProps.h" // Required for accessing plugin prop
From what I’ve been reading here, Adobe allows us to make HTTP requests to their cloud services (specifically, their Photoshop APIs) in order to process PSD files and certain images. However, these cloud services have limitations. In particular, we can run locally recorded actions in the cloud, but I’ve not yet found any information about running scripts in the cloud, which is strange. I understand that scripts might have some nasty code, but you can always execute them in isolated environments. So, is it correct that these Adobe services still don’t allow us to run scripts? My use case is that I have many PSD files, which we usually process with a script. Each of them can take several hours to finish, which means that processing these scripts can take days. Moreover, we ofen need to process these PSD files again, which is a huge setback for productivity. Ideally, we’d like to run the scripts for each PSD file in parallel, in this way processing all of them should not take more th
I have it on the list in the ESTK: I've found all three copies - and renamed them in the hope, that ESTK will download them again (like it has done for InDesign and InCopy): But no luck ... yet, as per 1st screenshot - it still sees it and displays something in DataBrowser - bottom-right corner - so this OMV file must be somewhere?? No - I don't need it for writing scripts in JS - I need this OMV file to extract data for my VB6 application.
exportSelectionAsFileTypePressed seems to be asynchronous. I hope that after this method is executed, the image is generated and the byte data is completely written, and then the subsequent code is executed.
I am a solo-developer that has been working on an application over the last couple of years that is completely dependant on the Photoshop API. I took a break from this project for about a year, and recently completed and am ready to publish. I have been using the Photoshop API free credits for development, and now that I am ready to publish I see that it has been completely restricted to Enterprise customers (my remaining credits and credentials still work though). Of course, it is my fault for creating something dependant on a third-party service, but I just want to rant. I have absolutely no problem paying for the service and always had expected to, but now I'm not even allowed to. Enterprise requires a company with at least 50 employees and minimum three-year contract. They allowed us free trials to create on the platform then pull it out from under us.
I want to use applescript to open each file in a particular folder into PHOTOSHOP, resize it, and overwrite the original file. I can't actually OPEN the files. I've got to be missing something basic.
I'm animating in photoshop.I have all the frames highlighted, and would like to set each frame duration on 2's. When I adjust the size of one of them, only that one frame gets adjusted, but not all the other frames that are highlighted.Thank you.
Hi,A few months ago I found that Photoshop can´t save Photoshop PDF images that have a dimension larger than 30,000 pixels. I needed it to convert CMYK images with spot colors (another are very ignored area) to PDF.Therefore, I wrote my own tool in Python that does that: takes TIFF images in CMYK or monochrome (gray levels) and assembles them into a PDF, any size, with less than 20 objects. I used a wonderful module (mPdf.py) from Didier Stevens and the zlib library to compress the bitmaps / It works nicely, although Acrobat is slow displaying a 40,000x20,000 pixel image with color planesNow the question: has anybody used zlib in Python, in an advanced manner?I have used zlib and compressed the bitmaps, but I know that if I use /Filter /FlateDecode and add /DecodeParams with Predictor 2, the bitmaps from TIFF images will compress much better. However, have not found info on how to use it rather than the original zlib C code, which indicates a setting for the filter should be specified
Hi, I am using the create document endpoint to pass in 6 images of size ~400 kb each and the psd file I get back is about 34 mb. Any ideas why this is happening and how can I control it? I tried to read the documentation and searched the internet but found nothing that could help me. My function to create psd is as follows. Width is always 1920, height is 1000 and resolution is 72I have also attached my input files and the resulting psd async function createPsdWithMultipleLayers(srcUrls, headers, outputUrl, width, height) { try { const api_url = 'https://image.adobe.io/pie/psdService/documentCreate'; const inputs = srcUrls.map((url, index) => ({ type: "layer", input: { storage: "external", href: url }, name: `Layer ${index + 1}` })); const payload = { options: { document: {
I'm having an issue with the Photoshop API in Adobe Developer Console. I can't use the API anymore when creating a new project. I recently changed my Adobe login details and I feel like it may have something to do with that? Please help!
The PIPL file starts with the Property List structure, and the first field of that structure is the 4-byte version number, which is 0. However, when I load a Photoshop filter plugin into software that allows viewing and extracting of resources in an EXE or DLL files, and I extract the PIPL resource, and view it in a hex editor. I find there are 2 bytes BEFORE the 4-byte version field. These first 2 bytes are 0x01 0x00. And nothing in the Photoshop SDK would lead me to believe that there should be any data before the version field of the Property List structure. Can someone here explain what those first 2 bytes in the resource are supposed to be?
Adobe it's no longer developing Photoshop scripting .jsx as mentioned here (N.B. table at bottom of the page) The big question is which update will Extendscript and Action manager scripts be finally phased out? And will they be up front about it?
I am using Photoshop 2025 and develop a filter which contains a preview that is `gpb->displayPixels()`. The filter is only applied to the selection of the user. However, I also want to display this behavior in the preview. But I can't find out how to find out what (non-rectangular) area the user has selected. As soon as I select something, then `pb->haveMask` becomes `1`. But `pb->maskData` is always `NULL`. I have never seen it becoming something different. So, how can I find out the selection mask of the user? Thank you for the help! --- Just in case it has something to do with filter cases PiPL setting; all 7 cases have this value: ```"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone)"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone)"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00
Hi ALL.Do you have any idea how to reach the stroke information?I know, the basic stroke attributes are stored in the executeActionGet(r).getString(stringIDToTypeID('layerSVGdata'), but the advanced attributes, like stroke-linecap or dash, and the others are not.When I use Layer menu / copy SVG, than there are all these informations, and I figured how to reach that menu with JSX, but it is impossible to reach the clipboard via jsx scripting.So I need to find another solution, but I did not yet.Do you or anyone has any idea?Thanks a lot
Hi all,after the latest PSD updated of Sept 10, 2024, some CEP primitives throw an error. I've developed a custom plugin, when in a function i've got this code fragment: var file = window.cep.fs.readFile(decodeURI(fl.filename), cep.encoding.Base64); var byteCharacters = atob(file.data); From this last version, the atob primitives thrown an error: InvalidCharacterError: Invalid character. Note that the same code on PSD 25.11 works correctly. I've tried on Windows and Mac with M3 on Rosetta, and i've got the same error in either platform. Could you please check? In the releaseNotes there's nothing regarding it
Hello! I want to raise what I think is an issue I found with the Photoshop API.In a plugin that I'm developing for Photoshop using UXP, I was relying on the alert and confirm functions (which according to the last docs I could find here should be supported) but after a certain update, they are simply not defined.I'm still trying to track down the exact version where this stops working but having the same piece of code I can see a modal for sure in version 25.3.1:(title blurred in red just due to sensitive information)But running the same piece of code in the current last version 25.6 I'm getting the following error:Sadly I can't share the code I'm running due to license. I'll probably keep tracking down the version where this issue starts happening and will work on isolating the issue in a new sample plugin, just to make sure this bug is not coming from another issue in this project
versions tested: Photoshop 24.7.1Photoshop 25.5.1 platforms tested: Windows 10Mac OSX Sonoma steps to reproduce:Run the following codevar test = 10 - UnitValue( 1, 'px' ) alert( 'expect 9 px:\n'+ test ) expected result:Variable test should return a positive 9 px value actual result:Variable test returns a negative 9 px value
Hi PS developer community, We're happy to announce the upgrade of CEP to CEP 12.0.0.14. This release of CEP v12 includes:* Chromium version updated to CEF v99 (CEF 3 release branch 4844, Chromium 99.0.4844.84)* Migration from OpenGL to Metal in Mac OS in CEP code* Security vulnerability fixes by Chromium* Node version updated to v17.7.1* Critical bug fixes This upgrade might impact developers or users relying on a CEP extension. If you have any feedback, please let us know. CEP 12 Documentation can be found at https://github.com/Adobe-CEP/CEP-Resources/blob/CEP-12-Prerelease/CEP_12.x/Documentation/CEP%2012%20HTML%20Extension%20Cookbook.md
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.