Home / Guides / Texture a 3D model for free

How to texture a 3D model for free with AI

Short answer: AI texturing inside 3D generators is easy to try for free, but the free plans have catches. Meshy Free cannot download textured models at all, and Tripo Free output is non-commercial. The route that is free and safe for a game you sell is Blender (free) plus CC0 texture maps from Poly Haven or ambientCG: unwrap the model, plug in the maps, bake if needed, and export GLB or FBX to Godot, Unity or Unreal.

Facts checked Oct 30, 2026 on the official sites: Meshy's pricing page, help center and docs, Tripo's pricing page and help center, StudioTwin's site, the Poly Haven and ambientCG license pages, blender.org, the Blender 5.2 LTS manual, and the Godot 4.7, Unity and Unreal docs. Plans change, so check again before you rely on a limit. The Blender script below was tested on Blender 5.2.3 LTS, the GLB passed the Khronos glTF Validator with 0 errors and 0 warnings, and it imported into Godot 4.7.2 with its color, roughness and normal textures.

What "texturing" means, in 30 seconds

The free routes compared

RouteWhat is freeDownload textured result?Use in a game you sell?
Meshy Free100 credits a month. AI Texturing costs 10 credits (15 at 8K).No. Only up to 10 untextured Meshy 6 Lite models a month.Yes for untextured Lite downloads, under CC BY 4.0 with credit to Meshy.
Tripo Free200 credits a month (about 13 models), texture generation and editing up to 4K.15 exports a month (the table says H2.5 only).No. Free models are public and non-commercial.
StudioTwin Starter100 credits a month. Texture to Material costs 20 credits.Yes, into Unreal or Blender through an AI agent.Yes. StudioTwin says the assets are yours to use commercially.
Blender + CC0 texturesEverything. No account needed.Yes, any format Blender exports.Yes. Blender says your work is your property, and CC0 needs no credit.

Making a Roblox game? The free Roblox Assistant in Roblox Studio has /generate_material and /generate_texture commands. See How to make a Roblox game with AI.

Step 1: Get a model you are allowed to use

Not sure which generator to start with? Read Best free AI 3D model generators for game assets.

Step 2: Try AI texturing inside a generator

Meshy AI Texturing

Meshy can texture its own models or a model you upload (FBX, OBJ, STL, glTF or GLB, up to 100 MB in the web app). Per Meshy's docs, AI Texturing costs 10 credits per model, or 15 at 8K with the Meshy 7 Flagship texture model, and the Free plan gets 100 credits a month. You can try it on Free and see the result, but you cannot download it: the help center lists textured models and "textures applied to a model you uploaded" as paid only. Pro is $20 a month, often $10 for the first month, with unlimited downloads. If you do pay, turn on the PBR toggle when texturing, since Meshy's help center says missing PBR maps in a download usually mean it was off.

Tripo texture tools

Tripo's pricing page lists "Up to 4k Texture Generation & Edit" on the Free plan. Its help center describes one click texturing, AI upscaling, a Magic Brush that repaints one area from a prompt, and PBR maps (base color, normal, roughness and more). Free gives 200 credits a month (about 13 models by Tripo's estimate) and 15 exports, which the comparison table marks "H2.5 only". The catch is the license: Free models are public and non-commercial. Pro is $20 a month billed annually ($240 a year). We could not confirm on the official pages whether every free export includes the PBR maps, or the monthly billed Pro price, so check the export window before you count on them.

StudioTwin Texture to Material

StudioTwin makes PBR materials from a description or a reference image, driven by an AI agent like Claude Code, Cursor or Codex through its MCP connection, with an Unreal Engine plugin (5.6 to 5.8) and a Blender addon. The free Starter plan has 100 credits a month with no credit card, and Texture to Material costs 20 credits (StudioTwin says cost varies with settings), so roughly five materials a month. It suits you if you already use an AI coding agent.

Flat texture images from AI image tools

Image generators such as Adobe Firefly can make a flat, tileable picture to use as a base color map. You would still need roughness and normal maps, and we could not load Adobe's Firefly plans page today, so its free limits are unverified here. For most beginners the CC0 libraries below are faster and come with every map.

Step 3: Download free CC0 PBR textures (the safe fallback)

Both of these libraries release every asset as CC0 (license pages checked Oct 30, 2026): use them in a game you sell, change them, and ship the files, with no credit required.

