Sympli Photoshop

Layer
Object
id
number

Unique layer id

index
number

sequential layer index

type
string
Enumeration:
layer
shapeLayer
layerSection

folder with layers

textLayer
adjustmentLayer
backgroundLayer
name
string
text
LayerText nullable
bounds
boundsWithFX
visible
boolean
clipped
boolean
layers
Array of Layer nullable
fill
Fill nullable
path
string nullable
layerEffects
blendOptions
unknown nullable
artboard
Object nullable
artboardRect

Artboard bounds within the document.

smartObject
unknown nullable
mask
MaskInfo nullable
protection
unknown nullable
Bounds
Object
top
number
left
number
bottom
number
right
number
MaskInfo
Object
bounds
extendWithWhite
boolean
Types: Layer
LayerText
Object
textKey
string
textClickPoint

offset in percentUnits with values 0…100

boundingBox

Position of the text shape relative to the text box or text start point.

bounds
textShape
Array of TextShape

Not sure if we can have more than 1 shape per layer.

textStyleRange
Array of TextStyleRange
paragraphStyleRange
textGridding
string
Enumeration:
none
antiAlias
string
Enumeration:
antiAliasCrisp
antiAliasSharp
antiAliasStrong
antiAliasSmooth
antiAliasPlatformLCD
antiAliasPlatformGray
Types: Layer
UnitType
string
Enumeration:
angleUnit
percentUnit
pointsUnit
Types: Units
UnitsBounds
Object
top
left
bottom
right
Types: LayerText
TextTransformation

It’s transformation matrix. Google it for more details.

Object
xx
number

x-scale

yy
number

y-scale

xy
number

x-skew

yx
number

y-skew

tx
number

translation (position) of x

ty
number

translation (position) of y

Types: TextShape
TextStyleRange
Object
from
number
to
number
textStyle
Types: LayerText
Color

Really in photoshop there are many kinds of color modes. Currently we support RGB only. Each component might be fractional number.

Object
red
number
green
string
blue
number
TextStyle

Keep in mind that if default fonts size is in px then all points values will be numbers.

Object
fontName
string
fontStyleName
string

Name of current font face. It’s part of the font intself.

Enumeration:
Regular
Narrow
Bold
Black
Bold Italic
size

Font size in pointsUnit.

color
syntheticItalic
boolean nullable
syntheticBold
boolean nullable
underline
string nullable
Enumeration:
underlineOnLeftInVertical
markYDistFromBaseline

pointsUnit

digitSet
string
Enumeration:
arabicDigits
impliedBaselineShift

pointsUnit

impliedFontSize

pointsUnit

japaneseAlternate
string
Enumeration:
defaultForm
baselineDirection
string
Enumeration:
withStream
strikethrough
string nullable
Enumeration:
xHeightStrikethroughOn
baseline
string nullable
Enumeration:
subScript
superScript
fontCaps
string nullable
Enumeration:
allCaps
smallCaps
fontPostScriptName
string
fontTechnology
number

usually 1

Fill

Check nested types (SolidFill, GradientFill and pattern fill) for additional details.

Object
class
string
Enumeration:
gradientLayer
solidColorLayer
patternLayer
SolidFill
All of
Object
color
EffectsCollection
Object
dropShadow
dropShadowMulti
Array of DropShadowFx
innerShadow
unknown
outerGlow
unknown
innerGlow
unknown
bevelEmboss
unknown
chromeFX
unknown

satin

frameFX
unknown

stroke, if set frameFXMulti is null.

frameFXMulti
Array of unknown

Multiple stroke. If set frameFX is null.

solidFill

solid fill

solidFillMulti
Array of SolidFillFx

Multiple solid fill

gradientFill
gradientFillMulti
Array of GradienFillFx
Types: Layer
Effect
Object
mode
string nullable

Blending mode

Enumeration:
multiply
overlay
screen
enabled
boolean

