Join our global community of Photoshop developers.
Recently active
Hello. I'm editing a PSD file's text layers with the Photoshop JavaScript API. The original file features the Adobe Clean Medium font, so I want to keep it. Since by default the API replaces it with Arial, I'm explicitly setting the desired font in the call's options object. For the href property, I uploaded the font file (an OTF) to an AEM instance and successfully created an Adobe I/O signed URL out of it. This is the relevant section of my code:const axios = require('axios'); //... let requestBody = { "inputs": [ { "href": inputUrl, "storage": "external" } ], "options": { "manageMissingFonts": "useDefault", "globalFont": "Adobe Clean Medium", "fonts": [ { "storage": "external", "href": fontUrl //"<SIGNED_GET_URL_TO_AdobeClean-Medium.otf>" } ], "layers": [ { "name": "layer2", "text": { "contents": "content 1", } }, { "name": "layer3", "
Hey fellow devs,I'm hitting a wall with the Photoshop API when it comes to changing fonts. So far, I've only managed to switch to Georgia-Bold and Constantia-Bold. Has anyone else run into this issue?A few questions:Are we limited to specific fonts when using this API? If so, is there a list somewhere?Has anyone found a workaround or hack to use more fonts?Does anyone know if upgrading to a different subscription package or API tier opens up more font options?Are there any known bugs or limitations with font selection in the current API version?I'd really appreciate any insights, experiences, or tips you can share. If you've overcome this, how did you do it?Thanks in advance for any help!"This version is more conversational and community-oriented, which is typically more appropriate for a developer forum. It invites other developers to share their experiences and solutions, which can often lead to helpful discussions and workarounds.
Hello!I am trying to learn the Photoshop API and keep getting:{ "error_code": "401013", "message": "Oauth token is not valid"} I have deleted and created new Projects and removed and assigned the Photoshop API with new credentials several times and ensured I am pulling fresh api_keys and tokens repeatedly. I'm testing via Postman. Is there something basic I'm overlooking in my request? In Postman I've got it set as a Post method, Auth Type OAuth 2.0 with the header prefix "Bearer" set in the options even though it's not showing below in Postman's code view. I've tried manually pasting in the credentials as well as downloading the .json package for Postman from the credentials page in the project. In addition to postman, I've tried via various Node and Python scripts, including one that I had previously worked correctly with FireFly services when our company was doing a trial. This round though is just me as an individual using my individual account though
The following post shows how to activate items in the PLUGINS drop down menu of Photoshop using UXP. https://forums.creativeclouddeveloper.com/t/question-about-migrating-cep-plugin-to-uxp/3974/5 It includes the lineconst plugins = menuBar.submenu.find(item => item.menuID === 7200)My question is .... what is the item.menuID number for the EDIT drop down menu? The context here is that ‘Undo’ is an item in the Edit drop down menu which I wish to address. Currently, I have written a plugin where users can hit ‘Undo’ (say) 6 times if they don’t like the outcome and want to revert to the original state. I would like to provide a button which the user can click in order to automatically instigate 6 'undos'.
I followed the exmaple implementation for AWS s3 to create signedUrl. Instead of AWS, I want to use Google cloud storage. But unfortunately, I am getting "'HTTP PUT failed, RetryException: PUT'" error in the errorDetail field of the response.I executed a PUT request on returning the URL in the "output" section of the response. It worked. The error message is very poorly designed and doesn't provide any other details or directions to follow. It would be nice to get support on this:Function to generate signed_url:def get_presigned_url(bucket_name, path, operation, expires_in=3600): """ Generates a presigned URL for a Google Cloud Storage object. :param bucket_name: The name of the GCS bucket. :param path: The name of the blob in the GCS bucket. :param operation: The operation ('read' or 'write'). :param expires_in: Expiration time in seconds. :return: A presigned URL. """ storage_client = storage.Client() bucket = storage_client.bucket(bucket
Just sharing here, but there's a post on the AWS blog about Photoshop API integration. Read it here: https://aws.amazon.com/blogs/apn/scaling-image-manipulation-workflows-with-adobe-photoshop-api-on-aws/
Hello Guys, I have created a photoshop script which is activated by connecting to my wordpress website to the license manager plugin and when the code is inserted into the script , it checks if the user license is active on the server to enable the script .Is that possible to do ? i have tested this code : The script code : function verifyLicenseKey() {var licenseKey = prompt("Enter your license key:", "");var email = prompt("Enter your email:", ""); if (licenseKey && email) {var url = "https://websitelinkdemo.com/api/proxy.php?license_key=" + encodeURIComponent(licenseKey) + "&email=" + encodeURIComponent(email); try {var result = httpRequest(url);if (result && result.success) {alert("License key is valid.");main(); // If license is valid, run the main function} else {alert("Invalid or expired license key.");}} catch (e) {alert("Failed to verify the license key. Error: " + e.message);}} else {alert("You need to enter both a license key and an email to u
I am wondering, when creating a app and adding the Photoshop API it displays a quota of 5000 calls. This brings up a few questionsis this 5000 calls per month or when will they reset?is this only in test mode, and will there be a increased quota when publishing the app?is there any way of increasing the quota limit?I could not find any information on the quota applied to the Photoshop API and am wondering, for a real world production app 5000 calls seem very few?
Hi, I am working on an automation project using Photoshop API using the JSON actions. Output is a transparent image but when I save the file transparency is lost. I did not see any option in Output to preserve Transparency. is there any other way to save the image by preserving transparency? Thanks,
We are experiencing an issue with a paid font we are using in the Photoshop API. Although we have downloaded the fonts from the website and are attempting to use them in the Photoshop API to generate text, the font is not being applied correctly.Interestingly, we are also using some Google Fonts which are working perfectly fine.Below, I have attached the code we are using. Could you please help us resolve this issue as soon as possible? Alternatively, any hints or suggestions that might help us troubleshoot the problem would be greatly appreciated.the fonts we are usinglink1 - https://morisawafonts.com/fonts/228/link2- https://lets.fontworks.co.jp/fonts/75
Hello, I use the API to rename a layer via the Edit Text endpoint.When I send the call I get a message that the font doesn’t exist, I tried several fonts and didn’t succeed.Can somone guide to a solution?
Hello,Photoshop API has a limit of 500.I can't find the adobe Photoshop API pricing page, what should I do?Can I apply for the service?https://developer.adobe.com/photoshop/api/faq/pricing.mdhttps://developer.adobe.com/photoshop/api/faq/Any information would be appreciated.Thanks.
Dear forum peopleAnd people with great programming experienceI am working on creating a magazine in Photoshop, which consists of distributing the texts on the page evenly and with good layoutI know that InDesign is excellent at such things, but I am not good at working on itI found this code to divide the text into columns very well, but it is excellent at distributing the text from left to rightBut the project I am working on requires me to do the opposite, which is to create and distribute texts from right to left. I have tried a lot to modify this code to help me, but I have failed.Now I have come to you so that you can help me, please, pleasethis code : //------------------------------------------------------------------------------ // File: "[M] Text columns 1.1.jsx" // Version: 1.1 // Release Date: 21. 4. 2018 // Copyright: © 2018 Jaroslav Bereza <http://bereza.cz> // Licence: GPL <http://www.gnu.org/licenses/gpl.html> //------------------------------------------
Im trying to write a piece of python code that can take all the contents CSV file and import it as a dataset, my code is pretty buggy and rough and my output is really long but its replacing all the text variables just fine, my problem is it wont change COVER as its value is a path to the image that Im trying to replace with. my CSV headers are TEST1 ,TEST2 ,TEST3 ,TEST4 ,COVER, and the layer names match them identically, if anyone is able to give me a hand that would be greatly appreciated ive been on this for like a month heres the code that I have import comtypes.clientimport pandas as pddef open_PS(template_path😞 try: ps_app = comtypes.client.GetActiveObject("Photoshop.Application") except OSError: ps_app = comtypes.client.CreateObject("Photoshop.Application") ps_doc = ps_app.Open(template_path) ps_app.Visible = True r
I am using the Photoshop API for image processing in conjunction with other web programs and have encountered a limitation of 500 calls, which significantly hampers our operational capabilities. We apply specific effects to images, and this call limit restricts our ability to effectively process images across platforms. Does anyone have experience with increasing this limit or know of alternative solutions that could help mitigate this problem? Any advice or suggestions on integrating these APIs more efficiently would be greatly appreciated!
Creating a script to automatically cut PSD files. The conditions are as follows.1. Select multiple PSD files and a storage location.2. Open the corresponding psd file.3. In all psd files, create a guide line with an interval of 5110px or less in a place that is not above text, shape, and smart object.4. Take the location of the guide line, crop it, and save it.5. When cropping, remove all off-screen layers. The parts that are not currently in progress are No. 3 and No. 5. Especially for No. 3, a guide line is created and cropped on the text, shape, and smart object. In case of No. 5, the separately produced one works well, but when I try to match the two codes, the layers outside the screen are not removed. How can I fix the code? /* crop_psd_auto.jsx */ var selectFiles = File.openDialog("select file", "*.psd;*.psb;", true); // multiselect var saveFolder = Folder.selectDialog("select folder"); for (var index = 0; index < selectFiles.length; index++) { var
For some reason all of a sudden when I make a selection and try to use Gen Fill task bar the bar greys out and only Deselect shows. I can use all the selection tools, but as soom as I complete the selection the task bar greys out with only Delselect active. I've sign in and out of the Creative Cloud, and I know I haven't used all my 500 credits. This happens with both Regular Photoshop and Beta version. Any ideas and help on how to fix this would be greatly appreciated. Thanks, Dennis
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!
I've managed to write javascript or C# to automate some tasks in photoshop. But javascript is slow, C# requires .NET runtime. I managed to get the IDL file of Photoshop which helps me use OLE automation in WIN32 API, but no document is found regarding how to use these interface methods in C++. For example, there is such "ExecuteAction" method in interface "_Application" with signature: [id(0x506c6179), helpstring("play an ActionManager event")] _ActionDescriptor* ExecuteAction( [in] long EventID, [in, optional] VARIANT Descriptor, [in, optional] VARIANT DisplayDialogs);I don't know how to pass the "VARIANT Descriptor" to it, what type should I set the VARIANT to, a dispatch interface pointer? And the "VARIANT DisplayDialogs", an integer?
hello.Our team has subscribed to an enterprise Photoshop license in order to use the Photoshop photo correction API in the app currently being developed.However, the previous person in charge said, ‘We cannot use the API with just a corporate Photoshop license, and we have to apply for an API partnership.’ 1. Is this true?2. So where should I apply and inquire about API partnership?3. Is there any contact information for the department in charge where I can inquire about API-related questions to Adobe? In the consultation chat on the Adobe site, I was told to check both of the above details in this forum.I would really appreciate your help. Thank you.
I have followed all the steps given in the adobe documentation, I am facing issues with the imsToken and api key.I have provided those credentials from the aem cloud prod environment by creating the project and generating the tokens. After providing the proper tokens and apikey, still I am getting the error like below I have followed this doecument : https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/assets/manage/asset-selector can someone help me out on this ?
请问adobe photoshop官方,中国大陆地区如何才能购买photoshop API?感谢您的答复!
I have a JSON file with all the metadata needed of the Original PSD File, it looks the follow.The dimension will be the canvas size and each layer has its layername which will also be the name of the corresponding image in the same folder as the json file. and has the layer dimension and position coordinates. Can this be done through jsx? I tried doing but it was messing up with the image and canvas sizes. Thankyou{ "dimensions": { "width": 600, "height": 500 }, "layers": { "BG": { "layer_number": 1, "bounding_box": { "position": { "left": 0, "top": 0 }, "dimensions": { "width": 600, "height": 500 } } }, "icon_parade_5": { "layer_number": 2, "bounding_box": { "position": { "left": 31,
Hi All, Currently we are using python 3.11 with boto3 package to create presigned URL for AWS S3.Which is a tedious job to handle like creating another EC 2 instance to convert this into API FYI:Step 1) Run the Python code to create presigned URLstep 2) Use the generated presigned URL in the below API to create the Job Idhttps://image.adobe.io/pie/psdService/actionJSONstep 3) Paste the Job id to get the outputhttps://image.adobe.io/pie/psdService/status/<jobid> We are looking for automated API soluton at step 1 to create presigned URL.Any solution pls suggest. Thanksvijay
Hi, I'm trying to implement the photoshop api and more precisely the "remove background" endpoint.I'm still doing test with Postman, and I don't understand, or I didn't found the documentation related to the output url.We're using custom solutions (PHP/Symfony) and don't want to go through AWS, Google drive, Azure or Dropbox to get the result.I've got a web server, with an url open in POST/PUT where I just log the complete request (trying to understand what the api is really returning), With postman, I use the endpoint "https://image.adobe.io/sensei/cutout" to create my job (as explained in https://developer.adobe.com/photoshop/photoshop-api-docs/api). I use my logging url as output.href string value. As for the 'storage' value, is "external" since it's not any of the solutions cited above. When I check the status of the job, I was first getting certificate errors.-> Updated my server with a valid certificate, problem solved.Now my job have an oth
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.