• Editor
  • CLI PNG Sequence Export - Textures Not Rendering

Hello Spine community,
I'm trying to export PNG animation sequences via CLI from existing Spine files and running into texture binding issues. I've been working on this for quite some time and would appreciate any help - I'm even willing to compensate someone who can provide a working solution....
My Setup:

Input files: .skel + .atlas + .png (packed texture atlas)
macOS, using: /Applications/Spine.app/Contents/MacOS/Spine
Goal: Export animation frames as PNG sequence with textures rendered

Current Issue:

✅ Animation frames export correctly (proper skeleton poses)
❌ Textures show as missing (checkerboard pattern instead of character textures)

What I've Tried:

Various export settings configurations
Different working directory approaches
Verified all files (.skel, .atlas, .png) are present and accessible
Referenced this successful case: https://en.esotericsoftware.com/forum/d/24042-export-cli-script-help

Current Command:
bash/Applications/Spine.app/Contents/MacOS/Spine -i skeleton.skel -o output/animation.png -e export-settings.json
The skeleton data was exported with nonessential data included, so image paths should be preserved. However, Spine CLI seems unable to locate/bind the texture file during PNG export.
Looking For:

Working CLI command syntax
Proper export-settings.json configuration
File organization best practices
Any insights on texture path resolution in CLI exports

Has anyone successfully exported PNG sequences from existing .skel/.atlas/.png files via CLI? Any help would be greatly appreciated!
Thanks

  • Misaki님이 이에 답장했습니다.
    Related Discussions
    ...

    zozodani Based on your description, it appears that you are exporting without first unpacking the texture atlas. If so, the correct images will likely be missing from the export because they are not in a location that can be searched from the attachment paths in the .skel file.
    First, execute the unpack command to unpack the texture and place the image in the expected location. (In most cases, you should have a folder named “images” in the same hierarchy.)

    • zozodani님이 이에 답장했습니다.

      Misaki Is this the right json export file? {
      "class": "export-png",
      "exportType": "animation",
      "skeletonType": "single",
      "skeleton": "skeleton",
      "animationType": "all",
      "animation": null,
      "skinType": "current",
      "skinNone": "default",
      "skin": null,
      "maxBounds": false,
      "renderImages": true,
      "renderBones": false,
      "renderOthers": false,
      "scale": 100,
      "fitWidth": 0,
      "fitHeight": 0,
      "enlarge": false,
      "background": null,
      "fps": 20,
      "lastFrame": false,
      "cropWidth": 0,
      "cropHeight": 0,
      "rangeStart": -1,
      "rangeEnd": -1,
      "packAtlas": null,
      "compression": 6,
      "bruteForce": false,
      "quantize": false,
      "quality": 100,
      "speed": 4,
      "dither": 0.5,
      "maxColors": 256,
      "pad": false,
      "msaa": 0,
      "smoothing": 8,
      "renderSelection": false,
      "cropX": 0,
      "cropY": 0,
      "warmUp": 1,
      "output": "output",
      "id": -1,
      "open": false
      }

      • Misaki님이 이에 답장했습니다.

        zozodani Yes, I just exported Spineboy using those export settings and got the correct results. Therefore, if the images referenced by your skeleton are in the correct location, you should be able to export the PNG sequence correctly.

        • zozodani님이 이에 답장했습니다.

          Misaki
          this is my directory and these r the commands I ran : /Applications/Spine.app/Contents/MacOS/Spine -i . -o . -c ./skeleton.atlas and /Applications/Spine.app/Contents/MacOS/Spine -i skeleton.skel -o output/animation.png -e json.export.json

          Misaki

          skeleton.atlas
          413B

          skeleton.skel
          49kB

          my atlas, skeleton, skel

          • Misaki님이 이에 답장했습니다.

            zozodani When I imported the .skel file and examined it, I found that the image path for the skeleton was set to: ../../Desktop/New folder/
            After placing the image files in the appropriate location according to this path, the export worked correctly. Please confirm on your end.

            i ran these in my spi directory:
            mkdir -p "../../Desktop/New folder"

            /Applications/Spine.app/Contents/MacOS/Spine -i . -o "../../Desktop/New folder" -c ./skeleton.atlas

            /Applications/Spine.app/Contents/MacOS/Spine -i skeleton.skel -o output/animation.png -e json.export.json

            i still get the same resulting pngs 🙁.

            Also thank you so much for helping me. Means so much!

            • Misaki님이 이에 답장했습니다.

              zozodani Indeed, it does not work when you are in a directory that contains the .skel file, but when I entered the absolute path while in a different directory (such as the user folder) and executed it, I got the correct result. I am not very familiar with how paths work in MacOS, so I am not sure why this difference occurs, but could you please try it out?

              • zozodani님이 이에 답장했습니다.

                Misaki ran this

                es-MacBook-Pro-4 /Users % /Applications/Spine.app/Contents/MacOS/Spine \
                -i "/Users/zoelynch/Desktop/untitled folder 2/spi/skeleton.skel" \
                -o "/Users/zoelynch/Desktop/untitled folder 2/spi/output/animation.png" \
                -e "/Users/zoelynch/Desktop/untitled folder 2/spi/json.export.json"

                new folder is in the new folder in desktop

                but still got images rendered w out textures. Is there a way u could potentially share a screen recording? or ur specific file set up/ commands .Maybe I am missing something.

                • Misaki님이 이에 답장했습니다.

                  zozodani As requested, here’s a video showing how I exported:

                  Folder structure:

                  Omg! Thank you! I got it working! After HOURS I found the problem was indeed with the starting path... You are the best!

                  • Misaki님이 이에 답장했습니다.
                  • Misaki 님이 이 게시물을 좋아합니다..

                    zozodani I'm glad you were able to export it successfully! Thank you for getting back to us 🙂