← Listin3DCONTENT HISTORY

Update to Listin3D

Snapshot Oct 25, 2026 · 19:02 UTC · version 1.2.2

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save Listin3D and check future changes in Following.

Up to 10 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Prepare a GLB model or a Three.js/HTML 3D scene for a Listin3D product listing and send it with the Listin3D connector. Use when a seller wants a 3D model, 3D scene or Three.js view of their product on Listin3D, or asks to upload, import, send or attach a .glb or .html 3D file to a listing.",
  "included_files": [
    {
      "relative_path": "references/threejs-scene-template.html",
      "size_in_bytes": 3788
    },
    {
      "relative_path": "scripts/check_3d_file.py",
      "size_in_bytes": 4417
    }
  ],
  "name": "listin3d-3d-scenes",
  "skill_md_contents": "---\nname: listin3d-3d-scenes\ndescription: Prepare a GLB model or a Three.js/HTML 3D scene for a Listin3D product listing and send it with the Listin3D connector. Use when a seller wants a 3D model, 3D scene or Three.js view of their product on Listin3D, or asks to upload, import, send or attach a .glb or .html 3D file to a listing.\n---\n\n# Send 3D to a Listin3D listing\n\nListin3D lists products with interactive 3D. A seller can attach one private 3D proposal to each of their listings: a self-contained GLB model or a single-file HTML scene such as Three.js. Listin3D staff review it, place it in a scene and publish it with the listing. Nothing you send is public until then.\n\n## 1. Check requirements and the listing\n\nFor example scenes before creating a listing, call `list_3d_experiences`. These are conceptual demonstrations, not published product offers.\n\n1. Call `get_3d_requirements`. If `seller_uploads_enabled` is false, tell the seller 3D uploads are paused and stop.\n2. Call `list_my_submissions` and ask which listing the 3D is for. If the seller has none, help create one with `get_listing_requirements` and `create_listing_draft`. Never invent product details.\n3. A listing's `scene_proposal` shows any existing proposal. Sending a new valid file replaces it.\n\n## 2. Prepare the file\n\nChoose the format from what the seller has or wants:\n\n- **Product model** (furniture, a device, a vehicle): a GLB. Listin3D places it in a studio, home or street environment.\n- **Complete experience** (a room, a building walkthrough, a configurator, custom lighting): a single-file HTML scene.\n\nGLB rules:\n\n- One binary glTF 2.0 file with embedded buffers and textures. No external `.bin` or image files.\n- Real-world size in meters, +Y up, with the model resting at its true scale. Listin3D never rescales a model.\n- Up to 50 MB; aim for 5 to 15 MB for phones. Draco, Meshopt and KTX2 compression are supported.\n- In a code sandbox, export with Three.js `GLTFExporter` (`binary: true`), Blender (`export_format='GLB'`) or trimesh, then check the file as described below.\n\nHTML scene rules:\n\n- Start from `references/threejs-scene-template.html`. It already has the required readiness snippet, visibility pause, resize handling and orbit controls.\n- One UTF-8 document, up to 5 MB (1,000,000 characters to send as text). Load libraries only from absolute HTTPS URLs that allow CORS, such as `cdn.jsdelivr.net`, or inline them. Local side files are not uploaded.\n- Compile React or TypeScript to plain HTML first. The scene must create its own renderer, camera, lights, floor and controls.\n- It runs in an isolated sandbox without same-origin access, cookies, storage of the parent page, popups, forms or top navigation. Don't rely on those.\n- It must post `{ type: \"LISTIN3D_READY\" }` to its parent. Without that, staff cannot preview it, and Listin3D rejects it.\n\nBefore sending a file you created in a sandbox or on the user's computer, run the checker. Replace `ACTUAL_SKILL_FOLDER` with the local directory containing this `SKILL.md`, using the location provided by the skill loader:\n\n```bash\npython3 \"ACTUAL_SKILL_FOLDER/scripts/check_3d_file.py\" path/to/file.glb\n```\n\nThe checker needs only Python 3 and reports problems plus the transfer method to use. Fix every reported problem before sending. If the host does not expose a local skill folder or code execution, use the supported MCP transfer or website flow and explain that the local checker could not run.\n\n## 3. Confirm with the seller\n\nBefore sending, ask the seller to confirm both:\n\n- They have the right to share and use this file in the listing.\n- It replaces any earlier 3D proposal for that listing.\n\nPass `rights_confirmed: true` only after they confirm. Use a new UUID as `request_id` for each distinct file, and reuse it only to retry the same file.\n\n## 4. Send it\n\nPick the first method that fits:\n\n| Situation                                                              | Tool                                                                                         |\n| ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |\n| You wrote or hold the HTML scene text                                  | `submit_3d_scene_html` with the full document as `html`                                      |\n| The user attached the file in ChatGPT, or it is at a public HTTPS link | `import_3d_file` (`file.download_url`, `file.file_id`)                                       |\n| The file exists only in your code sandbox or on the user's computer    | `create_3d_upload_link`, then run the returned `command` once                                |\n| None of the above works                                                | Give the seller the `website_url` from `get_3d_requirements` to upload it in their dashboard |\n\nNotes for `create_3d_upload_link`:\n\n- Pass the exact `size_bytes`, up to 30 MB; a larger GLB (up to 50 MB) needs `import_3d_file` from a public HTTPS link or the website. The link works once and expires after 15 minutes. Don't show it to anyone else.\n- A code sandbox needs outbound network access to `listin3d.com`. If the upload fails with a network or DNS error, explain that the user can allow that domain for code execution in their assistant's settings, or download the file and upload it on the website.\n- For GLB models you may pass an optional `suggestion` with an environment (`studio`, `home`, `street`), navigation (`orbit`, `fps`) and placement. Staff make the final choice.\n\n## 5. Report the result\n\n- Success returns `scene_proposal.status: \"ready_for_review\"` and `proposal_published: false`. Say the file was received for team review. Never say it is published or approved.\n- For a draft or revision listing, use `get_my_listing` to read its version. The seller can add selected photos or plans with `import_listing_files`, then explicitly approve `submit_listing_for_review`; use the account skill for this workflow. Also share `listing_url` for the web editor.\n- If a tool returns an error, follow its instruction. Don't retry a validation error with the same file.\n- Check progress later with `list_my_submissions`.\n"
}

SHA-256 of public snapshot: c14ffd55e64391a1fe731d88f6599a0ccfa7302c85dd330e7fd29d4e957d108b