Rawed+ amb agents d’IA
Rawed+ inclou un servidor MCP, rawed-mcp, perquè agents d’IA com Claude Code, Claude Desktop o Codex editin, triïn i exportin les teves fotos. Aquí tens com configurar-lo, què demanar-li, com funciona la privadesa i totes les eines.
Requisits
- Rawed+, durant la prova de 14 dies o amb llicència. Rawed del Mac App Store no admet agents, però desbloqueja Rawed+ al mateix Mac.
- macOS 26 o posterior
- Una app d’agent d’IA que pugui executar un servidor MCP local, com Claude Code, Claude Desktop, Codex CLI o Cursor
Activa l’accés dels agents
Obre Rawed+, tria Rawed+ › Configuració, fes clic a Agents d’IA i activa Permetre que els agents d’IA utilitzin Rawed. Ajuda › Utilitzar Rawed amb agents d’IA… obre el mateix tauler. També hi veuràs les ordres de sota amb el camí de la teva còpia de l’app i quin agent està connectat.
Connecta el teu agent
Les ordres de sota donen per fet que Rawed+ és a la carpeta Aplicacions. Si el tens en un altre lloc, copia-les des de Configuració › Agents d’IA.
Claude Code
Executa aquesta ordre al Terminal. --scope user fa que Rawed estigui disponible a tots els teus projectes. Després, obre una sessió nova de Claude Code.
claude mcp add --scope user rawed -- "/Applications/Rawed+.app/Contents/MacOS/rawed-mcp"
Claude Desktop
A Claude Desktop, tria Settings › Developer › Edit Config. Es mostra claude_desktop_config.json, que és a ~/Library/Application Support/Claude. Afegeix-hi l’entrada rawed de sota; si el fitxer ja té mcpServers, posa-la a dins. Desa el fitxer, surt de Claude Desktop i torna’l a obrir.
{
"mcpServers": {
"rawed": {
"command": "/Applications/Rawed+.app/Contents/MacOS/rawed-mcp"
}
}
}
Codex CLI
Executa aquesta ordre al Terminal:
codex mcp add rawed -- "/Applications/Rawed+.app/Contents/MacOS/rawed-mcp"
O afegeix aquestes línies a ~/.codex/config.toml:
[mcp_servers.rawed]
command = "/Applications/Rawed+.app/Contents/MacOS/rawed-mcp"
Cursor i altres clients MCP
Afegeix Rawed com a servidor MCP local (stdio). Cursor (~/.cursor/mcp.json) i la majoria dels altres clients accepten aquest JSON:
{
"mcpServers": {
"rawed": {
"command": "/Applications/Rawed+.app/Contents/MacOS/rawed-mcp"
}
}
}
Als clients que només demanen una ordre, dona’ls aquest camí:
/Applications/Rawed+.app/Contents/MacOS/rawed-mcp
No cal tenir Rawed+ obert. La primera vegada que l’agent fa servir una eina, rawed-mcp l’obre en segon pla. Si l’accés dels agents està desactivat, les eines responen amb un missatge que indica on activar-lo.
Com funcionen les eines
- Totes les eines que actuen sobre fotos en reben els camins. Res no depèn del que mostri Rawed ni del que estigui seleccionat, així que un agent pot treballar amb qualsevol foto que sàpiga anomenar, en qualsevol carpeta, sense obrir-la abans.
- Cada edició és un pas a l’historial propi d’aquella foto i es desa al seu costat en un petit fitxer .rawed.json, igual que les teves edicions. Els originals no es modifiquen mai. Pots desfer el pas a Rawed, o ho pot fer l’agent amb
undo. - Les eines de lectura, com
get_analysis,render_previewiassess_photos, no canvien res. Valorar o marcar una foto no l’esborra mai, i mai no s’escriu a les targetes de memòria. - L’únic canvi que no es pot desfer és esborrar un preajust que hagis creat, amb
manage_preset.
Privadesa
L’accés dels agents està desactivat fins que l’activis. A partir d’aleshores, Rawed+ només accepta connexions de programes del mateix Mac, a través d’un sòcol local que només pot obrir el teu compte d’usuari, amb una clau que canvia cada vegada que s’activa l’accés. No és accessible des de la xarxa, i Rawed per si mateix no envia res enlloc.
Amb l’agent és diferent. El que llegeix a través de les eines, com la informació de les fotos (inclosa la ubicació GPS si la foto en té), les mesures i les previsualitzacions que demana (fins a 2.048 píxels al costat llarg), passa a formar part de la seva conversa i arriba al seu proveïdor d’IA, com qualsevol altra cosa que hi escriguis. Com ho tracti aquest proveïdor depèn de les seves condicions i de la seva política de privadesa. Un agent que també pugui llegir fitxers pel seu compte, com Claude Code, pot llegir directament les teves fotos; això és una opció de l’agent, no de Rawed.
Referència de les eines
Les 42 eines, amb les descripcions i els paràmetres que reben els agents. Els agents llegeixen aquest text en anglès.
get_statelist_photosget_photo_infoget_recipeget_analysisrender_previewlist_presetsopen_folderrecent_foldersselect_photosopen_photoshow_in_finderupdate_recipeauto_adjustrecover_dynamic_rangeapply_presetset_white_balanceapply_tone_curve_presettransformauto_straightenedit_maskjump_to_historyreset_all_editsundoredoset_ratingcopy_settingspaste_settingsmanage_presetexportsave_jpegquick_convertmerge_hdrlist_devicesshow_devicecopy_from_deviceeject_deviceset_viewset_preferencesedit_point_colortargeted_adjustassess_photos
get_state Get app state
Només lectura
What the app shows (for orientation only; no tool acts on it): mode (library/edit), open folder, selection, photo shown in the editor with its history, presets, settings clipboard, library sort/filter, editor view (tool, zoom, compare, overlays, selected mask), shown device, recent folders, running batch and preferences.
Sense paràmetres.
list_photos List photos
Només lectura
Supported photos in a folder (by file name, regardless of the library's filter and sort), with file name, path, file type, rating, flag, color label, capture date, camera and whether edited. Does not change what the app shows.
folder obligatori | string | Absolute folder path |
|---|
get_photo_info Photo info
Només lectura
Metadata of a photo (camera, lens, exposure, capture date, dimensions, color profile, location, IPTC keywords; read-only), its rating/flag/label, RAW engine capabilities (decoder versions, supported controls, as-shot white balance, baseline exposure, whether a neural denoise model is installed), its edit history (labels and position, for jump_to_history / undo / redo), save status and whether it is shown in the editor.
path obligatori | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
|---|
get_recipe Get edit recipe
Només lectura
A photo's complete current EditRecipe as JSON (light, toneMapping, toneCurve, color, hsl, pointColors, colorGrading, presence, detail, optics, geometry, effects, masks, raw, whiteBalance). Values use Rawed units: exposure in EV, most sliders -100...100.
path obligatori | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
|---|
get_analysis Analyse photo
Només lectura
Image statistics of a photo: luminance percentiles, clipping, dynamic range (EV), top vs bottom brightness, noise risk.
path obligatori | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
|---|
render_preview Render preview
Només lectura
Render a photo with its current edits and return it as a JPEG image so you can see the result.
max_size | integer | Long edge in pixels (default 1024, max 2048) |
|---|---|---|
original | boolean | Render the unedited original instead (default false) |
path obligatori | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
list_presets List presets
Només lectura
Presets with name, whether built in, and the setting groups each one changes.
Sense paràmetres.
open_folder Show folder
Només lectura
Show a folder of photos in the library (File › Open Folder / Open Recent). View only: other tools take explicit paths and don't need it.
path obligatori | string | Absolute folder path |
|---|
recent_folders Recent folders
Només lectura
List File › Open Recent folders, or clear the list.
clear | boolean | Clear the Open Recent menu |
|---|
select_photos Select photos
Només lectura
Change the library selection the user sees, like clicking in the grid: select paths, all or none, or step to the previous/next photo (Photo › Previous/Next Photo; in edit mode this shows it). View only: no tool acts on the selection.
all | boolean | Select every visible photo |
|---|---|---|
none | boolean | Clear the selection |
paths | array (string) | Photos to select (replaces the selection) |
step | integer | Move by this many photos in library order (-1 previous, 1 next) |
open_photo Show photo
Només lectura
Show a photo to the user in the editor (also photos on a memory card or drive). View only: editing tools take the photo's path and work the same whether or not it is shown.
path obligatori | string | Absolute path of the photo |
|---|
show_in_finder Show in Finder
Només lectura
Reveal files or folders in Finder (Photo › Show in Finder). This brings Finder to the front.
paths obligatori | array (string) | Files or folders to reveal |
|---|
update_recipe Update edit recipe
Modifica fotos o fitxers
Deep-merge a partial EditRecipe into a photo, e.g. {"light": {"exposure": 0.3, "highlights": -40}}. Covers every inspector slider and toggle (light, tone curve points, HSL, color grading, effects, detail incl. noiseReduction.neural, optics, geometry angle/perspective/crop, RAW engine). Arrays (curve points, masks) replace the whole array; prefer edit_mask for masks and set_white_balance for white balance modes. Acts on the photo at path: one step in that photo's own edit history (undo with undo {path}), saved next to the photo like an edit in the app. If the photo is the one shown in the editor, the user sees the change live; otherwise it is edited without changing what the app shows.
changes obligatori | object | Partial EditRecipe to merge |
|---|---|---|
label | string | History label shown in the app (optional) |
path obligatori | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
auto_adjust Auto adjust
Modifica fotos o fitxers
Run statistical Auto (Photo › Auto Adjust / Auto Landscape) on a photo, from that photo's own statistics. Acts on the photo at path: one step in that photo's own edit history (undo with undo {path}), saved next to the photo like an edit in the app. If the photo is the one shown in the editor, the user sees the change live; otherwise it is edited without changing what the app shows.
mode | stringUn de: standard, landscape | standard, or landscape (also for sunsets: protects the sky, lifts the foreground) |
|---|---|---|
path obligatori | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
recover_dynamic_range Recover dynamic range
Modifica fotos o fitxers
Protect highlights and lift shadows from the photo's statistics. Repeating it on the same photo right after with another strength re-derives from the same base, like the inspector slider. Acts on the photo at path: one step in that photo's own edit history (undo with undo {path}), saved next to the photo like an edit in the app. If the photo is the one shown in the editor, the user sees the change live; otherwise it is edited without changing what the app shows.
path obligatori | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
|---|---|---|
strength | number | 0...100 (default 60) |
apply_preset Apply preset
Modifica fotos o fitxers
Apply a preset by name. Acts on the photo at path: one step in that photo's own edit history (undo with undo {path}), saved next to the photo like an edit in the app. If the photo is the one shown in the editor, the user sees the change live; otherwise it is edited without changing what the app shows.
name obligatori | string | Preset name (see list_presets) |
|---|---|---|
path obligatori | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
set_white_balance White balance
Modifica fotos o fitxers
White balance: As Shot, Auto (estimated from the photo), Custom temperature/tint, or the eyedropper at a point that should be neutral. Acts on the photo at path: one step in that photo's own edit history (undo with undo {path}), saved next to the photo like an edit in the app. If the photo is the one shown in the editor, the user sees the change live; otherwise it is edited without changing what the app shows.
mode | stringUn de: as_shot, auto, custom | White balance mode |
|---|---|---|
path obligatori | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
pick | objectx, y | Eyedropper point {"x": 0...1, "y": 0...1}, normalized in the uncropped, unrotated photo, top-left origin |
temperature | number | Kelvin, 2000...12000 (custom) |
tint | number | -150...150 (custom) |
apply_tone_curve_preset Tone curve preset
Modifica fotos o fitxers
Set a point-curve channel to Linear, Medium Contrast or Strong Contrast. Acts on the photo at path: one step in that photo's own edit history (undo with undo {path}), saved next to the photo like an edit in the app. If the photo is the one shown in the editor, the user sees the change live; otherwise it is edited without changing what the app shows.
channel | stringUn de: rgb, red, green, blue | Channel (default rgb) |
|---|---|---|
path obligatori | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
preset obligatori | stringUn de: linear, medium_contrast, strong_contrast | Curve preset |
transform Rotate, flip, crop ratio
Modifica fotos o fitxers
Geometry, one action per call: rotate 90° (resets the crop), flip, set the crop aspect ratio (centered crop) or reset all geometry. Straighten angle, perspective and the crop rectangle itself are update_recipe geometry values. Acts on the photo at path: one step in that photo's own edit history (undo with undo {path}), saved next to the photo like an edit in the app. If the photo is the one shown in the editor, the user sees the change live; otherwise it is edited without changing what the app shows.
aspect_ratio | string | "original", "free", or W:H such as "1:1", "4:3", "3:2", "16:9", "5:4" |
|---|---|---|
flip | stringUn de: horizontal, vertical | Flip |
path obligatori | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
reset | boolean | Reset Geometry |
rotate | stringUn de: left, right | Rotate 90° counterclockwise (left) or clockwise (right) |
auto_straighten Auto straighten
Modifica fotos o fitxers
Level the horizon with horizon detection (Photo › Auto Straighten). Acts on the photo at path: one step in that photo's own edit history (undo with undo {path}), saved next to the photo like an edit in the app. If the photo is the one shown in the editor, the user sees the change live; otherwise it is edited without changing what the app shows.
path obligatori | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
|---|
edit_mask Edit masks
Modifica fotos o fitxers
Local adjustment masks of the photo at path; one step in its history per call. Actions: add (new mask from one shape; optional name and adjustments), add_component (to mask_id, combined by operation), update_component (component_id: operation, inverted, or new shape parameters), remove_component, set (mask_id: name, enabled, amount 0...100, adjustments), delete, select (show it in the inspector; only for the photo shown in the editor). Shapes: linear_gradient {start, end} (full effect at start, fading to end); radial_gradient {center, radius_x, radius_y, feather}; brush {strokes: [{points: [[x,y],…], size (fraction of long edge, default 0.08), feather (60), flow (50), density (100), erase}]}; luminance_range {lower, upper (0...1), feather}; color_range {hue (degrees), hue_range, min_saturation (0...1), feather}; sky; subject. Points are {"x","y"} normalized 0...1 in the uncropped, unrotated photo, top-left origin. adjustments: exposure (EV), contrast, highlights, shadows, whites, blacks, temperature, tint, saturation, sharpness, clarity, dehaze (-100...100). Mask and component ids belong to that photo; see get_recipe {path}.masks.
action obligatori | stringUn de: add, add_component, update_component, remove_component, set, delete, select | What to do |
|---|---|---|
adjustments | object | Local adjustments to merge, e.g. {"exposure": -0.5, "highlights": -40} |
amount | number | Mask amount 0...100 |
component_id | string | Component id (update_component, remove_component) |
enabled | boolean | Mask on/off |
inverted | boolean | Invert the component |
mask_id | string | Mask id of this photo (all actions except add) |
name | string | Mask name |
operation | stringUn de: add, subtract, intersect | How a component combines with the previous ones (default add) |
path obligatori | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
shape | object | Shape for add / add_component / update_component: {"kind": linear_gradient|radial_gradient|brush|luminance_range|color_range|sky|subject, …parameters} |
jump_to_history Go to history step
Modifica fotos o fitxers
Return a photo to a step of its own edit history, as clicking it in the History panel. No step is discarded: jump back to the previous history_position to return; undo / redo {path} step from the jumped-to step. Index 0 is the photo as it was when first edited or shown in this app session; see get_photo_info {path}.history.
index obligatori | integer | History index |
|---|---|---|
path obligatori | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
reset_all_edits Reset all edits
Modifica fotos o fitxers
Return every setting, the crop and all masks of a photo to its defaults as one step (Photo › Reset All Edits). Acts on the photo at path: one step in that photo's own edit history (undo with undo {path}), saved next to the photo like an edit in the app. If the photo is the one shown in the editor, the user sees the change live; otherwise it is edited without changing what the app shows.
path obligatori | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
|---|
undo Undo
Modifica fotos o fitxers
Undo the last edit step of the photo at path (made by you or the user), and only of that photo; other photos are never affected. Ratings, flags and labels are not part of a photo's edit history.
path obligatori | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
|---|
redo Redo
Modifica fotos o fitxers
Redo the last undone edit step of the photo at path.
path obligatori | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
|---|
set_rating Rate photos
Modifica fotos o fitxers
Set rating (0-5), flag and/or color label of photos as one step the user can undo in the app (Edit › Undo).
color_label | stringUn de: none, red, yellow, green, blue, purple | Color label |
|---|---|---|
flag | stringUn de: none, pick, reject | Flag |
paths obligatori | array (string) | Absolute paths of the photos to act on (any folder). |
rating | integer | 0...5 |
copy_settings Copy settings
Només lectura
Copy a photo's settings to Rawed's settings clipboard for the user's Edit › Paste Settings. No tool reads this clipboard: paste_settings takes its source photo explicitly.
categories | arrayLlista de: raw, whiteBalance, light, toneMapping, toneCurve, color, hsl, colorGrading, presence, detail, optics, geometry, effects, masks | Setting groups to copy (default: all except geometry, masks and raw) |
|---|---|---|
path obligatori | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
paste_settings Paste settings
Modifica fotos o fitxers
Copy settings from the photo at source to each photo in paths (Edit › Paste Settings / Paste Selected Settings): one step in each target photo's own history.
categories | arrayLlista de: raw, whiteBalance, light, toneMapping, toneCurve, color, hsl, colorGrading, presence, detail, optics, geometry, effects, masks | Setting groups to paste (default: all except geometry, masks and raw) |
|---|---|---|
paths obligatori | array (string) | Absolute paths of the photos to paste into |
source obligatori | string | Absolute path of the photo whose settings are copied |
manage_preset Manage presets
Pot esborrar un preajust per sempre
Create a preset from the settings of the photo at path, rename, delete (user presets only; cannot be undone), import a .rspreset file, or export a preset to a file.
action obligatori | stringUn de: create, rename, delete, import, export | What to do |
|---|---|---|
categories | arrayLlista de: raw, whiteBalance, light, toneMapping, toneCurve, color, hsl, colorGrading, presence, detail, optics, geometry, effects, masks | Groups the new preset stores (create; default: the edited groups except geometry, masks and raw) |
name | string | Preset name (new name for create; existing preset otherwise) |
new_name | string | New name (rename) |
path | string | Photo whose settings the new preset stores (create, required), file to import, or file/folder to export to |
export Export
Pot esborrar un preajust per sempre
Export photos with their current edits, and wait until done (File › Export…). Starts from Rawed defaults, not the Export sheet's last settings: Full-Size JPEG (JPEG 90%, original size, sRGB, all metadata, "{name}", next to the original); quick_convert is the same with the sheet's last settings. Sources on memory cards or in folders that can't be written require a directory argument; no files are written until a usable destination is provided. A directory on a memory card is rejected. Does not change the Export sheet's remembered settings. on_conflict decides what happens when a file with the output name already exists; a name that is one of the exported photos, or that two photos would share, is numbered instead. Returns the written paths and the number of skipped photos.
color_space | stringUn de: sRGB, displayP3 | Color space (default sRGB) |
|---|---|---|
copyright | string | Copyright notice written to the file (TIFF, IPTC) unless metadata is none; empty keeps the original's |
creator | string | Creator written to the file (TIFF Artist, IPTC By-line) unless metadata is none or copyright_only; empty keeps the original's |
directory | string | Destination folder; required if any source folder can't be written or is on a memory card. Omit only to save next to writable originals. |
file_name | string | File name template: {name} = original name, {index} = number in the export (3 digits), {seq:N} = number with N digits, {date} = capture date (yyyy-MM-dd) (default {name}) |
format | stringUn de: jpeg, heif, png, tiff | File format (default jpeg) |
height | integer | fit_within height |
include_metadata | boolean | Older switch, same as metadata: false = none |
long_edge | integer | Pixels for long_edge |
look | stringUn de: edits, original | With the photo's edits (default; photos without edits keep the camera look), or as shot |
megapixels | number | Total pixel count in millions for megapixels, keeping the aspect ratio (never upscales) |
metadata | stringUn de: all, all_except_location, all_except_camera_and_location, copyright_only, none | Metadata kept from the original: everything, without GPS, also without camera and lens (make, model, serial numbers), only the copyright, or nothing. TIFF Software = Rawed is always written |
on_conflict | stringUn de: replace, keep_both, skip | When the file already exists: replace it, keep both (writes <name>-2.<ext> …), or skip the photo (default keep_both). Only files Rawed wrote are replaced; any other file (an original such as a camera JPEG) is kept and the export gets <name>-2.<ext> |
output_sharpening | stringUn de: none, screen, matte, glossy | Sharpening after resizing, for a screen or for printing on matte or glossy paper |
paths obligatori | array (string) | Absolute paths of the photos to act on (any folder). |
percentage | number | Percent of the size for percentage |
preset | stringUn de: full_jpeg, web, share, small, lossless | Start from a preset: Full-Size JPEG (JPEG 90%), Web (JPEG 2048 px 80%), Share (HEIF 50%), Small (JPEG 1280 px), Lossless PNG; the other options override it |
quality | number | 0...1 for JPEG/HEIF (default 0.9) |
remove_location | boolean | Older switch, same as metadata: true = all_except_location |
resolution_ppi | integer | Pixels per inch written to the file (no resampling); 0 keeps the original's |
sharpening_amount | stringUn de: low, standard, high | Output sharpening amount (default standard) |
short_edge | integer | Pixels for short_edge |
size | stringUn de: original, long_edge, short_edge, fit_within, percentage, megapixels | Size mode (default original; long_edge if only long_edge is given) |
subfolder | string | Capture-date subfolder in a date format, e.g. "yyyy-MM-dd" or "yyyy/MM" (/ nests folders); "" or "none" for none |
watermark | objectcolor, font, image, margin, opacity, position, size, text, type | Watermark drawn into the exported files only (not into the photo, the editor or Save as JPEG), after resizing. type is required; the other options left out keep the current watermark's (quick_convert: the Export sheet's last one) or the defaults. {"type": "none"} removes it |
width | integer | fit_within width |
save_jpeg Save as JPEG
Pot esborrar un preajust per sempre
Save photos with their current edits as full-size JPEGs next to the originals (File › Save as JPEG) and wait until done: <name>.jpg, sRGB, quality 90, metadata kept (location removed only when the Export sheet's Remove Location or no-metadata choice says so). A JPEG original, or a photo whose <name>.jpg is a file Rawed didn't write (such as the camera JPEG of a RAW + JPEG pair), gets <name> edited.jpg instead. Originals and their edit files are never changed. on_conflict decides what happens when that JPEG already exists. Photos on memory cards or in folders that can't be written fail (use export with a directory). Returns the written, skipped and failed paths.
on_conflict | stringUn de: replace, keep_both, skip | When the JPEG already exists: replace it, keep both (writes <name> 2.jpg …), or skip the photo (default keep_both) |
|---|---|---|
paths obligatori | array (string) | Absolute paths of the photos to act on (any folder). |
quick_convert Quick Convert
Modifica fotos o fitxers
Alias of export that starts from the Export sheet's last settings (File › Export…) instead of Rawed defaults, also takes folders, and never asks: an existing file is kept and the new one numbered (<name>-2.<ext>). Without saved settings it starts at Full-Size JPEG (JPEG 90%, original size; earlier versions started at Web). A preset and the other options override them. Sources on memory cards or in folders that can't be written require a directory argument; no files are written until a usable destination is provided. A directory on a memory card is rejected. Returns the written paths.
color_space | stringUn de: sRGB, displayP3 | Color space |
|---|---|---|
copyright | string | Copyright notice written to the file (TIFF, IPTC) unless metadata is none; empty keeps the original's |
creator | string | Creator written to the file (TIFF Artist, IPTC By-line) unless metadata is none or copyright_only; empty keeps the original's |
crop | stringUn de: none, 1:1, 4:3, 3:2, 16:9 | Centered crop (follows each photo's orientation) |
directory | string | Destination folder; required if any source folder can't be written or is on a memory card. Omit only to save next to writable originals. |
file_name | string | File name template: {name} = original name, {index} = number in the export (3 digits), {seq:N} = number with N digits, {date} = capture date (yyyy-MM-dd) (overrides suffix) |
format | stringUn de: jpeg, heif, png, tiff | File format |
height | integer | fit_within height |
include_metadata | boolean | Older switch, same as metadata: false = none |
long_edge | integer | Pixels for long_edge |
look | stringUn de: edits, original | With the photo's edits, or as shot |
megapixels | number | Total pixel count in millions for megapixels, keeping the aspect ratio (never upscales) |
metadata | stringUn de: all, all_except_location, all_except_camera_and_location, copyright_only, none | Metadata kept from the original: everything, without GPS, also without camera and lens (make, model, serial numbers), only the copyright, or nothing. TIFF Software = Rawed is always written |
output_sharpening | stringUn de: none, screen, matte, glossy | Sharpening after resizing, for a screen or for printing on matte or glossy paper |
paths obligatori | array (string) | Photos or folders to convert |
preset | stringUn de: full_jpeg, web, share, small, lossless | Full-Size JPEG (JPEG 90%), Web (JPEG 2048 px 80%), Share (HEIF 50%), Small (JPEG 1280 px), Lossless PNG |
quality | number | 0.3...1 for JPEG/HEIF |
remove_location | boolean | Older switch, same as metadata: true = all_except_location |
resolution_ppi | integer | Pixels per inch written to the file (no resampling); 0 keeps the original's |
sharpening_amount | stringUn de: low, standard, high | Output sharpening amount (default standard) |
short_edge | integer | Pixels for short_edge |
size | stringUn de: original, 50%, 25%, long_edge, short_edge, fit_within, megapixels | Size |
subfolder | string | Capture-date subfolder in a date format, e.g. "yyyy-MM-dd" or "yyyy/MM" (/ nests folders); "" or "none" for none |
suffix | string | Appended to the original name, e.g. "-web" (sets file_name to {name}-web) |
watermark | objectcolor, font, image, margin, opacity, position, size, text, type | Watermark drawn into the exported files only (not into the photo, the editor or Save as JPEG), after resizing. type is required; the other options left out keep the current watermark's (quick_convert: the Export sheet's last one) or the defaults. {"type": "none"} removes it |
width | integer | fit_within width |
merge_hdr Merge to HDR
Modifica fotos o fitxers
Merge bracketed photos (at least two, in the given order) into a linear HDR TIFF next to the first one when its folder is writable, and show it in the editor (Photo › Merge to HDR). Pass directory when the first photo is on a memory card or its folder can't be written. Waits until done and returns the merged file's path.
align | boolean | Align the frames (default true) |
|---|---|---|
deghosting | number | 0...1 moving-object suppression (default 0.5) |
directory | string | Destination folder; required if the first photo's folder can't be written or is on a memory card. |
paths obligatori | array (string) | Bracketed photos |
list_devices List devices
Només lectura
Connected memory cards and external drives.
Sense paràmetres.
show_device Show device
Només lectura
Show a memory card or drive in the library (sidebar › Devices) and wait for the photo scan, or close it. Returns the photos grouped as in the gallery (RAW + JPEG pairs are one item).
close | boolean | Close the device and return to the folder |
|---|---|---|
filter | stringUn de: all, raw, jpeg | Show all photos, or only RAW / JPEG |
path | string | Volume path from list_devices (default: the device already shown) |
copy_from_device Copy to folder
Modifica fotos o fitxers
Copy photos from a memory card or drive to a folder on the Mac (File › Copy to Folder) and wait until done. Shows the device in the library while it is scanned. Nothing on the card is changed.
by_date | boolean | Put photos in folders by capture date (default true) |
|---|---|---|
destination obligatori | string | Destination folder |
device obligatori | string | Volume path from list_devices |
paths | array (string) | Photos to copy (any file of a RAW + JPEG pair copies both; default: every photo on the device) |
skip_existing | boolean | Skip photos that were already copied (default true) |
eject_device Eject device
Modifica fotos o fitxers
Eject a memory card or drive (File › Eject).
path obligatori | string | Volume path from list_devices |
|---|
set_view Control the view
Només lectura
Operate the GUI without changing photos: mode, editor tool, zoom, before/after, clipping overlays (highlights, shadows, zebra, heatmap, threshold), EDR preview, sharpening mask, mask overlay and selected mask, inspector and filmstrip visibility, inspector tab, library sort and filter, thumbnail size.
clear_filter | boolean | Clear the library filter |
|---|---|---|
clipping | boolean | Show both highlight and shadow clipping |
compare | stringUn de: off, split, side_by_side | Before/after |
extended_dynamic_range | boolean | EDR preview on HDR displays |
filmstrip | boolean | Show the filmstrip |
filter_file_type | stringUn de: all, raw, jpeg, heif, png, tiff | Library file type filter |
filter_flag | stringUn de: any, pick, reject, unflagged | Library flag filter |
filter_rating | integer | Show photos with at least this many stars (0 = any) |
heatmap | boolean | Exposure heatmap |
highlight_clipping | boolean | Show highlight clipping |
inspector | boolean | Show the inspector |
inspector_tab | stringUn de: adjust, presets, history | Inspector tab |
mask_overlay | boolean | Show the selected mask as an overlay |
mode | stringUn de: library, edit | App mode (edit opens the focused photo) |
selected_mask | string | Mask id to select in the inspector |
shadow_clipping | boolean | Show shadow clipping |
sharpening_mask | boolean | Show the sharpening mask |
show_original | boolean | Show the original instead of the edit (like holding Space) |
sort | stringUn de: capture_time, file_name, rating | Library sort order |
threshold | stringUn de: 95, 98, 100 | Highlight warning threshold in percent |
thumbnail_size | integer | Library thumbnail size in points, 110...320 |
tool | stringUn de: none, crop, mask, white_balance, color_target | Editor tool (color_target: the Point Color eyedropper / targeted adjustment) |
zebra | boolean | Zebra stripes above the threshold |
zoom | string | "fit", "fill", a percentage 5...800 (e.g. "100"), "in" or "out" |
set_preferences Preferences
Només lectura
Rawed Settings › Editing defaults for newly opened photos.
extended_dynamic_range | boolean | Use the EDR preview on HDR displays by default |
|---|---|---|
highlight_warning_threshold | stringUn de: 95, 98, 100 | Default highlight warning threshold in percent |
edit_point_color Point Color
Modifica fotos o fitxers
Point Color (Color panel): change one color picked in the photo — its hue, saturation and luminance — without masks; every pixel close to that color changes, with a smooth falloff. Actions: add (sample the color at `sample`, or give `color`), update (point_id: any of the values below), delete (point_id), move (point_id, offset -1 earlier / 1 later; points apply in order). Values: hue_shift, saturation, luminance (-100...100; luminance 100 = +1 EV on that color), range (0...100, default 50: how far from the color the change reaches), hue_range, saturation_range, luminance_range (0...100, default 50: refine the range per dimension), enabled. `color` is {"lightness", "chroma", "hue"} in OKLCh of the linear working space, or {"hex": "#RRGGBB"} (sRGB). Point ids and targets are in get_recipe.pointColors. One step in that photo's own edit history (undo with undo {path}), saved next to the photo like an edit in the app; if the photo is shown in the editor the user sees it live.
action obligatori | stringUn de: add, update, delete, move | What to do |
|---|---|---|
color | object | Target color for add: {"lightness", "chroma", "hue"} (OKLCh) or {"hex": "#RRGGBB"} |
enabled | boolean | Point color on/off |
hue_range | number | 0...100 (default 50) |
hue_shift | number | -100...100 (±30° hue rotation) |
luminance | number | -100...100 (±1 EV) |
luminance_range | number | 0...100 (default 50) |
offset | integer | move: -1 earlier, 1 later |
path obligatori | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
point_id | string | Point color id (update, delete, move) |
range | number | 0...100 (default 50) |
sample | objectx, y | Point {"x": 0...1, "y": 0...1}, normalized in the uncropped, unrotated photo, top-left origin (as for masks and the white balance picker) |
saturation | number | -100...100 |
saturation_range | number | 0...100 (default 50) |
targeted_adjust Targeted adjustment
Modifica fotos o fitxers
Change the color at a point of the photo, like dragging up or down on it with the targeted adjustment tool: target color_mixer changes the Color Mixer (HSL) bands of that color, weighted as the mixer blends them; target point_color changes the point color that covers that color, adding one sampled there if there is none. `amount` is in slider units (-100...100), added to the current values. Gray colors can't be changed in the Color Mixer. One step in that photo's own edit history (undo with undo {path}), saved next to the photo like an edit in the app; if the photo is shown in the editor the user sees it live.
amount obligatori | number | -100...100 slider units (positive = like dragging up) |
|---|---|---|
path obligatori | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
point obligatori | objectx, y | Point {"x": 0...1, "y": 0...1}, normalized in the uncropped, unrotated photo, top-left origin (as for masks and the white balance picker) |
property obligatori | stringUn de: hue, saturation, luminance | Which property changes |
target obligatori | stringUn de: color_mixer, point_color | What changes |
assess_photos Assess photos for culling
Només lectura
Measure photos for culling; read-only (nothing is edited, rated or saved). Each photo is measured on a 1024 px sRGB image: RAW files on the camera's embedded preview (as shot, before edits; get_analysis measures the RAW data itself), other files downsampled. Per photo: sharpness — variance of the Laplacian (after a light 3×3 pre-blur) over the frame (global) and in its sharpest 5 % (local, so a sharp subject on a soft background counts as sharp), score 0–100 (log scale, local 5 → 0, 500 → 100), likely_blurry when local < 15 (conservative: mildly soft frames of detailed scenes pass; in a duplicate group compare relative_to_group_best, softer_than_group below 0.5); exposure as shot — highlight_clip_percent (any channel ≥ 250/255), shadow_clip_percent (all ≤ 5/255), ev_offset (mean EV of the frame vs. 18 % gray), likely_overexposed (ev_offset > 1 or > 5 % clipped), likely_underexposed (ev_offset < −2.5 or > 20 % crushed); low-key and high-key scenes can be flagged on purpose; faces (Apple Vision) — count, box (0…1, top-left origin), capture_quality 0…1 (compare the same person across frames), eye openness (height/width of the landmark eye contour; open ≈ 0.25–0.45) and eyes_closed when both are below 0.18 — a heuristic: null for faces under 48 px wide or without landmarks, unreliable for profiles, sunglasses, squinting or looking down. Near-duplicates across the given photos: Vision feature print distance (revision 2, on a 224 px copy) ≤ duplicate_threshold (default 0.6; re-encoded copies ≈ 0.1, different scenes ≈ 1.2), complete linkage (every pair in a group is within the threshold), with suggested_keep per group (no closed eyes, then sharpest, then best face quality, then least clipping) and each photo's nearest match. Thresholds are repeated in the reply. Unreadable files are listed under failures.
duplicate_threshold | number | Feature print distance up to which photos are near-duplicates (default 0.6) |
|---|---|---|
include | arrayLlista de: sharpness, exposure, faces, duplicates | Measurements to make (default all). duplicates compares the photos with each other. |
paths obligatori | array (string) | Absolute paths of the photos to measure and compare (any folders; up to 500) |