Start with 1K or 2K textures. They look fine on small props and keep your game download small. If a pack has both GL and DX normal maps, use GL for Blender and GLB files: Blender's glTF docs say glTF normal maps are tangent space with +Y up, the OpenGL style.

Step 4: UV unwrap the model in Blender

Blender is free with no account. The current version on blender.org is 5.2.3 LTS. Import your model with File > Import > glTF 2.0, FBX or Wavefront OBJ, then open the UV Editing tab to see if it already has a UV map. If the UV Editor shows nothing when you select the model in Edit Mode, it has none.

Unwrapping overwrites the old UV map, which also breaks any texture that came with the model. Only unwrap a model you are about to texture from scratch.

Step 5: Apply the PBR maps (by hand or with a script)

In the Shading tab, add an Image Texture node for each map and connect it to the Principled BSDF. Blender's glTF exporter only recognizes certain node setups, so wire them like this:

Or let a script do it

This Blender Python script imports a GLB, glTF, FBX or OBJ model, finds the color, roughness, metallic and normal maps in a folder by their file names, builds the material, runs Smart UV Project on any mesh with no UV map, and exports a GLB with tangents so normal maps look the same in every engine:

# Run: blender -b --python texture_and_export.py -- model.glb textures_folder out.glb
# Use "cube" instead of model.glb to test on a plain cube.
import bpy, sys, os, glob

model, folder, out = sys.argv[sys.argv.index("--") + 1:][:3]

def find(*words):
    # First image in the folder whose name contains one of the words
    for w in words:
        for f in sorted(glob.glob(os.path.join(folder, "*"))):
            if w.lower() in os.path.basename(f).lower() and f.lower().endswith((".png", ".jpg", ".jpeg")):
                return f
    return None

bpy.ops.wm.read_factory_settings(use_empty=True)
if model == "cube":
    bpy.ops.mesh.primitive_cube_add()
elif model.lower().endswith((".glb", ".gltf")):
    bpy.ops.import_scene.gltf(filepath=model)
elif model.lower().endswith(".fbx"):
    bpy.ops.import_scene.fbx(filepath=model)
else:
    bpy.ops.wm.obj_import(filepath=model)

mat = bpy.data.materials.new("PBR_Material")
mat.use_nodes = True
nodes, links = mat.node_tree.nodes, mat.node_tree.links
bsdf = nodes["Principled BSDF"]

def image_node(path, color_data, y):
    node = nodes.new("ShaderNodeTexImage")
    node.image = bpy.data.images.load(path)
    node.image.colorspace_settings.name = "sRGB" if color_data else "Non-Color"
    node.location = (-700, y)
    return node

color = find("basecolor", "base_color", "albedo", "diffuse", "color")
rough = find("roughness", "rough")
metal = find("metallic", "metalness", "metal")
normal = find("normalgl", "normal_gl", "normal")  # glTF wants OpenGL style (+Y up) normals

if color:
    links.new(image_node(color, True, 300).outputs["Color"], bsdf.inputs["Base Color"])
if rough:
    links.new(image_node(rough, False, 0).outputs["Color"], bsdf.inputs["Roughness"])
if metal:
    links.new(image_node(metal, False, -300).outputs["Color"], bsdf.inputs["Metallic"])
if normal:
    nmap = nodes.new("ShaderNodeNormalMap")
    nmap.location = (-300, -600)
    links.new(image_node(normal, False, -600).outputs["Color"], nmap.inputs["Color"])
    links.new(nmap.outputs["Normal"], bsdf.inputs["Normal"])

for obj in bpy.context.scene.objects:
    if obj.type != "MESH":
        continue
    bpy.context.view_layer.objects.active = obj
    if not obj.data.uv_layers:  # no UVs yet: unwrap automatically
        bpy.ops.object.mode_set(mode="EDIT")
        bpy.ops.mesh.select_all(action="SELECT")
        bpy.ops.uv.smart_project()
        bpy.ops.object.mode_set(mode="OBJECT")
    obj.data.materials.clear()
    obj.data.materials.append(mat)

bpy.ops.export_scene.gltf(filepath=out, export_format="GLB", export_tangents=True)
print("Textures used:", [os.path.basename(p) for p in (color, rough, metal, normal) if p])
print("Exported", out)

Save it as texture_and_export.py and run it from a terminal (on Windows, use the full path to blender.exe):