Indicates whether fx is enabled or not.

opacity

Effect opacity in percentUnit 0…100

GradientFillDetails
All of
Object
name
string

Preset name or user defined name

gradientForm
string

Type of gradient stops. Always customStops

interfaceIconFrameDimmed
number

Always 4096. Stops is collection if stop points which have values from 0 to interfaceIconFrameDimmed.

colors
Array of ColorStop
transparency
Array of OpacityStop
Types: GradientFill
GradientStop
Object
location
number

Location is value between 0 and interfaceIconFrameDimmed (always 4096)

midpoint
number

Midpoint is “strength” from 0 to 100. By defailt it’s 50. It means that interpolation is normal.

Types: OpacityStop
OpacityStop
All of
Object
opacity

Opacity in “percentUnit” 0…100

ColorStop
Object
color
type
string

Usually it’s userStop. Never saw anything else.

GradientFill
Object
dither
boolean
type
string

Gradient type. Reflected - is double side linear gradient.

Enumeration:
linear
diamond
reflected
angle
radial
angle

Units = angleUnit

scale

units = percentUnit

reverse
boolean
align
boolean

align to the layer

offset

in percentUnit

UnitsOffset
Object
horizontal
vertical
GradienFillFx
All of
SolidFillFx
All of
Object
opacity

Opacity in percentUnit. Value 0…100

color
ShadowTransferSpec
Object
name
string
curve
Array of Offset

control points can have values from 0 to 255

Types: DropShadowFx

Examples

Simple linear gradient for shadow

{
    "name": "Linear",
    "curve": [
        {
            "horizontal": 0,
            "vertical": 0
        },
        {
            "horizontal": 255,
            "vertical": 255
        }
}
Offset
Object
horizontal
number
vertical
number
DropShadowFx
Object
color
opacity

percentUnit

useGlobalAngle
boolean
Default:
true
localLightingAngle

angleUnit

distance
number
chokeMatte
number
Default:
0
blur
number
noise

percentUnit

antiAlias
boolean
Default:
false
layerConceals
boolean
Default:
true
transferSpec

check ShadowTransferSpec

ParagraphStyle
Object
align
string
Enumeration:
left
right
center
justifyLeft
justifyRight
justifyCenter
justifyAll
firstLineIndent

Indent of the first line

startIndent

left margin

endIndent

right margin

spaceBefore

space before the paragraph

spaceAfter

space after the paragraph

impliedFirstLineIndent

Indent of the first line recalculated using transformation matrix

impliedStartIndent

left margin recalculated using transformation matrix

impliedEndIndent

right margin recalculated using transformation matrix

impliedSpaceBefore

space before the paragraph recalculated using transformation matrix

impliedSpaceAfter

space after the paragraph recalculated using transformation matrix

ParagraphStyleRange
Object
from
number
to
number
paragraphStyle
Types: LayerText
TextShape

Depending on char value object can be extended with TextShapeBox, TextShapePaint or TextShapeCurve

Object
char
string
Enumeration:
box

stands for text box

paint

just simple text without box

onACurve

text on a curve

orientation
string
Enumeration:
horizontal
rowCount
number
columnCount
number
rowMajorOrder
boolean
rowGutter

pointsUnit

columnGutter

pointsUnit

spacing

pointsUnit

frameBaselineAlignment
string
Enumeration:
alignByAscent
firstBaselineMinimum

pointsUnit

TextShapeBox
All of
Object
bounds

Text box bounds. Left and top are just 0. So it’s useful for width and height only.

TextShapePaint
All of
Object
base
TextShapeCurve
All of
Object
path
unknown
flip
boolean
pathTypeEffect
string
Enumeration:
rainbowEffect
pathTypeAlignment
string
Enumeration:
baselineAlignment
pathTypeAlignTo
string
Enumeration:
toPathTop
pathTypeSpacing
number
tRange
Object
saturation
number
end
number