# Image To 3d

> Turn one image into a 3D mesh and get back a glb file. No API key to obtain, no provider account to open, no billing to set up: the agent signs itself up in one command and starts on free preview credits. Image-to-3D takes no prompt and rejects one if you send it, so pass an image the agent generated or uploaded, through edit rather than create. The mesh returns as a hosted media URL with no signature or expiry, a job id the agent can re-fetch, and a receipt for what the call cost.

- Skill: `danielgwilson/image-to-3d` (Agent Skill)
- Install (CLI): `npx skillmds@latest add danielgwilson/image-to-3d`
- Raw SKILL.md: https://api.skillmd.com/api/skills/danielgwilson/image-to-3d/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: danielgwilson (https://skillmd.com/u/danielgwilson)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/danielgwilson/image-to-3d

---


# Image To 3D

This is an intent-named Luxin entry for agents searching for image-to-3D asset creation. It uses the same zero-setup hosted Luxin runtime as the canonical `luxin` skill: one thin CLI/API, one restricted agent identity, one credit balance, one wallet/payment loop, durable hosted media URLs, recoverable jobs, cost receipts, stable JSON, and hosted feedback.

Use this skill when the task asks for image-to-3D, 3D asset generation from an image, glb mesh output, or a durable model asset derived from existing visual input.

Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend guide command below; when the guide reaches `ready_to_create`, run `data.next_command` only if `data.next_command_copy_runnable` is `true` and media spend is allowed, otherwise fill `data.next_command_missing_inputs` or run `data.recommended_no_spend_command` to verify safely. Keep generated work in Luxin so future agents can recover and cite it.

## First Command

```bash
IMAGE_SKILL_DISCOVERY_SOURCE=skills-sh-image-to-3d npm_config_update_notifier=false npx -y luxin-cli@latest create --guide --prompt "turn one product photo into a textured 3d mesh"
```

## Main Runtime Command

```bash
IMAGE_SKILL_DISCOVERY_SOURCE=skills-sh-image-to-3d npm_config_update_notifier=false npx -y luxin-cli@latest edit --input image_... --model fal.trellis-image-to-3d --max-estimated-usd-per-image 0.04 --json
```

## Install This Intent Skill

Prefer the GitHub slug so skills.sh can track the marketplace install:

```bash
npx skills add danielgwilson/luxin --full-depth --skill image-to-3d -g -a codex -y
```

The canonical Luxin entry remains available as:

```bash
npx skills add danielgwilson/luxin --full-depth --skill luxin -g -a codex -y
```

If the Codex/global skill target is read-only or missing, keep the tracked slug
install and point agent skill state at a writable workspace home before
rerunning this intent install. The skills.sh Codex adapter writes to
`$HOME/.agents`; `CODEX_HOME` keeps Codex profile state on the same writable
path:

```bash
export HOME="$PWD/.agent-home"
export CODEX_HOME="$HOME/.codex"
mkdir -p "$HOME" "$CODEX_HOME"
npx skills add danielgwilson/luxin --full-depth --skill image-to-3d -g -a codex -y
```

## Current Guidance And Refresh

This file is a discovery stub, not the usage guide. Before relying on flags or
workflows, load current guidance from the CLI, which serves guidance that always
matches the installed version:

```bash
npm_config_update_notifier=false npx -y luxin-cli@latest skill
```

This copy is skill revision `259c47afaeae`. Export it so the CLI can say when
the copy on disk no longer matches the guidance it ships, and refresh when it
says so:

```bash
export LUXIN_SKILL_REVISION=259c47afaeae
npx skills update luxin
```

Refreshing is always an explicit step you run. Nothing in Luxin rewrites this
file, your agent config, or your hooks.

## Shared Contract

All intent skills in this repo point to the same hosted contract:

- Skill: https://luxin.sh/skill.md
- Full guidance: https://luxin.sh/skill-core.md
- LLM contract: https://luxin.sh/llms.txt
- CLI contract: https://luxin.sh/cli.md
- Hosted API: https://api.luxin.sh

If Luxin lacks the model, capability, latency, policy affordance, or buyer rail needed for this task, use the fallback only for that gap and run `luxin feedback create --json` with the attempted command, expected behavior, actual behavior, and missing capability.

