Copy link to clipboard
Copied
I create Instagram carousels DAILY for myself and my clients, some are minimal but most are creative and have seamless designs to make them unique. This update limited the sizing for exports to 8192px, absolutely destroying my workflow. Please reverse this or fix it. Instagram increased carsouel from 10 posts to 20, my canvases are 10800 or 21600, 8192 isn't going to cut it.
I have created a custom script to save PNG, JPEG, or WEBP "slices" of an Instagram carousel image at 1080px wide,
/*
Save Instagram 1080px Carousel Images v1-3.jsx
Stephen Marsh
v1.0, 8th January 2025
v1.1, 14th January 2025 - Added doc height checking in addition to the previous width checks
v1.2, 23rd March 2025 - Added a check if the final parent layer is an artboard. Added a check for the folder sCopy link to clipboard
Copied
Copy link to clipboard
Copied
What's the canvas size?
Are you running the latest 1.2 version?
Have you tried different save locations and or formats?
Copy link to clipboard
Copied
The template canvas is 20 4x5 panels - so 21600 x 1350 px
The header to the script tells me I'm running 23/3/25 v1.2
Tried JPGs and PNGs with the same error message.
It's weird - as I mentioned I used this maybe three days ago successfully - same version (latest) of PS using the same script and template.
I'm mystified as to what might have changed.
Copy link to clipboard
Copied
What exact version of Photoshop and OS?
Have you rebooted and or reset preferences/settings in Photoshop? Backup any unsaved actions or presets before resetting.
Copy link to clipboard
Copied
Windows 11 25H2
PS 27.0
I guess resetting preferences is worth a punt.
Copy link to clipboard
Copied
OK, it's not just you, it's broken in my Photoshop 2025 (26.11.0) on Win 11 as well.
Going back to Photoshop 2021, it works if I remove the block of code that checks for an artboard. However, it's still broken in Photoshop 2025 even without the artboard check.
At this point, I haven't worked out what it is.
Copy link to clipboard
Copied
Ok - thanks for the confirmation. That is super weird, as it was fine a couple of days ago with Win11 / PS 27, and as far as I can see nothing has changed in the time in between.
Copy link to clipboard
Copied
While on the topic of Instagram carousel template creation, I have created a script to create variable width templates from 2-10 slices for either square or portrait layouts. The slice tool will automatically create the required number of slices and a warning will be presented if the canvas size is greater than 8192px.
/*
Instagram Carousel Template Creator v1-0.jsx
Stephen Marsh
v1.0, 8th January 2025
Info: This script creates a new Photoshop document with guides and slices for an Instagram carousel template
Inspired by
https://community.adobe.com/t5/photoshop-ecosystem-discussions/exporting-carousels-ruined/td-p/15073529
*/
#target photoshop
// Create the dialog window
var dlg = new Window('dialog', 'Instagram Carousel Template Creator (v1.0)');
dlg.orientation = 'column';
dlg.alignChildren = 'fill';
// Add radio buttons for format selection
dlg.formatGroup = dlg.add('panel', undefined, 'Select Format');
dlg.formatGroup.orientation = 'row';
dlg.formatGroup.square = dlg.formatGroup.add('radiobutton', undefined, 'Square (1080px x 1080px)');
dlg.formatGroup.portrait = dlg.formatGroup.add('radiobutton', undefined, 'Portrait (1080px x 1350px)');
dlg.formatGroup.square.value = true; // Default to square format
// Add dropdown menu for frame multiplier selection
dlg.framesGroup = dlg.add('panel', undefined, 'No. of Frames');
dlg.framesGroup.orientation = 'row';
//dlg.framesGroup.add('statictext', undefined, 'frames:');
var framesDropdown = dlg.framesGroup.add('dropdownlist', undefined, ['2', '3', '4', '5', '6', '7', '8', '9', '10']);
framesDropdown.selection = 0; // Default to 2
// Add Cancel and OK buttons and align them to the right
dlg.buttonsGroup = dlg.add('group', undefined, '');
dlg.buttonsGroup.orientation = 'row';
dlg.buttonsGroup.alignment = 'right';
dlg.buttonsGroup.add('button', undefined, 'Cancel', { name: 'cancel' });
dlg.buttonsGroup.add('button', undefined, 'OK', { name: 'ok' });
// Show the dialog
if (dlg.show() == 1) {
var frames = parseInt(framesDropdown.selection.text);
if (isNaN(frames) || frames < 1) {
alert('Invalid frames value. Please select a valid number.');
} else {
var baseWidth = 1080;
var baseHeight = dlg.formatGroup.square.value ? 1080 : 1350;
var docWidth = baseWidth * frames;
var docHeight = baseHeight;
// Create the new document
var newDoc = app.documents.add(docWidth, docHeight, 72, 'New Document', NewDocumentMode.RGB, DocumentFill.WHITE);
// Add vertical guides and slices
for (var i = baseWidth; i < docWidth; i += baseWidth) {
// Add the vertical frame guides
newDoc.guides.add(Direction.VERTICAL, i);
// ActionDescriptor and ActionReference string to type ID conversion functions
var s2t = function (s) {
return app.stringIDToTypeID(s);
};
// Create slices at each 1080px interval
if (i + baseWidth <= docWidth) { // Ensure slices do not exceed document width
var descriptor = new ActionDescriptor();
var descriptor2 = new ActionDescriptor();
var descriptor3 = new ActionDescriptor();
var reference = new ActionReference();
reference.putClass(s2t("slice"));
descriptor.putReference(s2t("null"), reference);
descriptor2.putEnumerated(s2t("type"), s2t("sliceType"), s2t("user"));
descriptor3.putUnitDouble(s2t("top"), s2t("pixelsUnit"), 0);
descriptor3.putUnitDouble(s2t("left"), s2t("pixelsUnit"), i);
descriptor3.putUnitDouble(s2t("bottom"), s2t("pixelsUnit"), docHeight);
descriptor3.putUnitDouble(s2t("right"), s2t("pixelsUnit"), i + baseWidth);
descriptor2.putObject(s2t("at"), s2t("rectangle"), descriptor3);
descriptor.putObject(s2t("using"), s2t("slice"), descriptor2);
executeAction(s2t("make"), descriptor, DialogModes.NO);
}
}
}
// Add guides to the canvas edges
newDoc.guides.add(Direction.HORIZONTAL, 0); // Top edge
newDoc.guides.add(Direction.HORIZONTAL, newDoc.height); // Bottom edge
newDoc.guides.add(Direction.VERTICAL, 0); // Left edge
newDoc.guides.add(Direction.VERTICAL, newDoc.width); // Right edge
// Check if the document width exceeds 8192px
if (docWidth > 8192) {
alert('Warning: Document width exceeds 8192 px!' + '\n' + 'Saving slices via "Save for Web" will incorrectly reduce the exported slice size.');
}
}
https://prepression.blogspot.com/2017/11/downloading-and-installing-adobe-scripts.html
Find more inspiration, events, and resources on the new Adobe Community
Explore Now