How to Convert a Photo into a 3D Model in 2026: Web App, API, or Self-Hosted TripoSR
Three ways to turn a photo into a 3D model, a no-install web app, a developer API, and a self-hosted open model, compared on setup, cost, control, and output, plus a step-by-step workflow.
The no-install web route: upload a photo, get a model in a minute.
Best for Easiest, no setup
Visit MeshyThe developer route: image-to-3D as an API call you can automate.
Best for Best for automation
Visit Tripo APIThe self-host route: free, private, unlimited, if you run the model.
Best for Free and unlimited
Visit TripoSR (self-hosted)Turning a photo into a 3D model used to mean photogrammetry rigs or hours in a modeling app. In 2026 a single image is enough: AI reconstruction models infer a full 3D mesh from one picture in seconds. The real question is not whether you can convert a photo to a 3D model, it is which route fits you, because there are three, and they trade off setup, cost, control, and automation very differently. This guide walks the actual photo-to-3D steps, then compares the three routes head to head so you can pick the right one. One of them (self-hosted TripoSR) is ours, so weigh our self-assessment accordingly and check the sources.
The three routes are: a no-install web app, where you upload a photo in the browser and download a model (we use Meshy as the representative); a developer API, where you send an image to an endpoint and get a model back programmatically (the Tripo API); and self-hosting an open model, where you run the reconstruction on your own machine for free (TripoSR). Each wins for a different person: the web app for a one-off, the API for automation, and self-hosting for free, private, unlimited conversion. Every factual claim below comes from each tool's official pages, checked on 2026-07-20, and carries a source id you can verify. Meshy and Tripo are trademarks of their owners; this is an independent comparison.
| Setup to start | None: browser, no GPU | API key plus code | Python plus a GPU (or CPU) |
|---|---|---|---|
| Cost and scaling | Free tier + subscription | About $0.20 to $0.50 per image | Free, unlimited (self-host) |
| Control and privacy | Cloud, account required | Cloud, API key required | Local: photo never leaves |
| Automation | Manual, in the web UI | Async jobs, poll for result | Self-built service only |
| Out-of-box quality | Textured PBR in about 1 min | Textured, PBR option | Vertex colors, no PBR |
| Output formats | STL, 3MF, OBJ, GLB, FBX, USDZ | GLB, plus OBJ/STL/FBX/USDZ | GLB or OBJ |
| License to sell output | Paid: you own it; free: CC BY | Paid credits, hosted terms | Plain MIT, no strings |
By the numbers
Rough per-model cost. Self-hosted TripoSR is free beyond your own hardware and electricity. The Tripo API is credit-based at $0.01 per credit, and an image-to-model task is about 20 to 50 credits, so roughly $0.20 to $0.50 each, with about 300 free trial credits. Meshy is a monthly subscription rather than per-model, so it has no single per-image price. Checked 2026-07-20.
Want to make your own? Try the Image to 3d print, Free image to 3d, Image to 3D model generator, Download or Open-source TripoSR.
Setup: what it takes to start
Best here: MeshyThe first thing that separates the three routes is how much stands between you and your first model. The web app wins outright here: with Meshy you open a browser, upload a photo, and get a model, with no install, no GPU, and no code. For a one-off conversion, or for anyone who is not a developer, that is the shortest path there is.
The Tripo API sits in the middle: there is no software to install, but you create an API key in the Tripo console and write code to send the image and poll for the result, so it assumes you can call a REST endpoint. Self-hosting TripoSR is the most involved to begin: you set up a Python environment, install the model and its dependencies, and ideally have a CUDA GPU, though it falls back to CPU. That setup is a one-time cost and buys you a free, private, unlimited pipeline, but it is a real cost, and if you only need one model, the web app is the honest recommendation.
Meshy
Strengths
- No install, no GPU, and no code: upload a photo in the browser and download a model
Watch-outs
- You still create an account, and heavy use runs into free-tier limits
Tripo API
Strengths
- Nothing to install: create an API key and call the endpoint from your own code
Watch-outs
- Assumes you can write code to authenticate, submit a job, and poll for the result
TripoSR (self-hosted)
Strengths
- Once set up, it is a free, unlimited, offline pipeline you fully own
Watch-outs
- The heaviest to start: a Python environment, model install, and ideally a CUDA GPU
Cost and how it scales
Best here: TripoSR (self-hosted)Cost is where self-hosting pulls ahead, especially at volume. Because you run the open TripoSR model on your own hardware, converting a photo to a model costs nothing per generation beyond electricity, and there is no cap on how many you make. If you are converting hundreds or thousands of images, that free, unlimited ceiling is decisive, and it is the reason people self-host at all.
The hosted routes bill for convenience. The Tripo API is transparent and pay-as-you-go: credits cost $0.01 each ($1 buys 100), an image-to-model task runs about 20 to 50 credits, so figure roughly $0.20 to $0.50 per image, and Tripo currently offers about 300 free trial credits to start. Meshy is subscription-shaped rather than per-model: a free tier gives you a monthly credit and download allowance, and paid plans lift the caps, so its cost depends on your monthly volume rather than a per-image price. For occasional use both hosted routes are cheap; at scale, self-hosting is the one that does not grow with your usage.
Meshy
Strengths
- A free tier lets you start at no cost, with paid plans to lift the caps
Watch-outs
- Subscription-based, so sustained or high-volume use means an ongoing monthly fee
Tripo API
Strengths
- Transparent pay-as-you-go: about $0.20 to $0.50 per image, with roughly 300 free trial credits
Watch-outs
- Per-generation billing means cost scales linearly with how many images you convert
TripoSR (self-hosted)
Strengths
- Free and unlimited on your own hardware: no per-generation cost and no cap
Watch-outs
- The cost is your own GPU and the electricity and time to run it
Control and privacy
Best here: TripoSR (self-hosted)If the photo you are converting is sensitive, a product prototype, a client asset, personal, where it goes matters. Self-hosting is the only route where the image never leaves your machine: TripoSR runs entirely offline, so nothing is uploaded, and you control the whole pipeline, versions, parameters, and output, with no third-party terms in the loop. For confidential work or air-gapped environments, that is not a nice-to-have, it is the requirement.
The two hosted routes are cloud services, which is exactly what makes them easy but also what you are trading. Meshy processes your upload on its servers under its account and terms, and the Tripo API sends your image to Tripo's endpoint under your API key. Both are normal, reputable SaaS arrangements, and for most public or low-sensitivity images that is completely fine. But if privacy or full control is the priority, self-hosted TripoSR is the route that keeps everything local.
Meshy
Strengths
- A managed service handles the compute so you do not maintain anything
Watch-outs
- Your photo is uploaded to and processed on Meshy's cloud under its account and terms
Tripo API
Strengths
- Managed cloud compute with programmatic access under your own key
Watch-outs
- Your image is sent to Tripo's servers, so it leaves your environment
TripoSR (self-hosted)
Strengths
- Runs fully offline: the photo never leaves your machine, and you control the whole pipeline
Watch-outs
- That control also means you maintain the environment and get no vendor support
Automation and integration
Best here: Tripo APIWhen converting a photo is one step inside a larger product, a marketplace that turns listing photos into 3D previews, a pipeline that batches a catalog, the API route is built for it. The Tripo API is designed around automation: you authenticate with a key, submit an image as an asynchronous task, receive a task id, and poll for the finished model, and it exposes related operations like texturing, rigging, and format conversion as endpoints. Rate limits are managed by concurrency, so you scale by running tasks in parallel.
The other two are not automation-first. Meshy is a web application you drive by hand, which is ideal for one model but not for programmatically converting a thousand. Self-hosted TripoSR can absolutely be automated, but you build that yourself: wrap the model in your own service with a framework like FastAPI or Flask. That is powerful and free, but it is your code to write and run, whereas the Tripo API is a queue that already exists. Note the honest limit on the API side: completion is by polling, not webhooks, and there is no single batch call, you run concurrent tasks.
Meshy
Strengths
- Simple and visual for converting one image at a time
Watch-outs
- Driven by hand in the web UI, so it does not fit programmatic or batch conversion
Tripo API
Strengths
- Built for automation: authenticated async jobs, poll for results, and endpoints for texture, rig, and conversion
Watch-outs
- Completion is by polling rather than webhooks, and there is no single batch call: you run concurrent tasks
TripoSR (self-hosted)
Strengths
- Can be wrapped in your own API with FastAPI or Flask for a free, private automation pipeline
Watch-outs
- There is no hosted queue: any automation is a service you build and run yourself
Out-of-the-box quality and textures
Best here: MeshyHow finished the model looks the moment you get it back differs by route, mostly on textures. Meshy returns a textured model with PBR material maps from a single photo in about a minute, so for a newcomer it produces the most presentable result with no extra steps. The Tripo API also returns textured output and offers a PBR texture option, so its ceiling is similar, with the detail you choose per request.
Self-hosted TripoSR is the honest trade here: it reconstructs clean geometry fast, but it outputs vertex colors rather than PBR material maps, and there is no separate texture-synthesis pass, so straight out of the model it looks less finished than the hosted routes. For many uses, a base mesh you will retexture or 3D print, that is fine, and Stability even points users to its SF3D successor for game-ready output. But if you want a photorealistic textured asset with no post-work, the hosted routes lead, and the newer diffusion-based models generally produce higher-fidelity geometry than TripoSR's single-view reconstruction.
Meshy
Strengths
- Returns a textured model with PBR maps from one photo in about a minute, no extra steps
Watch-outs
- The most finished result is tied to the paid tiers and its monthly caps
Tripo API
Strengths
- Textured output with a PBR option and per-request quality control
Watch-outs
- Texture and detail options add credits, so higher quality costs more per image
TripoSR (self-hosted)
Strengths
- Clean, usable geometry from a single image, very fast for its size
Watch-outs
- Vertex colors only, no PBR and no separate texture pass, so output looks less finished out of the box
- Lower fidelity than the newer diffusion models, and single view only
Output formats and flexibility
Best here: Tripo APIWhat you can do with the model next depends on the file you get. The Tripo API is the most flexible: it returns GLB natively and its conversion endpoint exports GLTF, OBJ, FBX, USDZ, STL, and 3MF, so one generation can feed a game engine (FBX), AR (USDZ), or a 3D printer (STL), with the honest caveat that STL drops textures and some formats are not available for rigged models. Meshy is close behind, exporting STL, 3MF, OBJ, GLB, FBX, and USDZ from a single generation.
Self-hosted TripoSR is the narrowest on purpose: it outputs a GLB or OBJ mesh, and you convert to other formats yourself in Blender or a converter. For most uses that is enough, GLB and OBJ open everywhere, but if you need a specific format like USDZ for AR or FBX for a game pipeline without a manual step, the hosted routes hand it to you directly. If you are converting a photo specifically to 3D print it, see our companion guide on getting a printable STL.
Meshy
Strengths
- Exports STL, 3MF, OBJ, GLB, FBX, and USDZ from a single generation
Watch-outs
- Format breadth is a hosted convenience tied to your plan and its limits
Tripo API
Strengths
- GLB natively, with a conversion endpoint for GLTF, OBJ, FBX, USDZ, STL, and 3MF
Watch-outs
- STL drops textures and some formats are unavailable for rigged models, and conversion costs extra credits
TripoSR (self-hosted)
Strengths
- Outputs a clean GLB or OBJ mesh that opens in every major 3D tool
Watch-outs
- GLB and OBJ only: other formats like USDZ or FBX need a manual conversion step
License to use and sell the output
Best here: TripoSR (self-hosted)If you plan to sell or ship what you make, the license is as important as the mesh. Self-hosted TripoSR is the cleanest: plain MIT, with no user cap, no regional exclusion, and no attribution, so you can use and sell your output freely, and self-hosting means no per-item cost. That is the strongest position for a commercial pipeline. The one honest caveat is that the hosted convenience at triposr.org is a paid product, not free; the free, unrestricted route is running the open model yourself.
The hosted routes carry conditions. Meshy is free to start, but free-plan output is licensed CC BY 4.0, which permits commercial use only if you credit Meshy; on a paid plan you own the assets outright. The Tripo API is a paid service, so its output comes under Tripo's hosted commercial terms and your purchased credits rather than an open license. All three are usable commercially for most projects, but for no-strings, self-owned output, the MIT-licensed self-host route is the clean answer.
Meshy
Strengths
- On a paid plan you own the assets and can sell them freely
Watch-outs
- Free-plan output is CC BY 4.0, so selling it requires crediting Meshy
Tripo API
Strengths
- Commercial use of API output under Tripo's hosted terms and your purchased credits
Watch-outs
- Output is governed by hosted commercial terms rather than an open, do-what-you-want license
TripoSR (self-hosted)
Strengths
- Plain MIT: no cap, no regional exclusion, no attribution, and self-hosting has no per-item cost
Watch-outs
- The hosted triposr.org convenience is a paid product; the free route requires running the model yourself
How to convert a photo into a 3D model, step by step
Start with the right photo, because the input decides the result more than the tool does. A single, clearly lit subject on a plain background, shot roughly straight on, converts best. Busy backgrounds, heavy reflections, glass, and cut-off edges confuse reconstruction, so crop tight and remove the background if the tool offers it. Remember that these models reconstruct what the camera sees: the front comes out best and the unseen back is inferred, which is why clean product-style photos beat cluttered action shots.
Choose your route. For a single model with no setup, use a web app: open Meshy, upload the photo, and generate. To convert images programmatically or in bulk, call the Tripo API: create an API key, submit the image as a task, and poll for the result. To convert for free, privately, or at high volume, self-host TripoSR: set up the Python environment, load the model, and run inference on your image. All three take one photo in and return a mesh.
Refine and export. Inspect the mesh, delete stray floating bits, and if the topology is messy for your use, retopologize or decimate in Blender. Then export the format your next step needs: GLB or OBJ for general use, USDZ for AR, FBX for a game engine, or STL for 3D printing. The web app and API can hand you most of these directly; with self-hosted TripoSR you convert from GLB or OBJ yourself.
Use it. Drop the model into your target, a game engine, an AR scene, a product render, or a slicer, and adjust scale and materials there. If your goal is a physical print, the mesh needs to be watertight and correctly scaled first; our companion guide covers turning a photo into a printable STL end to end. That prep, generate, refine, export, use loop is the whole workflow, and the route you picked mainly changes how the generate step happens.
Which photos convert well, and which do not
Single-image reconstruction is impressive but not magic, and knowing its limits saves you wasted attempts. It works best on a solid, opaque object with clear form and texture, a shoe, a toy, a piece of furniture, a character figure, photographed against a plain background with even lighting. Because only one side is visible, the model infers the back, so simple and roughly symmetrical objects reconstruct more faithfully than complex asymmetric ones.
It struggles with transparent or reflective surfaces (glass, chrome, water), very thin or wiry structures, scenes with several objects, and anything where the subject blends into the background. For those, better input helps more than a better tool: improve the lighting, isolate the subject, or shoot it against a plain backdrop. If you need the unseen sides to be accurate rather than inferred, use a tool that accepts multiple views, several photos of the same object, which some APIs support through a multiview endpoint. And treat every result as a starting mesh: none of these routes produces CAD-accurate dimensions, so measure and scale before you rely on it.
Which should you pick?
You just want one 3D model from a photo, right now
Meshy A browser upload returns a textured model in about a minute, with no install, GPU, or code.
You are a developer converting images inside an app or in bulk
Tripo API An authenticated, credit-billed API with async jobs turns image-to-3D into a call you automate.
You want free, private, unlimited conversion, or high volume
TripoSR (self-hosted) Self-hosting the MIT model is free per generation, runs offline, and has no cap.
You want to convert a photo and then 3D print it
TripoSR (self-hosted) A free local mesh you can repair and print; see our companion guide on getting a printable STL.
How we tested
We compared the three routes on what actually decides which one fits: setup effort, cost and how it scales, control and privacy, automation, out-of-the-box quality, output formats, and the license to use the result. Rather than rank tools, the goal is to help you pick the route, web app, API, or self-host, that matches your situation.
This is a documentation-based comparison, not an independent benchmark. Facts come from each tool's official pages, Meshy's product, pricing, help, and docs pages; the Tripo API's official documentation and pricing; and TripoSR's repository, paper, and model card, all checked on 2026-07-20, with a source id on every claim below. Where pricing or terms sit behind a login, or where a figure is not published, we say so rather than guess. Tools and prices change, so confirm the current terms before you commit.
The bottom line
To convert a photo into a 3D model, match the route to your situation: a web app like Meshy for the easiest one-off, the Tripo API for automation and app integration, and self-hosted TripoSR for free, private, unlimited conversion you fully control. The web app is fastest to a first result, the API scales programmatically at a few cents to half a dollar per image, and self-hosting is the only free-at-any-scale, fully-private, MIT-licensed option. Whatever route you pick, the photo matters more than the tool, and every result is a starting mesh you refine, not a finished CAD file.
If you want the no-setup convenience of a web app but would rather keep the TripoSR approach, triposr.org runs image-to-3D in your browser and returns textured GLB you can convert and use, no install required. That hosted version is a paid product rather than free, but it skips the local setup while giving you commercial, watermark-free downloads.
FAQ
How do you convert a photo into a 3D model?
You give a single photo to an AI reconstruction model, which infers a full 3D mesh from it in seconds. There are three routes to do this: upload the photo to a web app like Meshy and download the model, send it to a developer API like the Tripo API and get the model back programmatically, or self-host an open model like TripoSR and run the conversion on your own machine. All three take one image in and return a mesh, usually as GLB or OBJ. The photo matters most: a single, clearly lit subject on a plain background gives the best result, because the model reconstructs the visible side and infers the rest.
Can you convert a 2D image to a 3D model for free?
Yes. The fully free, unlimited route is to self-host an open model: TripoSR is MIT-licensed and free to download and run, converting a photo to a mesh in under a second in about 6 GB of VRAM, with a CPU fallback, and no per-generation cost beyond electricity. Hosted tools also have free options with limits: Meshy has a free tier capped at a monthly download allowance and licensed CC BY 4.0, and the Tripo API offers a small free trial credit allowance. So free is realistic either by self-hosting an open model for unlimited conversions, or through a hosted free tier for a limited number.
What is the best way to convert a photo to a 3D model?
It depends on what you are optimizing for. For the easiest one-off with zero setup, a web app like Meshy is best: upload a photo and get a textured model in about a minute, no GPU or code. For converting images automatically or inside an app, a developer API like the Tripo API fits, with authenticated async jobs at about $0.20 to $0.50 per image. For free, private, unlimited conversion, especially at volume, self-hosting the open TripoSR model is the strongest, since it runs offline for free under a plain MIT license. Pick by priority: ease, automation, or free and private control.
Do I need one photo or several to make a 3D model?
One photo is enough for these tools: single-image reconstruction infers a full mesh from a single view, which is why it is so fast and convenient. The trade is that the side facing the camera is reconstructed and the unseen back is inferred, so results are best on simple, roughly symmetrical objects. If you need the hidden sides to be accurate rather than guessed, use a tool that accepts multiple views of the same object, several photos from different angles, which some APIs support through a dedicated multiview endpoint. For most uses, though, a single clean photo produces a usable model.
What file format do I get, and can I convert it?
Most image-to-3D tools return a GLB or OBJ mesh, which opens in every major 3D application. From there you convert to whatever your next step needs: STL for 3D printing, FBX for a game engine, or USDZ for AR. Hosted routes often hand you these directly: Meshy exports STL, 3MF, OBJ, GLB, FBX, and USDZ from one generation, and the Tripo API returns GLB natively with a conversion endpoint for OBJ, FBX, USDZ, STL, and more. With self-hosted TripoSR you get GLB or OBJ and convert in Blender or a converter. Note that STL carries geometry only, so textures do not travel with it.
How accurate is a 3D model made from a photo?
It is a good visual reconstruction, not a measured, CAD-accurate model. The tool captures the shape and appearance of the visible side well and infers the hidden geometry, so proportions are approximate and the back is a best guess. Accuracy is highest on solid, opaque, roughly symmetrical objects shot with clear lighting on a plain background, and lowest on transparent, reflective, thin, or cluttered subjects. Treat the output as a starting mesh: measure and scale it before you rely on dimensions, and expect to clean up or retexture it for a polished result. For accurate hidden sides, use multiple views rather than a single photo.
Can I convert a photo to a 3D model without a GPU?
Yes, through the hosted routes. A web app like Meshy and a developer API like the Tripo API run the reconstruction on their own servers, so a laptop or phone can drive them with no GPU of your own. If you prefer to self-host the open TripoSR model, it needs only about 6 GB of VRAM and falls back to CPU when there is no CUDA GPU, so it runs on modest hardware, just more slowly on CPU. So a strong GPU is optional: use a hosted tool to avoid local compute entirely, or lightweight self-hosted TripoSR if you want it free and local on modest hardware.
How much does it cost to convert an image to a 3D model?
It ranges from free to about half a dollar per image. Self-hosting the open TripoSR model is free per generation beyond your own hardware and electricity, with no cap. The Tripo API is pay-as-you-go at $0.01 per credit, and an image-to-model task is about 20 to 50 credits, so roughly $0.20 to $0.50 each, with about 300 free trial credits to start. Meshy is subscription-shaped: a free tier with a monthly allowance, and paid plans that lift the caps, so its cost depends on your monthly volume rather than a per-image price. For occasional use the hosted routes are cheap; at high volume, self-hosting is the only option that does not scale with usage.
Sources
- Meshy: Image to 3D feature (accessed 2026-07-20)
- Meshy Docs: 3D export formats (STL, 3MF, OBJ, GLB, FBX, USDZ) (accessed 2026-07-20)
- Meshy Help: what is included on the Free plan (accessed 2026-07-20)
- Meshy Help: commercial use of generated assets (accessed 2026-07-20)
- Meshy: official pricing (accessed 2026-07-20)
- Tripo OpenAPI docs: introduction (image-to-model, async jobs, auth) (accessed 2026-07-20)
- Tripo OpenAPI docs: pricing (credits, image-to-model cost, free trial) (accessed 2026-07-20)
- Tripo OpenAPI docs: export and conversion formats (accessed 2026-07-20)
- Tripo OpenAPI docs: rate limits (concurrency) (accessed 2026-07-20)
- TripoSR official GitHub repo (accessed 2026-07-20)
- TripoSR paper (arXiv:2403.02151) (accessed 2026-07-20)
- TripoSR Hugging Face model card (accessed 2026-07-20)
Related
TripoSR Team
Editorial, TripoSR
Hands-on testing of image-to-3D and text-to-3D tools by the TripoSR team.
Convert a photo into a 3D model without any setup
Self-hosting the open model is free if you have the hardware, and a developer API scales for automation. If you just want to upload a photo and get a model, triposr.org runs image-to-3D in your browser with textured GLB output and commercial, watermark-free downloads. That hosted version is a paid product, not free, but there is nothing to install.
Try it in your browser