Input JSON
{
"file_base64": "PSD file, 100x60, 10.9 KB, base64 in the real request",
"include_text": true
}
Attest tools · Photoshop file inspector
Read the text content of a sample PSD heading by enabling text-layer output.
{
"file_base64": "PSD file, 100x60, 10.9 KB, base64 in the real request",
"include_text": true
}{
"input_source": "file",
"url": null,
"final_url": null,
"http_status": null,
"file_bytes": 11126,
"format": "psd",
"width": 100,
"height": 60,
"mode": "rgb",
"bit_depth": 8,
"channels": 4,
"resolution": {
"horizontal": 300,
"horizontal_unit": "PPI",
"vertical": 300,
"vertical_unit": "PPI",
"width_unit": "Inches",
"height_unit": "Inches"
},
"color_profile": {
"present": false,
"name": null
},
"layers": [
{
"name": "Background",
"type": "raster",
"visible": true,
"opacity": 1,
"fill_opacity": null,
"blend_mode": "normal",
"bounds": {
"top": 0,
"left": 0,
"bottom": 60,
"right": 100,
"width": 100,
"height": 60
},
"clipping": false,
"has_mask": false,
"has_vector_mask": false,
"effects": [],
"locked": []
},
{
"name": "Copy",
"type": "group",
"visible": true,
"opacity": 1,
"fill_opacity": null,
"blend_mode": "pass through",
"bounds": {
"top": 0,
"left": 0,
"bottom": 0,
"right": 0,
"width": 0,
"height": 0
},
"clipping": false,
"has_mask": false,
"has_vector_mask": false,
"effects": [],
"locked": [],
"children": [
{
"name": "Heading",
"type": "text",
"visible": true,
"opacity": 1,
"fill_opacity": null,
"blend_mode": "normal",
"bounds": {
"top": 4,
"left": 4,
"bottom": 4,
"right": 4,
"width": 0,
"height": 0
},
"clipping": false,
"has_mask": false,
"has_vector_mask": false,
"effects": [],
"locked": [],
"text_style": {
"font_names": [
"ArialMT"
],
"font_sizes": [
18
],
"fill_colour": "#000000",
"faux_bold": false,
"faux_italic": false,
"underline": false,
"alignment": "left",
"orientation": "horizontal",
"shape_type": "point",
"character_count": 10
}
}
]
}
],
"layer_count": 3,
"layers_truncated": false,
"text_truncated": false,
"counts": {
"total": 3,
"groups": 1,
"text": 1,
"smart_objects": 0,
"adjustments": 0,
"shapes": 0,
"raster": 1,
"hidden": 0,
"with_effects": 0,
"with_mask": 0,
"clipping": 0
},
"fonts": [
"ArialMT"
],
"fonts_truncated": false,
"text_layers": [
{
"name": "Heading",
"path": "Copy/Heading",
"visible": true,
"style": {
"font_names": [
"ArialMT"
],
"font_sizes": [
18
],
"fill_colour": "#000000",
"faux_bold": false,
"faux_italic": false,
"underline": false,
"alignment": "left",
"orientation": "horizontal",
"shape_type": "point",
"character_count": 10
},
"text": "Care guide"
}
],
"smart_objects": [],
"adjustment_layers": [],
"guides": [
{
"direction": "vertical",
"location_px": 20
},
{
"direction": "horizontal",
"location_px": 15
}
],
"grid": {
"horizontal_px": 18,
"vertical_px": 18
},
"created_with": null,
"preview": {
"requested": false,
"included": false,
"reason": null,
"source": null,
"format": null,
"width": null,
"height": null,
"bytes": null
},
"limits": {
"max_file_bytes": 6291456,
"max_layers_returned": 5000,
"max_text_characters_returned": 500000,
"max_fonts_returned": 200,
"max_preview_px": 1024,
"max_preview_canvas_bytes": 67108864,
"readable_color_modes": [
"bitmap",
"grayscale",
"indexed",
"rgb"
]
},
"source": "Read from the file's own Photoshop structures — the file header, the image resource blocks and the layer records — with the ag-psd reader. General information about what the file declares about itself, not a check that it opens cleanly in any particular version of Photoshop.",
"checked_at": "2026-10-20T20:47:49.700Z"
}curl -s -X POST https://getattest.com.au/api/v1/psd/inspect \
-H "authorization: Bearer $ATTEST_API_KEY" \
-H "content-type: application/json" \
--data-binary @request.jsonRun this call with your own bearer key. Save the complete input as request.json, replacing file descriptions with your own base64 file content and any truncated text with the full text. Issue an API key.
The input was validated and run locally through the registered service. The output above is a display preview of the captured service result. File bytes are described instead of printed, and strings longer than 400 characters are truncated; the HTTP API also adds call_id, credits_charged and credits_remaining. Timestamps and generated identifiers will vary.
Source: apps/api/svc/psd_inspect.mjs