I am under the impression that photoshop only supports manual adjustment on timeline, allowing one to edit one frame at a time. If I have hundreds of layers, it will take days to create a gif that is only a few seconds. I doubt that's how gifs are made. Is there a quicker way to turn layers into animated sequels?

  1. Window > Timeline
  2. Click the Create Video Timeline button.
  3. Timeline Panel Menu choose Convert Frames > Covert to Frame Animation
  4. Timeline Panel Menu choose Make Frames from Layers

From there you have to manually alter timing, tweening, sequences, etc.

  • Cool, simple but sort of hidden from the main interface. Feb 25 '15 at 3:10
  • Photoshop really isn't optimized for video/timeline/animation work. It's an image editor first-and-foremost.
    – bemdesign
    Feb 25 '15 at 4:17

I wrote a script because I was tired of manually editing it, here you go.

//make a video timeline
// =======================================================
var idconvertTimeline = stringIDToTypeID( "convertTimeline" );
    var desc4 = new ActionDescriptor();
executeAction( idconvertTimeline, desc4, DialogModes.NO );

var layerName = app.activeDocument.activeLayer.name;
var firstLayer = app.activeDocument.activeLayer;
var secondLayerName;
var secondLayer;
var thirdLayerName;
var thirdLayer;

secondLayerName = layerName.replace("(1)","(2)");
secondLayer = app.activeDocument.layers.getByName(secondLayerName);

// =======================================================
var idDplc = charIDToTypeID( "Dplc" );
    var desc6 = new ActionDescriptor();
    var idnull = charIDToTypeID( "null" );
        var ref2 = new ActionReference();
        var idanimationFrameClass = stringIDToTypeID( "animationFrameClass" );
        var idOrdn = charIDToTypeID( "Ordn" );
        var idTrgt = charIDToTypeID( "Trgt" );
        ref2.putEnumerated( idanimationFrameClass, idOrdn, idTrgt );
    desc6.putReference( idnull, ref2 );
executeAction( idDplc, desc6, DialogModes.NO );

firstLayer.visible = false;

for(var i = 2; i < 38; i++){
var str = "(" + i + ")";
var str2 = "(" + (i+1) + ")"; 

thirdLayerName = secondLayerName.replace(str,str2);
thirdLayer = app.activeDocument.layers.getByName(thirdLayerName);

// =======================================================
var idDplc = charIDToTypeID( "Dplc" );
    var desc7 = new ActionDescriptor();
    var idnull = charIDToTypeID( "null" );
        var ref3 = new ActionReference();
        var idanimationFrameClass = stringIDToTypeID( "animationFrameClass" );
        var idOrdn = charIDToTypeID( "Ordn" );
        var idTrgt = charIDToTypeID( "Trgt" );
        ref3.putEnumerated( idanimationFrameClass, idOrdn, idTrgt );
    desc7.putReference( idnull, ref3 );
executeAction( idDplc, desc7, DialogModes.NO );

secondLayer.visible = false;

secondLayerName = thirdLayerName;
secondLayer = thirdLayer;   

  • If you want to learn how add scripts into photoshop, you just open it like a picture or any other file, the loop needs to be adjusted to how many pictures your uploading, and my file names were called sometext(1).png, sometext(2). You just need the numbers seperated by paranthesis, and you would open this script after you load your images into a stack. Apr 6 '18 at 21:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.