Skip to main content
Inspiring
March 1, 2023
Question

Photoshop scripting vs ChatGPT

  • March 1, 2023
  • 2 replies
  • 3404 views

EDIT: 

I had a post about ChatGPT, I deleted it. It is unclear if using ChatGPT in conjunction with photoshop error codes is against adobe TOS. Error codes are technically derived from the software or service. Instructions by third parties that are not hosted on any Adobe website or third party website Adobe-owned account (github), and that are not authored by Adobe may be fair training material. Below is the TOS. 

Misuse of service:
6.18 use any data mining or similar data gathering and extraction methods in connection with the Services and Software, including data scraping for machine learning or other purposes;

Basically you can't use data mining in conjunction with machine learning but 6.18 does not explicitly say no machine learning. 

17 states no machine learning. 

17. No Modifications, Reverse Engineering, Artificial Intelligence/Machine Learning (AI/ML). Certain elements of the Services and Software constitute our (or our licensors’) confidential information. Except as expressly permitted in the Terms, you may not (and will not allow third parties to) (A) modify, port, adapt, or translate any portion of the Services or Software; (B) reverse engineer (including but not limited to monitoring or tracking the inputs and outputs flowing through a system or an application in order to recreate that system), decompile, disassemble, or otherwise attempt to discover, within any Service or Software, the source code, data representations or underlying algorithms, processes, methods, and any other portion of such Service or Software; or (C) use, or allow third parties to use, the Services or Software (or any content, data, output, or other information received or derived from the Services or Software) to directly or indirectly create, train, test, or otherwise improve any machine learning algorithms or artificial intelligence systems contained within the Services or Software, including any architectures, models, or weights (which is considered Adobe’s confidential and proprietary information). If the laws of your jurisdiction give you the right to decompile the Services or Software to obtain information necessary to render the licensed portions of the Services or Software interoperable with other software, you must first request such information from us. We may, in our discretion, either provide such information to you or impose reasonable conditions, including a reasonable fee, on your decompilation of the Services or Software to ensure that our and our licensors’ and suppliers’ proprietary rights in the Services and Software are protected.

17(C) states you can't use content to teach third parties machine learning based on information derived from Services or Software. 

(collectively, the “Services”):
use of and access to our websites, web-based applications and products, customer support, discussion forums or other interactive areas or services, and services such as Creative Cloud

(collectively, the “Software”):
your installation and use of any software that we include as part of the Services, including, without limitation, mobile and desktop applications, Sample Files and Content Files (defined below), scripts, instruction sets, and related documentation


So you can't use anything derived from the services or software to train it. It seems non-users have more leeway to use machine learning since they did not enter into an agreement, did not install any software, did not access any adobe-owned website or otherwise adobe-authored document. If you only use third party websites and third party-authored content, and you were not in an agreement with adobe, would machine learning then be allowed?

This topic has been closed for replies.

2 replies

Inspiring
March 2, 2023

- Have you considered looking at UXP instead of ExtendScript CC2019?

Afaik, you are not able to train chatgpt yourself in a "123 and you're done" type of fashion. Ie: it takes a serious effort.

Therefore, training it on a legacy language does not seem worthwile to me.

 

- 16 & 17 says "no machine learning" in the context of attempting to reverse engineer Adobe's code.

Stating "you cannot use AI/ML/xyz" without stating what for, implies you are barred from using xyz all together.

The context surrounding it pertains to reverse engineering.

Making a script is not reverse engineering.

 

How you write your script has little to do with Adobe.

Ie: you are allowed to write your script on paper, scan it, OCR it, save it as pdf, export the pdf to jsx file.

It would be silly, but this particular 'how' is not under the "jurisdiction" of Adobe.

In this process, you have used AI/ML by using OCR. Which is, in my opinion at least, not an illegal use.

That said, in my opinion, you're allowed to use (training being a form of using) a model to help you script.

 

As an analogue, GitHub made "GitHub Copilot" to do exactly that. Only, for more common languages.
In fact, it is rapidly becoming industry standard practice to script/program using exactly what you are describing.
 
CoPilot already handles TypeScript so I wouldn't be surprised if it will handle UXP in the future.
 

 

Inspiring
March 3, 2023

Thanks for the response with context. That is helpful. 

In a chatgpt thread it remembers what you type. For photoshop for example, if you can get each classes properties/methods/static methods with descriptions in some sort of structured data (excel/gsheet) you can write conversational explanations on how to use them and create paragraphs for it with example code. You take the paragraphs and add them all together into ~3000 word parts (4000 token max input) and send to the chat window. After that it will have a better understanding of whatever given API / language, or have a slightly altered understanding of it's application if you are creating custom descriptions (in those initial spreadsheets) for your intended use case. 

It turns out it is already trained on adobe scripting I was just thinking of trying to make it better for what I'm doing (trying to make it make less mistakes), like knowing the difference between colorSampler and colorSamplers or simply being better at writing complex code like working with bridgetalk across multiple adobe apps and switching between the correct scripting reference when it does that. 

I was not sure if that violates TOS. Adobe might want to have the best trained adobe AI for it's products which would cause it to deter others from training another company's AI. 

If "GitHub Copilot" is already doing that then it may be fine. Thanks for mentioning that. 

Inspiring
March 6, 2023

You're welcome. 🙂

 

Quick note:

When "training" cgpt in a conversation, you can indeed add data, but it is not guaranteed to identically reproduce the data you have fed it. You will not have fed the data in a way that is guaranteed to make systematic sense to the model. It might intepret it different to your intent. Ie: a variable name is interpreted as code.

Lastly, "training" it this way guarantees that your work is not reusable by anyone else*. The data is kept in that instance. It is not fed to the model. Lose the session/conversation = Lose all the work.

 

*For that, you'd need to train it using the API and open up that trained instance to the world.

A starting point for which you can find here: https://platform.openai.com/docs/guides/code/best-practices

 

Very interested to see what you'll be doing with this! 😄

 

Legend
March 1, 2023

I would check the terms of use for this site before doing any data scraping.

 

Having said that, I assume we will be seeing a lot more use of AI for coding in the future.

Inspiring
March 1, 2023

That is a great point. I knew it may disgruntle individual programmers but I forgot about Adobe as a corporation. Good feedback.Thank you.