blender -b --python texture_and_export.py -- crate.glb PavingStones036_1K-JPG crate_textured.glb

Tested Oct 30, 2026 on Blender 5.2.3 LTS with the ambientCG PavingStones036 1K maps, on a cube and on a model with no UV map at all. Both GLB files passed the Khronos glTF Validator with 0 errors and 0 warnings (without export_tangents=True it warned that the normal map needed tangents), and Godot 4.7.2 imported them as a StandardMaterial3D with color, roughness and normal textures. The script replaces every material in the file with one material, so use it for single material props, not for a character with separate skin and clothes. Want an AI agent to write scripts like this for you? See How to use Claude Code with Blender for game assets.

Step 6: Bake when you need one clean texture set

You do not need to bake a prop that uses one CC0 material. Bake when a model has several materials you want merged into one set of images, when you used Blender's procedural textures (engines cannot read those), or when you want a low poly model to show the detail of a high poly AI model. The Blender 5.2 manual covers it:

  1. Switch the render engine to Cycles. Baking needs a UV map on the model.
  2. In the material, add an Image Texture node with a new blank image (for example 1024 x 1024) and click it so it is the active node. That is the bake target. Do not connect it to anything.
  3. In Render Properties > Bake, pick a Bake Type: Diffuse with only Color ticked gives a clean base color with no lighting, Roughness bakes roughness, Normal (Tangent space, the default) bakes a normal map, and Ambient Occlusion bakes soft shadows.
  4. For high poly to low poly, select the high poly model, then the low poly one, and tick Selected to Active. Raise Extrusion or Max Ray Distance if the result has holes.
  5. Click Bake, then Image > Save As in the Image Editor. Unsaved bakes are lost when you close Blender.

Then build a simple material from the baked images, as in Step 5, before you export.

Step 7: Export to Godot, Unity or Unreal

EngineExportNotes from the official docs
GodotGLBGodot 4.7's docs call glTF 2.0 the recommended format and say a GLB carries the textures in the file. Godot can also import .blend files directly if Blender is installed. Turn on Backface Culling in Blender's material settings first, or Godot will render both sides of every face.
UnityFBXUnity's manual says it uses FBX as its internal import chain. In Blender's FBX export, set Path Mode to Copy and turn on Embed Textures. For GLB, add the free com.unity.cloud.gltfast package by name in the Package Manager.
UnrealFBX or GLBUnreal 5.8's docs have pages for both its FBX pipeline and importing glTF files.

The FBX version of the script's last line, which we also ran on Blender 5.2.3:

# Unity: FBX with the textures packed inside (add to the end of the script)
bpy.ops.export_scene.fbx(filepath="crate_textured.fbx", path_mode="COPY", embed_textures=True)

Going on to animate a character? Texture first, then follow How to rig an AI-generated 3D model for free and How to animate a 3D character for free.

Licenses: what to keep track of

Free tools in this guide

Blender

Free, open source 3D app for modeling, UV unwrapping, texturing, baking, rigging and animation. It imports and exports glTF/GLB, FBX and OBJ, so it is the free workbench for fixing and texturing AI-generated models before they go into Godot, Unity or Unreal.

Pricing: Free. Beginner rating: 4/5. Free with no account, and it does almost everything, but the interface is big and a beginner needs a tutorial for UVs, materials and baking.

The free workbench for UVs, PBR materials, baking and GLB or FBX export.

ambientCG

Free PBR materials, HDRIs and some models. All assets are CC0 1.0: copy, modify and use commercially without asking, and include raw files in your game.

Pricing: Free. Beginner rating: 5/5. Easy downloads and a clean license, but you need to know how to apply PBR texture maps.

CC0 PBR materials with GL and DX normal maps and a ready made Godot material in each zip.

Poly Haven

Free HDRIs, PBR textures and 3D models. All assets are CC0: any use including commercial, no credit required, and redistribution allowed.

Pricing: Free. Beginner rating: 5/5. High quality and simple licensing, though realistic PBR assets are heavier than low poly packs.

CC0 textures, HDRIs and models. No credit required.

Meshy

Turns text or images into textured 3D models ready for game engines.

Pricing: Paid, from $20/mo. Beginner rating: 4/5. Very easy text or image to 3D workflow.

Try AI Texturing on Free, but only untextured Meshy 6 Lite models download without Pro.

Tripo

Generates 3D models from text or images, with auto rigging options.

