Loading...
Loading...
Compare original and translation side by side
| Step | Tool | Notes |
|---|---|---|
| Ingest | | Interactive file picker |
| Straighten | | Per image |
| Auto-tone | | Per image, |
| Exposure | | Batch — fine-tune option (brighter/darker) |
| Highlights | | Batch — fine-tune option |
| Shadows | | Batch — fine-tune option |
| Bright areas | | Batch — fine-tune option |
| Brightness/Contrast | | Batch, if requested |
| Vibrance/Saturation | | Batch, if requested |
| Color temperature | | Batch — key for "warm", "cool", "golden" looks |
| Look preset | | Per image, core style vehicle |
| Face detect | | Per image, only if crop focus needed |
| Background blur | | Per image, only if explicitly requested |
| Crop | | Per image, optional |
| Sample preview | | Before/after on image[0] only |
| Final preview | | Batch assets array |
| Firefly Board | | All edited outputs |
| 步骤 | 工具 | 说明 |
|---|---|---|
| 导入 | | 交互式文件选择器 |
| 自动扶正 | | 单张图片处理 |
| 自动调色 | | 单张图片处理, |
| 曝光调整 | | 批量处理——支持微调选项(调亮/调暗) |
| 高光调整 | | 批量处理——支持微调选项 |
| 阴影调整 | | 批量处理——支持微调选项 |
| 亮部调整 | | 批量处理——支持微调选项 |
| 亮度/对比度调整 | | 批量处理,仅在用户要求时执行 |
| 自然饱和度/饱和度调整 | | 批量处理,仅在用户要求时执行 |
| 色温调整 | | 批量处理——实现“暖调”“冷调”“金色”风格的关键 |
| 风格预设应用 | | 单张图片处理,核心风格载体 |
| 人脸检测 | | 单张图片处理,仅在需要聚焦裁剪时使用 |
| 背景模糊 | | 单张图片处理,仅在用户明确要求时执行 |
| 裁剪 | | 单张图片处理,可选操作 |
| 样本预览 | | 仅对第一张图片展示前后对比 |
| 最终预览 | | 批量资产数组预览 |
| Firefly Board创建 | | 包含所有编辑后的输出文件 |
adobe_mandatory_init{ "skill_name": "adobe-batch-edit-photos", "skill_version": "1.0.1" }adobe_mandatory_init{ "skill_name": "adobe-batch-edit-photos", "skill_version": "1.0.1" }adobe_mandatory_initadobe_mandatory_initasset_add_fileTool: asset_add_file
Params: {}asset_add_fileTool: asset_add_file
Params: {}AskUserQuestionAskUserQuestion📷 Got [N] photo(s)! Based on what you said, I'll go with:
- Look: Moody & Cinematic
- Tweaks: Recover blown highlights
Just one thing — do you want a crop?AskUserQuestion📷 Got [N] photo(s)! I'll apply consistent edits across all of them so
the set looks cohesive.
What kind of look are you going for? 👇AskUserQuestionQuestion 1 (single_select):
question: "🎨 Pick a base look"
options:
- "Auto (balanced, neutral)"
- "Warm & Golden — cozy, travel, golden hour"
- "Bright & Airy — clean, light, lifestyle"
- "Moody & Cinematic — dramatic, contrasty, desaturated"
- "Cool & Fresh — clear skies, travel, blue tones"
- "Vibrant & Punchy — vivid, bold, social-ready"
- "Muted & Film — faded, analog, editorial"
Question 2 (multi_select):
question: "🎛️ Fine-tune (optional)"
options:
- "Recover blown highlights"
- "Lift dark shadows"
- "Boost contrast"
- "Boost color intensity"
- "Desaturate / muted tones"
- "Adjust exposure (brighter/darker)"
- "Tune bright areas"
- "Blur background (heavy)"
- "None"
Question 3 (single_select):
question: "✂️ Crop ratio? (optional)"
options:
- "No crop — keep original framing"
- "1:1 square"
- "4:5 portrait"
- "16:9 wide"
- "4:3 standard"
Question 4 (single_select): [only ask if Q3 is not "No crop"]
question: "🎯 How should the crop be framed?"
options:
- "Center — crop from center of image"
- "Smart crop — detect subject/face and frame around it"AskUserQuestionAskUserQuestion📷 已获取[N]张照片!根据你的描述,我将采用以下设置:
- 风格:氛围感电影风
- 微调:恢复过曝高光
只剩一个问题——你需要裁剪吗?AskUserQuestion📷 已获取[N]张照片!我将对所有照片应用统一编辑,让整套风格保持一致。
你想要哪种风格?👇AskUserQuestion问题1(单选):
question: "🎨 选择基础风格"
options:
- "自动(均衡、中性)"
- "暖调金色风 — 温馨、旅行、黄金时刻"
- "明亮通透风 — 干净、明亮、生活化"
- "氛围感电影风 — 戏剧性、高对比、低饱和"
- "冷调清新风 — 晴空、旅行、蓝色调"
- "鲜艳冲击风 — 生动、大胆、适合社交平台"
- "低饱和胶片风 — 褪色、复古、编辑感"
问题2(多选):
question: "🎛️ 微调选项(可选)"
options:
- "恢复过曝高光"
- "提亮暗部阴影"
- "增加对比度"
- "提升色彩饱和度"
- "降低饱和度 / 低饱和色调"
- "调整曝光(调亮/调暗)"
- "优化亮部区域"
- "重度模糊背景"
- "无"
问题3(单选):
question: "✂️ 裁剪比例?(可选)"
options:
- "不裁剪 — 保留原构图"
- "1:1 正方形"
- "4:5 竖版"
- "16:9 宽屏"
- "4:3 标准"
问题4(单选): [仅当问题3选择“不裁剪”以外选项时询问]
question: "🎯 裁剪构图方式?"
options:
- "居中 — 从图片中心裁剪"
- "智能裁剪 — 检测主体/人脸并围绕其构图"image_adjust_color_temperatureimage_apply_preset| Look | Color Temp (a, b, luminance) | Preset | Saturation/Vibrance | Brightness/Contrast |
|---|---|---|---|---|
| Auto (balanced) | none | | none | none |
| Warm & Golden | a=32, b=120, luminance=67 | | vibrance +15 | none |
| Bright & Airy | a=20, b=60, luminance=62 | | saturation -10, vibrance +10 | brightness +15 |
| Moody & Cinematic | a=20, b=-50, luminance=45 | | saturation -20 | contrast +25 |
| Cool & Fresh | a=18, b=-123, luminance=45 | | vibrance +10 | none |
| Vibrant & Punchy | none | | vibrance +30, saturation +15 | contrast +10 |
| Muted & Film | none | none | saturation -35, vibrance -10 | contrast +10 |
image_adjust_highlightsamount: -60image_adjust_dark_portionsamount: +40image_adjust_brightness_and_contrastcontrast: 30image_adjust_vibrance_and_saturationvibrance: 30image_adjust_vibrance_and_saturationsaturation: -30image_adjust_exposureexposure: +0.5exposure: -0.5+0.3image_adjust_light_portionsamount: +20image_apply_gaussian_blurblurRadius: 12, blurTarget: "background"image_crop_and_resizefit: "reframe"outputalign: { x: 0.5, y: 0.5 }image_crop_and_resizefit: "reframe"outputfocus: "face"focus: "subject"✅ Got it — running with:
- Look: [selected look]
- Tweaks: [list if any, or "none"]
- Crop: [ratio or "no crop"] + [Center / Smart crop]
- Background blur: [yes/no]image_adjust_color_temperatureimage_apply_preset| 风格 | 色温参数(a, b, 亮度) | 预设 | 自然饱和度/饱和度调整 | 亮度/对比度调整 |
|---|---|---|---|---|
| 自动(均衡) | 无 | | 无 | 无 |
| 暖调金色风 | a=32, b=120, 亮度=67 | | 自然饱和度 +15 | 无 |
| 明亮通透风 | a=20, b=60, 亮度=62 | | 饱和度 -10, 自然饱和度 +10 | 亮度 +15 |
| 氛围感电影风 | a=20, b=-50, 亮度=45 | | 饱和度 -20 | 对比度 +25 |
| 冷调清新风 | a=18, b=-123, 亮度=45 | | 自然饱和度 +10 | 无 |
| 鲜艳冲击风 | 无 | | 自然饱和度 +30, 饱和度 +15 | 对比度 +10 |
| 低饱和胶片风 | 无 | 无 | 饱和度 -35, 自然饱和度 -10 | 对比度 +10 |
image_adjust_highlightsamount: -60image_adjust_dark_portionsamount: +40image_adjust_brightness_and_contrastcontrast: 30image_adjust_vibrance_and_saturationvibrance: 30image_adjust_vibrance_and_saturationsaturation: -30image_adjust_exposureexposure: +0.5exposure: -0.5+0.3image_adjust_light_portionsamount: +20image_apply_gaussian_blurblurRadius: 12, blurTarget: "background"image_crop_and_resizefit: "reframe"outputalign: { x: 0.5, y: 0.5 }image_crop_and_resizefit: "reframe"outputfocus: "face"focus: "subject"✅ 已确认——将使用以下设置:
- 风格:[所选风格]
- 微调:[列出所选选项,若无则显示“无”]
- 裁剪:[比例或“不裁剪”] + [居中 / 智能裁剪]
- 背景模糊:[是/否]⏱ Estimated time for [N] images:
6–10 → ~3–5 min
11–20 → ~5–10 min
20+ → 10+ min
Feel free to step away — I'll post a ✅ summary with download links when done.⏱ [N]张图片的预计处理时间:
6–10张 → ~3–5分钟
11–20张 → ~5–10分钟
20张以上 → 10分钟以上
你可以先去处理其他事情——完成后我会发送✅总结和下载链接。sourceURIs[0]asset_preview_fileimage_crop_and_resizeasset_preview_file({
assets: [
{ name: "Before", presignedAssetUrl: sourceURIs[0] },
{ name: "After", presignedAssetUrl: processed_url }
]
})👆 Here's a before/after preview using your first photo and the settings you selected.
How does it look?AskUserQuestionQuestion (single_select):
question: "Ready to run the full batch?"
options:
- "✅ Looks great — run all [N] images"
- "🎛️ Adjust settings"
- "❌ Cancel"sourceURIs[1…]AskUserQuestionQuestion (single_select):
question: "Want to preview the new settings first, or run all images now?"
options:
- "👁 Preview first"
- "🚀 Run all [N] images now"sourceURIssourceURIs[0]asset_preview_fileimage_crop_and_resizeasset_preview_file({
assets: [
{ name: "Before", presignedAssetUrl: sourceURIs[0] },
{ name: "After", presignedAssetUrl: processed_url }
]
})👆 这是使用你的第一张照片和所选设置生成的前后对比预览。
效果如何?AskUserQuestionQuestion (单选):
question: "是否准备启动全批量处理?"
options:
- "✅ 效果很好——处理所有[N]张图片"
- "🎛️ 调整设置"
- "❌ 取消"sourceURIs[1…]AskUserQuestionQuestion (单选):
question: "是先预览新设置效果,还是立即处理所有图片?"
options:
- "👁 先预览"
- "🚀 立即处理所有[N]张图片"sourceURIsTool: image_auto_straighten
Params:
imageURIs: ["<source_uri_N>"]
options:
uprightMode: "auto"
constrainCrop: trueresults[0].outputUrlstraightened_urls[]Tool: image_auto_straighten
Params:
imageURIs: ["<source_uri_N>"]
options:
uprightMode: "auto"
constrainCrop: trueresults[0].outputUrlstraightened_urls[]Tool: image_apply_auto_tone
Params:
imageURI: "<straightened_url_N>"
options:
type: "cameraRawFilter"
outputFileType: "jpeg"type: "cameraRawFilter"image_apply_auto_toneresults[0].outputUrltoned_urls[]Tool: image_apply_auto_tone
Params:
imageURI: "<straightened_url_N>"
options:
type: "cameraRawFilter"
outputFileType: "jpeg"image_apply_auto_tonetype: "cameraRawFilter"results[0].outputUrltoned_urls[]image_adjust_color_temperatureimageURIsTool: image_adjust_color_temperature
Params:
imageURIs: ["<toned_url_1>", "<toned_url_2>", ...]
options:
a: <value from mapping> # green-red axis (-128–127)
b: <value from mapping> # blue-yellow axis (-128–127)
luminance: <value from mapping> # 0–100results[N].outputUrlcolor_temp_urls[]Tool: image_apply_preset
Params:
imageURI: "<color_temp_url_N>"
options:
presetName: "<preset from mapping>"Tool: image_adjust_vibrance_and_saturation
Params:
imageURIs: ["<previous_url_N>"]
options:
vibrance: <value>
saturation: <value>Tool: image_adjust_brightness_and_contrast
Params:
imageURIs: ["<previous_url_N>"]
options:
brightness: <value> # omit if not needed for this look
contrast: <value> # omit if not needed for this lookimage_apply_presetimage_adjust_color_temperatureimageURIsTool: image_adjust_color_temperature
Params:
imageURIs: ["<toned_url_1>", "<toned_url_2>", ...]
options:
a: <映射表中的值> # 绿-红轴 (-128–127)
b: <映射表中的值> # 蓝-黄轴 (-128–127)
luminance: <映射表中的值> # 0–100results[N].outputUrlcolor_temp_urls[]Tool: image_apply_preset
Params:
imageURI: "<color_temp_url_N>"
options:
presetName: "<映射表中的预设>"Tool: image_adjust_vibrance_and_saturation
Params:
imageURIs: ["<previous_url_N>"]
options:
vibrance: <值>
saturation: <值>Tool: image_adjust_brightness_and_contrast
Params:
imageURIs: ["<previous_url_N>"]
options:
brightness: <值> # 如果该风格不需要则省略
contrast: <值> # 如果该风格不需要则省略image_apply_presetimageURIsTool: image_adjust_highlights / image_adjust_dark_portions / image_adjust_brightness_and_contrast /
image_adjust_vibrance_and_saturation / image_adjust_exposure / image_adjust_light_portions
Params:
imageURIs: ["<look_url_1>", "<look_url_2>", ...]
options:
<values from mapping>image_adjust_brightness_and_contrastbrightnesscontrastTool: image_apply_gaussian_blur
Params:
imageURIs: ["<url_N>"]
options:
blurRadius: 12
blurTarget: "background"imageURIsTool: image_adjust_highlights / image_adjust_dark_portions / image_adjust_brightness_and_contrast /
image_adjust_vibrance_and_saturation / image_adjust_exposure / image_adjust_light_portions
Params:
imageURIs: ["<look_url_1>", "<look_url_2>", ...]
options:
<映射表中的值>image_adjust_brightness_and_contrastbrightnesscontrastTool: image_apply_gaussian_blur
Params:
imageURIs: ["<url_N>"]
options:
blurRadius: 12
blurTarget: "background"fit: "reframe"Tool: image_crop_and_resize
Params:
imageURI: "<adjusted_url_N>"
options:
output: "<ratio>" # "1:1", "4:5", "16:9", "4:3"
fit: "reframe"
align: { x: 0.5, y: 0.5 } # geometric center
outputFileType: "jpeg"Tool: image_crop_and_resize
Params:
imageURI: "<adjusted_url_N>"
options:
output: "<ratio>" # "1:1", "4:5", "16:9", "4:3"
fit: "reframe"
focus: "face" # or "subject" for non-portrait scenes
outputFileType: "jpeg"final_urls[]final_urls[]fit: "reframe"Tool: image_crop_and_resize
Params:
imageURI: "<adjusted_url_N>"
options:
output: "<比例>" # "1:1", "4:5", "16:9", "4:3"
fit: "reframe"
align: { x: 0.5, y: 0.5 } # 几何中心
outputFileType: "jpeg"Tool: image_crop_and_resize
Params:
imageURI: "<adjusted_url_N>"
options:
output: "<比例>" # "1:1", "4:5", "16:9", "4:3"
fit: "reframe"
focus: "face" # 非人像场景使用"subject"
outputFileType: "jpeg"final_urls[]final_urls[]asset_preview_fileimage_crop_and_resizefit: "pad"fit: "reframe"asset_preview_fileasset_preview_file({
assets: [
{ name: "photo_1.jpg", presignedAssetUrl: final_url_1 },
// ... one per image
]
})asset_preview_fileasset_preview_fileasset_preview_fileimage_crop_and_resizefit: "pad"fit: "reframe"asset_preview_fileasset_preview_file({
assets: [
{ name: "photo_1.jpg", presignedAssetUrl: final_url_1 },
// ... 每张图片对应一项
]
})asset_preview_fileasset_preview_filecreate_firefly_board({
import_adobe_storage: [
final_output_url_1,
final_output_url_2,
// ...
]
})create_firefly_boardboard_urlboard_urlboard_url✅ Done! [N] photos edited with a consistent [look name] look.
📥 Download:
• Photo 1 → <final_url_1>
• ...
🎨 View in Firefly Board → <board_url> ← always include if board_url is set
Look applied: [look name] → [brief description of what was applied]✅ Done! [N] photos edited with a consistent [look name] look.
📥 Your edited photos:
• Photo 1 → <final_url_1>
• Photo 2 → <final_url_2>
• ...
🎨 View in Firefly Board → <board_url> ← always include if board_url is set
Look applied: [look name] → [brief description of what was applied]create_firefly_board({
import_adobe_storage: [
final_output_url_1,
final_output_url_2,
// ...
]
})create_firefly_boardboard_urlboard_urlboard_url✅ 处理完成!已为[N]张照片应用统一的[风格名称]风格。
📥 下载链接:
• 照片1 → <final_url_1>
• ...
🎨 在Firefly Board中查看 → <board_url> ← 只要board_url存在就包含
应用的风格:[风格名称] → [应用内容的简要描述]✅ 处理完成!已为[N]张照片应用统一的[风格名称]风格。
📥 编辑后的照片:
• 照片1 → <final_url_1>
• 照片2 → <final_url_2>
• ...
🎨 在Firefly Board中查看 → <board_url> ← 只要board_url存在就包含
应用的风格:[风格名称] → [应用内容的简要描述]{ "results": [{ "success": true, "outputUrl": "https://..." }] }results[N].outputUrlsuccess: false{ "results": [{ "success": true, "outputUrl": "https://..." }] }results[N].outputUrlsuccess: false| Situation | Action |
|---|---|
| Skip preset for all images (Pattern 1). Note in summary. Continue with other look steps. |
| Any tone/color tool returns 403 | Skip that step. Note in summary. Continue. |
| Any tool returns "No approval received" | Treat the same as a 403 entitlement error. For optional steps (presets, fine-tune adjustments, preview), skip and note in summary. Retrying does not help for this error — continue per the rules above. |
| Any tool returns 401 | Ask user to re-authenticate via Adobe OAuth and retry. |
| Any tool returns "file too large or corrupted" | Stop processing that image immediately. Do not retry, do not attempt alternative URLs. Tell the user: "I couldn't process [filename] — it's either too large or the file may be damaged. Try re-uploading a smaller version, or check that the file opens correctly on your end." Flag the image in the summary and continue with remaining images. |
| Remind user to select files in the picker. |
| Use original URI; note "straighten skipped". |
| Use straightened URI; note in summary. |
| Any adjustment tool fails | Use previous step's output; note in summary. |
| Use previous output; note "blur skipped". |
| Use blur/adjusted output as final; note in summary. |
| Present final output URLs as plain text links in the summary instead. |
| All steps fail on one image | Return original URI; flag clearly in summary. |
| 场景 | 处理方式 |
|---|---|
| 对所有图片跳过预设步骤(模式1)。在总结中注明。继续执行其他风格步骤。 |
| 任何调色/色彩工具返回403错误 | 跳过该步骤。在总结中注明。继续执行。 |
| 任何工具返回“No approval received” | 视为与403权限错误相同。对于可选步骤(预设、微调调整、预览),跳过并在总结中注明。此错误重试无效——按上述规则继续处理。 |
| 任何工具返回401错误 | 要求用户通过Adobe OAuth重新认证后重试。 |
| 任何工具返回“file too large or corrupted” | 立即停止处理该图片。不重试,不尝试其他URL。告知用户:“无法处理[文件名]——文件过大或已损坏。请尝试上传更小的版本,或检查文件在你的设备上能否正常打开。”在总结中标记该图片,继续处理剩余图片。 |
| 提醒用户在选择器中选择文件。 |
| 使用原始URI;记录“扶正步骤已跳过”。 |
| 使用扶正后的URI;在总结中注明。 |
| 任何调整工具处理失败 | 使用上一步的输出结果;在总结中注明。 |
| 使用上一步的输出结果;记录“模糊步骤已跳过”。 |
| 使用模糊/调整后的输出结果作为最终结果;在总结中注明。 |
| 在总结中以纯文本链接形式展示最终输出URL。 |
| 某张图片所有步骤均处理失败 | 返回原始URI;在总结中明确标记。 |
image_apply_auto_tonetype: "cameraRawFilter"image_apply_gaussian_blurblurTarget: "background"image_apply_lens_blurimage_apply_auto_tonetype: "cameraRawFilter"image_apply_gaussian_blurblurTarget: "background"image_apply_lens_blur