Claude
Skills
Sign in
Back

adobe-create-social-variations

Included with Lifetime
$97 forever

Resize, crop, or export any image or video into platform-ready social media assets using Adobe Creative Cloud tools. Use this skill when a user wants to prepare a photo, image, or video for one or more social platforms — Instagram, TikTok, LinkedIn, Facebook, YouTube, Snapchat, Pinterest, Threads, or X/Twitter. Triggers on: "prepare my image for Instagram", "resize for TikTok", "get this ready to post", "make versions for all platforms", "social media sizes", "crop for stories", "export for LinkedIn", "resize my video for social", "make social media assets", or any request to adapt a photo or video for specific platforms. Handles subject-aware cropping, AI canvas expansion, test previews before full runs, and same-ratio video resizing.

Ads & Marketing

What this skill does


# Adobe Create Social Variations

Produces platform-ready images and videos from a single source file. Uses AI canvas expansion and subject-aware cropping to keep the subject in focus across all aspect ratios. Shows a lightweight 3-crop preview before a full-set run so framing issues are caught early — those crops are then reused in the final output.

---

## Supported Input Types

| Input                         | Supported       | Notes                                                                               |
| ----------------------------- | --------------- | ----------------------------------------------------------------------------------- |
| JPG / PNG                     | ✅ Full workflow |                                                                                     |
| Firefly-generated image       | ✅ Full workflow | For `.ffgenimg` assets, pass the `presignedRenditionUrl` field, not `presignedAssetUrl` |
| Express file                  | ⚠️ Partial       | Must be exported to JPG/PNG first — tell user before proceeding                     |
| PSD / AI (Illustrator)        | ⚠️ Partial       | Flatten first (see Error Handling if this fails)                                    |
| Video (MP4/MOV)               | ⚠️ Partial       | Resize only — no smart reframe. See VIDEO WORKFLOW                                  |
| Unsupported (DOCX, PDF, etc.) | ❌               | Inform user; list accepted formats                                                  |

---

## Step 0 - prereq: Initialize Adobe Tools
Call `adobe_mandatory_init` first. This returns file handling rules and tool routing guidance required for the rest of the workflow.

```json
{ "skill_name": "adobe-create-social-variations", "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 connector and set capability flags.

### Image Workflow — Core Tools (required)

All of these must be present for the skill to run at all. If **any** are missing from the connector, output this message exactly and stop — make no further tool calls:

> "To access this skill, please disconnect and reconnect to the "Adobe for creativity" Connector to sign in using an Adobe account, or sign up."

| Tool | Purpose |
|------|---------|
| `asset_add_file` | File picker / CC browse / upload |
| `asset_initialize_file_upload` | First call in two-step egress upload |
| `asset_finalize_file_upload` | Second call in two-step egress upload |
| `asset_inline_preview` | Determines focus strategy before cropping |
| `image_crop_and_resize` | Per-platform, per-format cropping |
| `asset_preview_file` | Test previews and final delivery |

### Image Workflow — Enhanced Tools (optional, graceful fallback)

| Tool | Flag | If missing |
|------|------|------------|
| `image_generative_expand` | `expandAvailable = true/false` | Use `image_crop_and_resize` with `fit: "reframe"` from `sourceURI` instead. Do NOT mention "AI canvas expansion" to the user. Note in delivery summary: "Smart reframe was used for aspect ratio adaptation." |

### Video Workflow — Required Tools (optional workflow, all-or-nothing)

Only offer the video workflow if **both** tools below are available. If either is missing, set `videoCapable = false` — do NOT mention video resizing capabilities to the user at any point.

| Tool | Purpose |
|------|---------|
| `video_resize` | Same-ratio resize only |
| `resizeVideoPoll` | Deferred tool — load before calling |

If `videoCapable = false` and the user explicitly asks about video resizing, avoid verbosity and output this message exactly:

> "Video resizing isn't available with your current setup. Please disconnect and reconnect to the "Adobe for creativity" Connector to sign in using an Adobe account, or sign up. In the meantime, I can help with image crops and social media variants though."

---

## Tool Reference

| Step | Tool | Notes |
|------|------|-------|
| Upload chat-dropped file | `asset_initialize_file_upload` | First call in two-step egress upload |
| Complete the upload | `asset_finalize_file_upload` | Second call in two-step egress upload |
| Get file from CC or as egress fallback | `asset_add_file` | File picker / CC browse / upload |
| Inspect source image | `asset_inline_preview` | Determines focus strategy before cropping |
| Expand canvas | `image_generative_expand` | Creates tall (9:16/4:5) and wide (~2:1/16:9) variants |
| Crop to platform dimensions | `image_crop_and_resize` | Per-platform, per-format; also 403 fallback for expand |
| Preview test crops or full set | `asset_preview_file` | Before full run (test) and at delivery |
| Resize video | `video_resize` | Same-ratio resize only |
| Poll video resize job | `resizeVideoPoll` | Deferred tool — load before calling |

---

## IMAGE WORKFLOW

### Step 0 — Get the Source File

How you get the file depends on where it is:

| Source                                             | Action                                                                                                                                                                                                                                                                                    |
| -------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| File uploaded in chat (`/mnt/user-data/uploads/…`) | Check `<network_configuration>`. If egress is enabled (`Enabled: true`), upload programmatically: get file size and MIME type via bash, call `asset_initialize_file_upload`, PUT the chunk(s), then `asset_finalize_file_upload`. If egress is disabled, fall back to `asset_add_file()`. |
| No file provided yet                               | Call `asset_add_file()` immediately — no need to ask first.                                                                                                                                                                                                                               |
| File already in Creative Cloud                     | Call `asset_add_file()` so the user can select it from their CC storage.                                                                                                                                                                                                                  |

After the file is available, detect image vs. video from `mediaType`. For images, proceed to Step 1.

---

### Step 1 — Ask: Which Platforms?

Ask in a single question using `AskUserQuestion` with multi-select:

> Full set / Instagram / TikTok / LinkedIn / Facebook / YouTube / Snapchat / X/Twitter / Pinterest / Threads

**Set the test flag based on the user's answer:**

- **If "Full set" is selected** → `runTestPreview = true`. Use all platforms. A 3-crop test preview will be shown before the full set is generated (see Step 4).
- **If any specific platform(s) are selected** → `runTestPreview = false`. Use only the selected platforms. Skip the test preview and go directly from Step 3 to Step 5.

> The test preview is a useful safety net for large cross-platform batches, but unnecessary friction for a targeted 1–2 platform run.

---

### Step 2 — Inspect Image & Set Focus Strategy

**Inspect the image first** using `asset_inline_preview` on the source file. Visual inspection produces far better focus decisions than guessing from the filename — and usually means you won't need to ask the user anything at all.

After inspecting, tell the user what you see and what focus strategy you're using, and invite a correction:

> "I can see this is a [e.g. 'product shot of a tote bag on a neutral background']

Related in Ads & Marketing