Skip to main content

Python API for Photoshop.

Project description

logo

python version PyPI version Downloads Status Downloads License pypi format Chat on Discord Maintenance Bump version pages-build-deployment Documentation Status photoshop-2024 photoshop-2023 photoshop-2022 photoshop-2021 photoshop-2020 photoshop-CC2019 photoshop-CC2018 photoshop-CC2017

All Contributors

Python API for Photoshop.

The example above was created with Photoshop Python API. Check it out at https://loonghao.github.io/photoshop-python-api/examples.

Has been tested and used Photoshop version:

Photoshop Version Supported
2025
2024
2023
2022
2021
2020
cc2019
cc2018
cc2017

Installing

You can install via pip.

pip install photoshop_python_api

Since it uses COM (Component Object Model) connect Photoshop, it can be used in any DCC software with a python interpreter.

Hello World

import photoshop.api as ps
app = ps.Application()
doc = app.documents.add()
new_doc = doc.artLayers.add()
text_color = ps.SolidColor()
text_color.rgb.red = 0
text_color.rgb.green = 255
text_color.rgb.blue = 0
new_text_layer = new_doc
new_text_layer.kind = ps.LayerKind.TextLayer
new_text_layer.textItem.contents = 'Hello, World!'
new_text_layer.textItem.position = [160, 167]
new_text_layer.textItem.size = 40
new_text_layer.textItem.color = text_color
options = ps.JPEGSaveOptions(quality=5)
# # save to jpg
jpg = 'd:/hello_world.jpg'
doc.saveAs(jpg, options, asCopy=True)
app.doJavaScript(f'alert("save to jpg: {jpg}")')

demo

Photoshop Session

Use it as context.

from photoshop import Session


with Session(action="new_document") as ps:
    doc = ps.active_document
    text_color = ps.SolidColor()
    text_color.rgb.green = 255
    new_text_layer = doc.artLayers.add()
    new_text_layer.kind = ps.LayerKind.TextLayer
    new_text_layer.textItem.contents = 'Hello, World!'
    new_text_layer.textItem.position = [160, 167]
    new_text_layer.textItem.size = 40
    new_text_layer.textItem.color = text_color
    options = ps.JPEGSaveOptions(quality=5)
    jpg = 'd:/hello_world.jpg'
    doc.saveAs(jpg, options, asCopy=True)
    ps.app.doJavaScript(f'alert("save to jpg: {jpg}")')

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Hal
Hal

💻
voodraizer
voodraizer

🐛
brunosly
brunosly

🐛
tubi
tubi

🐛
wjxiehaixin
wjxiehaixin

🐛
罗马钟
罗马钟

🐛
clement
clement

🐛
krevlinmen
krevlinmen

🐛
Thomas
Thomas

🐛
CaptainCsaba
CaptainCsaba

🐛
Il Harper
Il Harper

💻
blunderedbishop
blunderedbishop

🐛
MrTeferi
MrTeferi

💻
Damien Chambe
Damien Chambe

💻
Ehsan Akbari Tabar
Ehsan Akbari Tabar

🐛
Michael Ikemann
Michael Ikemann

🐛
Enguerrand DE SMET
Enguerrand DE SMET

💻
Proton
Proton

💻

This project follows the all-contributors specification. Contributions of any kind are welcome!

Repobeats analytics

Repobeats analytics

how to get Photoshop program ID

Get-ChildItem "HKLM:\SOFTWARE\Classes" | 
  ?{ ($_.PSChildName -match "^[a-z]+\.[a-z]+(\.\d+)?$") -and ($_.GetSubKeyNames() -contains "CLSID") } | 
  ?{ $_.PSChildName -match "Photoshop.Application" } | ft PSChildName

get_program_id

How to get a list of COM objects from the registry

Useful links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

photoshop_python_api-0.22.8.tar.gz (54.5 kB view details)

Uploaded Source

Built Distribution

photoshop_python_api-0.22.8-py3-none-any.whl (69.9 kB view details)

Uploaded Python 3

File details

Details for the file photoshop_python_api-0.22.8.tar.gz.

File metadata

  • Download URL: photoshop_python_api-0.22.8.tar.gz
  • Upload date:
  • Size: 54.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for photoshop_python_api-0.22.8.tar.gz
Algorithm Hash digest
SHA256 49cf30aecf0a307c62a8d0cade22cea58cf154c057f94c3dfbe99bab50cbfaa3
MD5 212cf591dd10727d3419729bfe64aab2
BLAKE2b-256 1666e2a2abafe18ff0966972406973e866cfdf6a4d5cd877ee1b8d165ab5a6e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for photoshop_python_api-0.22.8.tar.gz:

Publisher: python-publish.yml on loonghao/photoshop-python-api

Attestations:

File details

Details for the file photoshop_python_api-0.22.8-py3-none-any.whl.

File metadata

File hashes

Hashes for photoshop_python_api-0.22.8-py3-none-any.whl
Algorithm Hash digest
SHA256 aef7716c712d30b9c7732b67c786bff2d861093f52dac82095d043d2adc8fd8e
MD5 87ab5236138f08d4912ab2fb983b857e
BLAKE2b-256 21c1daec2d083df3c2c51515c1679ceaf9e3133e0e0b8f82d9f278dcf99b85a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for photoshop_python_api-0.22.8-py3-none-any.whl:

Publisher: python-publish.yml on loonghao/photoshop-python-api

Attestations:

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page