Rawed+ con agentes de IA
Rawed+ incluye un servidor MCP, rawed-mcp, para que agentes de IA como Claude Code, Claude Desktop o Codex editen, seleccionen y exporten tus fotos. Aquí tienes cómo configurarlo, qué pedirle, cómo funciona la privacidad y todas las herramientas.
Requisitos
- Rawed+, durante la prueba de 14 días o con licencia. Rawed de la Mac App Store no admite agentes, pero desbloquea Rawed+ en la misma Mac.
- macOS 26 o posterior
- Una app de agente de IA que pueda ejecutar un servidor MCP local, como Claude Code, Claude Desktop, Codex CLI o Cursor
Activa el acceso de agentes
Abre Rawed+, elige Rawed+ › Configuración, haz clic en Agentes de IA y activa Permitir que los agentes de IA usen Rawed. Ayuda › Usar Rawed con agentes de IA… abre el mismo panel. Ahí verás también los comandos de abajo con la ruta de tu copia de la app y qué agente está conectado.
Conecta tu agente
Los comandos de abajo dan por hecho que Rawed+ está en la carpeta Aplicaciones. Si lo tienes en otro sitio, cópialos desde Configuración › Agentes de IA.
Claude Code
Ejecuta este comando en Terminal. --scope user hace que Rawed esté disponible en todos tus proyectos. Después, abre una sesión nueva de Claude Code.
claude mcp add --scope user rawed -- "/Applications/Rawed+.app/Contents/MacOS/rawed-mcp"
Claude Desktop
En Claude Desktop, elige Settings › Developer › Edit Config. Se muestra claude_desktop_config.json, que está en ~/Library/Application Support/Claude. Agrega la entrada rawed de abajo; si el archivo ya tiene mcpServers, ponla dentro. Guarda el archivo, cierra Claude Desktop y vuelve a abrirlo.
{
"mcpServers": {
"rawed": {
"command": "/Applications/Rawed+.app/Contents/MacOS/rawed-mcp"
}
}
}
Codex CLI
Ejecuta este comando en Terminal:
codex mcp add rawed -- "/Applications/Rawed+.app/Contents/MacOS/rawed-mcp"
O añade estas líneas a ~/.codex/config.toml:
[mcp_servers.rawed]
command = "/Applications/Rawed+.app/Contents/MacOS/rawed-mcp"
Cursor y otros clientes MCP
Añade Rawed como servidor MCP local (stdio). Cursor (~/.cursor/mcp.json) y la mayoría de los demás clientes aceptan este JSON:
{
"mcpServers": {
"rawed": {
"command": "/Applications/Rawed+.app/Contents/MacOS/rawed-mcp"
}
}
}
A los clientes que solo piden un comando, dales esta ruta:
/Applications/Rawed+.app/Contents/MacOS/rawed-mcp
No hace falta tener Rawed+ abierto. La primera vez que el agente usa una herramienta, rawed-mcp lo abre en segundo plano. Si el acceso de agentes está desactivado, las herramientas responden con un mensaje que indica dónde activarlo.
Cómo funcionan las herramientas
- Todas las herramientas que actúan sobre fotos reciben sus rutas de archivo. Nada depende de lo que muestre Rawed ni de lo que esté seleccionado, así que un agente puede trabajar con cualquier foto que sepa nombrar, en cualquier carpeta, sin abrirla antes.
- Cada edición es un paso en el historial propio de esa foto y se guarda junto a ella en un pequeño archivo .rawed.json, igual que tus propias ediciones. Los originales nunca se modifican. Puedes deshacer el paso en Rawed, o puede hacerlo el agente con
undo. - Las herramientas de lectura, como
get_analysis,render_previewyassess_photos, no cambian nada. Valorar o marcar una foto nunca la borra, y nunca se escribe en las tarjetas de memoria. - El único cambio que no se puede deshacer es borrar un preajuste que hayas creado, con
manage_preset.
Privacidad
El acceso de agentes está desactivado hasta que lo actives. A partir de ahí, Rawed+ solo acepta conexiones de programas de la misma Mac, a través de un socket local que solo puede abrir tu cuenta de usuario, con una clave que cambia cada vez que se activa el acceso. No es accesible desde la red, y Rawed por sí mismo no envía nada a ningún sitio.
Con el agente es distinto. Lo que lee a través de las herramientas, como la información de las fotos (incluida la ubicación GPS si la foto la tiene), las mediciones y las vistas previas que pide (hasta 2,048 píxeles en el lado largo), pasa a formar parte de su conversación y llega a su proveedor de IA, como cualquier otra cosa que escribas ahí. Cómo lo trate ese proveedor depende de sus condiciones y de su política de privacidad. Un agente que también pueda leer archivos por su cuenta, como Claude Code, puede leer tus fotos directamente; eso es un ajuste del agente, no de Rawed.
Referencia de herramientas
Las 42 herramientas, con las descripciones y los argumentos que reciben los agentes. Los agentes leen este texto en inglé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
Solo 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.
Sin argumentos.
list_photos List photos
Solo 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 obligatorio | string | Absolute folder path |
|---|
get_photo_info Photo info
Solo 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 obligatorio | 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
Solo 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 obligatorio | 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
Solo lectura
Image statistics of a photo: luminance percentiles, clipping, dynamic range (EV), top vs bottom brightness, noise risk.
path obligatorio | 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
Solo 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 obligatorio | 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
Solo lectura
Presets with name, whether built in, and the setting groups each one changes.
Sin argumentos.
open_folder Show folder
Solo 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 obligatorio | string | Absolute folder path |
|---|
recent_folders Recent folders
Solo lectura
List File › Open Recent folders, or clear the list.
clear | boolean | Clear the Open Recent menu |
|---|
select_photos Select photos
Solo 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
Solo 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 obligatorio | string | Absolute path of the photo |
|---|
show_in_finder Show in Finder
Solo lectura
Reveal files or folders in Finder (Photo › Show in Finder). This brings Finder to the front.
paths obligatorio | array (string) | Files or folders to reveal |
|---|
update_recipe Update edit recipe
Modifica fotos o archivos
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 obligatorio | object | Partial EditRecipe to merge |
|---|---|---|
label | string | History label shown in the app (optional) |
path obligatorio | 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 archivos
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 | stringUno de: standard, landscape | standard, or landscape (also for sunsets: protects the sky, lifts the foreground) |
|---|---|---|
path obligatorio | 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 archivos
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 obligatorio | 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 archivos
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 obligatorio | string | Preset name (see list_presets) |
|---|---|---|
path obligatorio | 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 archivos
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 | stringUno de: as_shot, auto, custom | White balance mode |
|---|---|---|
path obligatorio | 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 archivos
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 | stringUno de: rgb, red, green, blue | Channel (default rgb) |
|---|---|---|
path obligatorio | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
preset obligatorio | stringUno de: linear, medium_contrast, strong_contrast | Curve preset |
transform Rotate, flip, crop ratio
Modifica fotos o archivos
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 | stringUno de: horizontal, vertical | Flip |
path obligatorio | 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 | stringUno de: left, right | Rotate 90° counterclockwise (left) or clockwise (right) |
auto_straighten Auto straighten
Modifica fotos o archivos
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 obligatorio | 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 archivos
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 obligatorio | stringUno 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 | stringUno de: add, subtract, intersect | How a component combines with the previous ones (default add) |
path obligatorio | 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 archivos
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 obligatorio | integer | History index |
|---|---|---|
path obligatorio | 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 archivos
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 obligatorio | 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 archivos
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 obligatorio | 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 archivos
Redo the last undone edit step of the photo at path.
path obligatorio | 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 archivos
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 | stringUno de: none, red, yellow, green, blue, purple | Color label |
|---|---|---|
flag | stringUno de: none, pick, reject | Flag |
paths obligatorio | array (string) | Absolute paths of the photos to act on (any folder). |
rating | integer | 0...5 |
copy_settings Copy settings
Solo 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 | arrayLista 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 obligatorio | 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 archivos
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 | arrayLista 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 obligatorio | array (string) | Absolute paths of the photos to paste into |
source obligatorio | string | Absolute path of the photo whose settings are copied |
manage_preset Manage presets
Puede borrar un preajuste para siempre
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 obligatorio | stringUno de: create, rename, delete, import, export | What to do |
|---|---|---|
categories | arrayLista 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
Puede borrar un preajuste para siempre
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 | stringUno 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 | stringUno 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 | stringUno 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 | stringUno 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 | stringUno 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 | stringUno de: none, screen, matte, glossy | Sharpening after resizing, for a screen or for printing on matte or glossy paper |
paths obligatorio | array (string) | Absolute paths of the photos to act on (any folder). |
percentage | number | Percent of the size for percentage |
preset | stringUno 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 | stringUno de: low, standard, high | Output sharpening amount (default standard) |
short_edge | integer | Pixels for short_edge |
size | stringUno 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
Puede borrar un preajuste para siempre
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 | stringUno 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 obligatorio | array (string) | Absolute paths of the photos to act on (any folder). |
quick_convert Quick Convert
Modifica fotos o archivos
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 | stringUno 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 | stringUno 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 | stringUno 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 | stringUno 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 | stringUno 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 | stringUno de: none, screen, matte, glossy | Sharpening after resizing, for a screen or for printing on matte or glossy paper |
paths obligatorio | array (string) | Photos or folders to convert |
preset | stringUno 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 | stringUno de: low, standard, high | Output sharpening amount (default standard) |
short_edge | integer | Pixels for short_edge |
size | stringUno 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 archivos
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 obligatorio | array (string) | Bracketed photos |
list_devices List devices
Solo lectura
Connected memory cards and external drives.
Sin argumentos.
show_device Show device
Solo 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 | stringUno 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 archivos
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 obligatorio | string | Destination folder |
device obligatorio | 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 archivos
Eject a memory card or drive (File › Eject).
path obligatorio | string | Volume path from list_devices |
|---|
set_view Control the view
Solo 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 | stringUno 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 | stringUno de: all, raw, jpeg, heif, png, tiff | Library file type filter |
filter_flag | stringUno 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 | stringUno de: adjust, presets, history | Inspector tab |
mask_overlay | boolean | Show the selected mask as an overlay |
mode | stringUno 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 | stringUno de: capture_time, file_name, rating | Library sort order |
threshold | stringUno de: 95, 98, 100 | Highlight warning threshold in percent |
thumbnail_size | integer | Library thumbnail size in points, 110...320 |
tool | stringUno 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
Solo 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 | stringUno de: 95, 98, 100 | Default highlight warning threshold in percent |
edit_point_color Point Color
Modifica fotos o archivos
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 obligatorio | stringUno 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 obligatorio | 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 archivos
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 obligatorio | number | -100...100 slider units (positive = like dragging up) |
|---|---|---|
path obligatorio | string | Absolute path of the photo to act on (any folder). Whether or not it is shown in the editor makes no difference. |
point obligatorio | 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 obligatorio | stringUno de: hue, saturation, luminance | Which property changes |
target obligatorio | stringUno de: color_mixer, point_color | What changes |
assess_photos Assess photos for culling
Solo 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 | arrayLista de: sharpness, exposure, faces, duplicates | Measurements to make (default all). duplicates compares the photos with each other. |
paths obligatorio | array (string) | Absolute paths of the photos to measure and compare (any folders; up to 500) |
