How to make GIFS and VIDEOS on Roblox {FULL TUTORIAL}

Hello

Today I will show you how to make a fully functioning GIF or a Video on Roblox!


1. Find your Video!

If you want to create a gif / Video on Roblox, You have to find the video you want to use.

For this tutorial, I will be using some random gif.

2. How to make frames

Now, you found your video / GIF, here are the steps to create frames.

  1. Go to this website: Split GIF image in frames
  2. Insert your gif (You can use links)

    If your gif or Video is a mp4 or is not a supported image type, then follow the tutorial under this.
Click this to learn how to convert your mp4 (Or any non supported types)
  1. Go here: Video to animated GIF converter

  2. Enter the video you want to put.

  3. Wait for it to load, then convert.

3. Getting every frame

After you have submitted the gif you want, you can now create the frames.

  1. Once you clicked “Split to frames!”, you can now download every single frame.

  1. When you get your zip file, go to “files”
    image

  2. Create a folder which you will put all the frames in.

  3. Go to downloads
    image

  4. Place the zip file into the folder you created.

  5. Extract your zip file in the folder you created.

I named mine (Gifs To image) You can name it anything you want.

  1. You now have every frame in your folder.

4. Uploading every image to Roblox.

This will be the most annoying step you have to do.

  1. Simply upload every image to Roblox.

I have already uploaded most of the images.

You have to name each different image a number (from the first frame to the last) so you don’t get confused or lost.

  1. Uploading is very simple, you just have to press choose file, then upload.

Then select the next file.

You have to be lucky with moderation

5. Changing each decal into an image.

So for this tutorial, I used a Roblox extension to convert Decal ID’s to Image ID’s. But it is extremely time consuming.

You can check this out if you want: How to get image id from decal id? - #4 by IllusionBacon

Doing this is important, since decal id’s do not work with Image labels. Only Image Id’s work with Image-labels

6. Adding the gif to Roblox studio

image
That’s all what you have to do. (The localScript tutorial is under this.)

7 Scripting

Inside the local script, (You don’t have to use local scripts)
image

You have to add this.

Make sure to change the Task.wait to match the gif’s frame delay

How to know the delay between my frames?

Thankfully, the website I used gives us information for that.

  1. Go to file explorer.

  2. Go the folder where all the frames are located.

  3. In every frame name, it shows the delay

local Video = script.Parent
local ID = {" ID_Example" , "ID_example" ETC...} -- put your image ID's here with commas between each ID

while true do
	for i,v in ipairs(ID) do
		Video.Image = v
		task.wait(0.03)
	end
end

Now I will insert all the gif’s frames in order.


This is gonna take me a long time to convert each decal to image so I can get the image ID.

Conclusion

Result


Was this tutorial helpful for creating GIF’s ?
  • Yeah, It was helpful!
  • No, It did not help me.
  • I don’t even need this lol

0 voters

37 Likes

Just going to put this out there: that code is horribly inefficient. You could just add all the ids to a table and loop over it.

9 Likes

preload the assets before loading them in to avoid flickering

3 Likes

You create a table and then put all the decals ids in it with a for loop then sort the table by the decals’ names since you named them with numbers and with another for loop update the ImageLabel

Sprite sheets are better and efficient, probably a less quality image.

3 Likes

Nice tutorial.

But for better code optimization, use this script:

local Video = script.Parent
local ID = {"rbxassetid://8814856822", "rbxassetid://8814859302"} --ADD MORE IDS

while true do
   for i,v in ipairs(ID) do
      Video.Image = v
      task.wait(0.03)
   end
end

Not sure if it’ll work, don’t have Roblox Studio on right now.

1 Like

Adding all IDS here will make it WAAAAAAAAAYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY too long

It’s easier to read, see?

(Try it out, I wanna see if it works)

local Video = script.Parent
local ID = {"rbxassetid://8814856822", "rbxassetid://8814859302", "rbxassetid://8814861259", "rbxassetid://8814871131", "rbxassetid://8814879268", "rbxassetid://8814876066", "rbxassetid://8814885738", "rbxassetid://8814889862", "rbxassetid://8814909752", "rbxassetid://8814911389", "rbxassetid://8814914043", "rbxassetid://8822628176", "rbxassetid://8822629132", "rbxassetid://8822629790", "rbxassetid://8822652096", "rbxassetid://8822652936", "rbxassetid://8822653614", "rbxassetid://8822654644", "rbxassetid://8822655471", "rbxassetid://8822657421", "rbxassetid://8822658014", "rbxassetid://8822658843", "rbxassetid://8822659846" "rbxassetid://8822661360", "rbxassetid://8822662698", "rbxassetid://8822665225", "rbxassetid://8822666583", "rbxassetid://8822668243", "rbxassetid://8822669752", "rbxassetid://8822672815", "rbxassetid://8822675697"}

while true do
   for i,v in ipairs(ID) do
      Video.Image = v
      task.wait(0.03)
   end
end
1 Like

Hmm actually you’re right, I will update the post with your script, thank you.

1 Like

Updated the post, thank you : )

1 Like

Oh yeah it’s pretty good but could you make a version where it just needs 1 image for a gif player?

Do you mean a spirtesheet???

Yeah. It’s pretty tedious uploading all images and that you even have to worry for moderation

Actually, I had only 1 image moderated from 61 images. Also, the lower the quality, the less chance it is to get moderated.

So 0.03 seconds is not noticeable, so it’s not a big deal.

Making gifs on Roblox needs patience.

What if I wanted it to be high quality? Also it’s faster to use a sprite sheet

It doesn’t always have to be low quality, you just have to be lucky.

Like I said here:

You don’t get the point, if you upload just 1 image, it’s so faster.

Yes, I know it’s faster, but if you have a lot of images in the sprite-sheet, then it becomes very low quality.

1 Like

That takes so much time, using a spritesheet is better imo + some rectoffset.

Yes I know it takes some time. But this is the only way to make high quality gifs. sprite-sheets are limited. If you have soooo much frames for a GIF (Or a video) the quality will reduce significantly.