Image-to-3D Generator
Pricing
from $500.00 / 1,000 image-to-3d generations
Image-to-3D Generator
Upload a photo, get back a textured 3D mesh (GLB): fast object generation via SF3D or depth-based environment shells for rooms/scenes, with optional AI part-segmentation.
Pricing
from $500.00 / 1,000 image-to-3d generations
Rating
0.0
(0)
Developer
Bahae El Hmimdi
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Turn any photo into a textured 3D model. Upload an image and get back a ready-to-use GLB mesh in seconds — no manual modeling, no multi-view capture, no photogrammetry rig required. Runs in Standby mode, so requests are answered directly and synchronously, with no run to start or poll.
What does Image-to-3D Generator do?
This Actor wraps a single-image-to-3D pipeline: object mode uses SF3D for fast, high-fidelity mesh generation of a compact subject (product shot, character, prop), and environment mode treats the photo as a non-compact scene (a furnished room, an interior) — it estimates depth and builds a displaced 3D "shell" mesh that follows the room's actual layout. An optional add-on automatically segments a generated object into its individual parts (Hunyuan3D-Part / P3-SAM), useful for rigging, editing, or game-asset pipelines.
Because it runs in Standby mode on the Apify platform, you get monitoring, usage analytics, and pay-per-use billing on top of the underlying generation service, with no infrastructure of your own to manage.
Why use Image-to-3D Generator?
- Product visualization — turn a single product photo into a 3D asset for AR/VR or web viewers.
- Game and asset pipelines — quickly block out props or environment pieces from reference photos, with automatic part-splitting for further editing.
- Interior/architectural previews — convert a room photo into a rough 3D shell for layout or renovation mockups.
How to use Image-to-3D Generator
- Open the Actor's Standby URL (shown on the Standby tab once the Actor is running) or call it directly at
https://<actor-id>.apify.actorwith your Apify token. - Send a
POSTrequest to/generatewithmultipart/form-data: animagefile field, plus optional parameters (see Input below). - The response is JSON with a
model_url— a relative path. - Fetch the actual GLB file with a
GETrequest to that same Standby host at/download/<token>.
Input
Sent as multipart/form-data fields on POST /generate:
| Field | Type | Default | Description |
|---|---|---|---|
image | file | required | Source image (PNG, JPEG, or WebP). |
mode | string | object | object: compact single subject (fast, SF3D). environment: non-compact scene/room via image+depth displacement. |
texture_resolution | number | 512 | mode=object only. Baked texture resolution, e.g. 512, 1024, 2048. |
foreground_ratio | number | 0.85 | mode=object only. How tightly the subject is cropped before baking. |
split_parts | boolean | false | mode=object only. Also segment the generated mesh into parts via Hunyuan3D-Part (P3-SAM). |
part_threshold | number | 0.95 | Only used when split_parts=true. |
depth_model | string | DepthPro (mflux) | mode=environment only. Depth-estimation backend. |
empty_model | string | sdxl_turbo | mode=environment only. Backend used to remove furniture before depth displacement. |
mesh_resolution | number | 128 | mode=environment only. Room shell mesh grid resolution. |
depth_scale | number | 2.5 | mode=environment only. Depth displacement strength. |
Output
POST /generate returns:
{"model_url": "/v1/threed/download/8c0144690bd2420a911fa1aae4693b2f","elapsed_seconds": 29.6,"parts": null}
GET /download/<token> (note: strip the /v1/threed prefix from model_url, the Actor forwards it internally) returns the raw GLB file — fetch it directly to save or display the mesh.
When split_parts=true, parts is a list of {part_id, url, face_count, vertex_count} objects, one per segmented part, each downloadable the same way.
Pricing
Billed per call to /generate (a mesh generation) — downloading a result via /download is free. Object-mode generations typically finish in under a minute; environment mode is slower since it involves a full depth-estimation and furniture-removal pass.
Tips
- Use
mode=objectfor anything that's a single, isolated subject — it's the fast path. - Reserve
mode=environmentfor full-room/scene photos where you want a layout-following shell rather than a single compact mesh. split_parts=trueonly makes sense formode=objectresults; it's ignored otherwise.
Support
Something not working as expected? Open an issue on this Actor's Issues tab.