Pricing: Freemium, from $20/mo. Beginner rating: 5/5. Quick results and beginner friendly UI.

Texture generation up to 4K and Magic Brush on Free, for practice and non-commercial projects.

StudioTwin

AI asset toolkit that generates concepts, 3D models, character animation, PBR materials, HDRI environments and sound effects through one MCP connection that works with Claude Code, Cursor, Codex and other agents. It has an Unreal Engine plugin (5.6 to 5.8), and models import into Blender with its addon.

Pricing: Free. Beginner rating: 4/5. One command installs the agent skill and it walks you through setup, but you work through an AI agent and MCP rather than a simple web page, so it suits beginners who already use Claude Code, Cursor or Codex.

PBR materials from a prompt or image through an AI agent, 100 free credits a month.

Related

Need a model first? Read Best free AI 3D model generators for game assets, Meshy vs Tripo for 3D game assets or Tripo vs Rodin for 3D game assets. Building the world around it? See How to make a skybox or game level with AI. Browse every 3D model and texture tool and the free asset libraries.

FAQ

Can I texture a 3D model with AI for free?

Partly. Meshy's Free plan lets you run AI Texturing (10 credits, 15 at 8K, out of 100 a month), but it cannot download textured models or textures applied to a model you uploaded, so the result stays in the browser. Tripo's Free plan includes texture generation up to 4K and 15 exports a month, but free models are public and non-commercial. StudioTwin's free Starter plan has 100 credits a month and its Texture to Material tool costs 20 credits. The fully free route that also works for a game you sell is Blender plus CC0 textures from Poly Haven or ambientCG.

Does Meshy's free plan include textured downloads?

No. Meshy's help center (checked Oct 30, 2026) says the Free plan can download up to 10 untextured Meshy 6 Lite models a month. Textured models, including a Meshy 6 Lite model after texturing, textures applied to a model you uploaded, and Meshy 6, Meshy 7, T2.5 and 3D Agent models need a paid plan. Pro is $20 a month, often $10 for the first month.

Can I sell a game with textures made on Tripo's free plan?

Not with free plan output. Tripo's pricing page lists Free models as public and non-commercial, and Pro and higher as private with commercial use. Pro is $20 a month billed annually ($240 a year).

What are PBR texture maps?

PBR (physically based rendering) splits a surface into several images: base color (the paint), roughness (shiny or matte), metallic (metal or not), a normal map (fake small bumps) and often ambient occlusion (soft shadows in cracks). Godot, Unity, Unreal and glTF files all use this metal and roughness style.

What is UV unwrapping and do I need it?

A UV map tells the engine where each part of a flat texture image lands on the 3D model, like unfolding a cardboard box. Image textures need one, and a model that came with textures already has one. If a model has none, Blender's Smart UV Project (UV > Unwrap > Smart UV Project in Edit Mode) makes one in a click.

Should I pick the GL or DX normal map?

If a texture download offers both, use the OpenGL (GL) one for Blender and glTF. Blender's glTF docs say glTF normal maps are tangent space with +Y up, which is the OpenGL style. The ambientCG zip we downloaded labels them NormalGL and NormalDX.

Which file should I export for Godot, Unity or Unreal?

GLB for Godot, whose docs recommend glTF 2.0. FBX for Unity, whose manual says it uses FBX as its internal import chain (or GLB with the free glTFast package). Unreal's docs cover importing both FBX and glTF.

Do I need to credit CC0 textures?

No. Poly Haven and ambientCG both release every asset as CC0, so you can use them in a game you sell with no credit required, though both say credit is appreciated. Meshy Free models are different: they are CC BY 4.0, so you must credit Meshy.

Sources: Meshy pricing, Meshy Free plan help article and Meshy credits docs; Tripo pricing and Tripo texture help; StudioTwin pricing; Poly Haven license; ambientCG license; Blender license; Blender 5.2 manual: glTF 2.0, UV unwrapping and baking; Godot 3D formats; Unity model file formats and glTFast installation. Checked October 30, 2026.

Get the free First Game Starter Pack

A 7-step path to your first tiny game, free art and sound you can actually use, and our AI tools kit for Godot, Unity, Unreal and Roblox. Plus one short tool tip a week. No spam, unsubscribe any time.

No spam. Unsubscribe in 1 click. Privacy See past issues

Preview of the First Game Starter Pack: the README, the AI Tools Kit and the first game checklist