Export
MCP tools that write photos to files, and stop long jobs.
export_photos
Section titled “export_photos”Export photos. Export photos as edited to JPEG, PNG, TIFF or EXR. settings takes the Export dialog’s fields by name (format, jpeg_quality, resize, long_edge, folder, name, metadata, location, tiff_encoding, exr_encoding, exr_half, primaries); fields left out keep the last export’s. Never overwrites a file. Returns a job: finished with the files written when it ends within about 20 s, else running (follow it with get_jobs).
Bridge method: export.start
| Parameter | Type | Required | Details |
|---|---|---|---|
ids |
array of integer | yes | Photo ids from search_photos (at most 1000). Not empty, at most 1000 items. |
settings |
object | ||
catalog |
string | A catalog from list_catalogs; omitted, the one DarkRay shows. |
Python: app.export_photos(…)
from darkray_bridge import DarkRay
with DarkRay.connect() as app: picks = [photo.id for photo in app.iter_photos("flag:pick kw:portfolio")]
# The Export dialog's fields by name; fields left out keep the last export's. job = app.export_photos(picks, settings={ "format": "jpeg", "jpeg_quality": 90, "resize": True, "long_edge": 2048, "folder": r"D:\Exports\Portfolio", "name": "{date}_{name}", }) files = job.wait().result["files"]cancel_job
Section titled “cancel_job”Cancel a job. Stop an export, import or merge; files already written stay.
Bridge method: jobs.cancel
| Parameter | Type | Required | Details |
|---|---|---|---|
id |
string | yes |
Python: app.cancel_job(…)
from darkray_bridge import DarkRay
with DarkRay.connect() as app: # Stop every running export; files already written stay. for job in app.get_jobs(): if job.kind == "export" and job.running: app.cancel_job(job.id)