Skip to content
AI & Agents
Skill

/adobe-resize-photos-and-videos

Resize photos and videos to exact pixel dimensions or aspect ratios using Adobe tools. Use this skill whenever a user wants to resize, scale, or change the dimensions of an image or video file — including phrases like "resize this to 1920x1080", "make this 4K", "scale to

From plugin
adobe-skills
162160 skills6 agents4 MCP
Install
$ npx -y skills add adobe/skills --skill adobe-resize-photos-and-videos --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/adobe-resize-photos-and-videos

Context preview

The summary Claude sees to decide when to auto-load this skill.

Resize photos and videos to exact pixel dimensions or aspect ratios using Adobe tools. Use this skill whenever a user wants to resize, scale, or change the dimensions of an image or video file — including phrases like "resize this to 1920x1080", "make this 4K", "scale to

SKILL.md

adobe-resize-photos-and-videos.SKILL.md
name: adobe-resize-photos-and-videos
description: >
  Resize photos and videos to exact pixel dimensions or aspect ratios using Adobe tools.
  Use this skill whenever a user wants to resize, scale, or change the dimensions of an image
  or video file — including phrases like "resize this to 1920x1080", "make this 4K", "scale
  to 800x600", "change the aspect ratio to 16:9", "resize my video", "make the image smaller",
  "crop to square", "fit this to a specific size", "resize for print", "resize for web",
  "make it 300 DPI ready", "change canvas size", "resize a batch of photos", or any request
  specifying target dimensions (W×H, ratio, or named size like "4K", "HD", "A4").
  Also triggers for: "make this fit a specific size", "resize to [any dimension]",
  "I need this at [WxH]", "scale my video down", "change resolution", "downscale", "upscale".
  NOT for social media platform sets (use adobe-create-social-variations for that).
  Uses image_crop_and_resize for photos, video_resize for videos.
license: Apache-2.0
metadata:
  version: 1.0.1
  visibility: public

Adobe Resize Photos and Videos

Resizes images or videos to user-specified dimensions, aspect ratio, or named size. For social media platform sets (Instagram, TikTok, etc.) → use the `adobe-create-social-variations` skill instead.

---

Tool Reference

| Step | Tool | Notes | |------|------|-------| | Open file picker | `asset_add_file` | Returns `presignedAssetUrl`, `assetId`, and `mediaType` | | Find asset in CC | `asset_search` | Re-stage result via `asset_add_file` for image; use `id` directly for video | | Render PSD/AI | `document_render_vector` | Converts to JPEG before resize | | Resize image | `image_crop_and_resize` | One call per dimension; `reframe` by default | | Preview outputs | `asset_preview_file` | All outputs in a single call | | Upload to CC (start) | `asset_initialize_file_upload` | First call in block upload pipeline | | Upload to CC (finish) | `asset_finalize_file_upload` | Second call; returns presigned CC URL for board | | Create Firefly board | `create_firefly_board` | Pass `import_adobe_storage` with finalize URL | | Resize video | `video_resize` | Returns `statusId` for polling | | Poll video resize | `resizeVideoPoll` | Deferred tool — load before calling |

---

Workflow

Step 0 — Initialize Adobe Tools

Call `adobe_mandatory_init` first. This returns file handling rules and tool routing guidance required for the rest of the workflow.

{ "skill_name": "adobe-resize-photos-and-videos", "skill_version": "1.0.1" }

---

Step 1 — Entitlement Check

Now that `adobe_mandatory_init` confirmed that the "Adobe for creativity" connector is live, check which tools are available through the "Adobe for creativity" connector by cross checking against the **Tool Reference** table above.

---

IMMEDIATE ACTION REQUIRED

**Step 1:** If parameters are missing or ambiguous → run the multi-step intake (Step 2 below). **Step 2:** If no file is uploaded, run Step 3 (`asset_add_file({})`). **Step 3:** Detect image vs. video and route to the correct workflow (Step 5 Image/Video).

---

Step 2 — Multi-Step Intake

Run this when the user hasn't provided complete parameters (type + dimensions + fit mode). Skip entirely if the user's message already contains all three.

Use `AskUserQuestion` to collect parameters step by step.

Step 2a — Type

AskUserQuestion([{
  question: "Photo or video?",
  type: "single_select",
  options: ["Photo", "Video"]
}])

Step 2b — Dimensions

**If Photo** (`multi_select` — user can pick one or more):

AskUserQuestion([{
  question: "Dimensions — select all you need",
  type: "multi_select",
  options: [
    "1080 × 1080 — Instagram square",
    "1080 × 1350 — Instagram portrait",
    "1080 × 1920 — Stories / Reels",
    "1920 × 1080 — YouTube / landscape",
    "1280 × 720 — YouTube thumbnail",
    "1200 × 675 — X / Twitter post",
    "1200 × 630 — Facebook / OG image",
    "1080 × 566 — LinkedIn post",
    "2560 × 1440 — YouTube banner",
    "3840 × 2160 — 4K / UHD",
    "400 × 400 — Profile / avatar",
    "2480 × 3508 — A4 print (300 dpi)",
    "Custom — I'll type it"
  ]
}])

If user includes "Custom" → follow up: "Enter your custom dimensions (e.g. 1500×800):"

If user selects multiple presets → run `image_crop_and_resize` once per dimension, using the same source URI and parameters each time. Preview all outputs together at the end.

**If Video** (`multi_select` — user can pick one or more):

AskUserQuestion([{
  question: "Dimensions — select all you need",
  type: "multi_select",
  options: [
    "1080 × 1920 — Reels / TikTok / Stories",
    "1920 × 1080 — YouTube / landscape",
    "1080 × 1080 — Square post",
    "1280 × 720 — YouTube 720p",
    "3840 × 2160 — 4K / UHD",
    "854 × 480 — SD / 480p",
    "Custom — I'll type it"
  ]
}])

If user selects multiple video presets → submit a separate `video_resize` job per dimension, poll each to completion, preview all outputs together.

Step 2c — Fit mode

**If Photo** (`single_select`):

AskUserQuestion([{
  question: "Fit mode",
  type: "single_select",
  options: [
    "Reframe — crop to fill",
    "Pad — letterbox, no crop",
    "Extract — isolate subject"
  ]
}])

**If Video** (`single_select`):

AskUserQuestion([{
  question: "Fit mode",
  type: "single_select",
  options: [
    "Letterbox — preserve ratio",
    "Crop — fill, no bars",
    "Stretch — force exact (distort)"
  ]
}])

Step 2d — Smart focus (Photo only)

AskUserQuestion([{
  question: "Smart focus — where should the crop center?",
  type: "single_select",
  options: [
    "Subject",
    "Face / portrait",
    "Upper body",
    "Center (geometric)",
    "Named object — I'll describe it"
  ]
}])

If user selects "Named object" → follow up: "Describe the object (e.g. 'the red car', 'the logo'):"

Step 2e — Options (Photo only)

AskUserQuestion([{
  question: "Any
Read more
Ships withadobe-skills

Repository of Adobe skills for AI coding agents.

Get the whole plugin

Other skills on adobe-skills.