# Quady3D client setup and examples

> Install versioned client archives and run a recoverable generation workflow in a trusted environment.

Client version: 0.1.2. Client code: MIT. Service access, generated assets and underlying models have separate terms.
[Documentation index](/llms.txt) · [API reference](/developers/docs/api.md)

## Package installation

Install MCP and the TypeScript SDK from npm, and the Python SDK from PyPI. Versioned archives are also available.
[Public client source and Skill](https://github.com/quady3dai/quady3d-tools)

```sh
# MCP (Node.js 22+)
npm install --global --ignore-scripts @quady3d/mcp@0.1.2
# JavaScript / TypeScript (Node.js 22+)
npm install --ignore-scripts @quady3d/sdk@0.1.2
# Python 3.10+
python3 -m venv .venv
. .venv/bin/activate
python -m pip install quady3d==0.1.2
# Agent Skill (run inside your project)
npx skills add quady3dai/quady3d-tools --skill quady3d -a codex
```

## Requirements and archive downloads

- [Quady3D MCP](/integrations/mcp): Node.js 22+ · local stdio. [Download archive](/downloads/quady3d/0.1.2/quady3d-mcp-0.1.2.tgz).
- [Quady3D Agent Skill](/integrations/agent-skill): Codex · Quady3D MCP required. [Download archive](/downloads/quady3d/0.1.2/quady3d-skill-0.1.2.zip).
- [TypeScript SDK](/developers/sdk/typescript): Node.js 22+ · JavaScript / TypeScript. [Download archive](/downloads/quady3d/0.1.2/quady3d-sdk-0.1.2.tgz).
- [Python SDK](/developers/sdk/python): Python 3.10+. [Download archive](/downloads/quady3d/0.1.2/quady3d-0.1.2-py3-none-any.whl).

Check [SHA256SUMS](/downloads/quady3d/0.1.2/SHA256SUMS.txt) against the downloaded archives. The alternative commands below install the same version directly from archives. Set QUADY3D_PACKAGE_ORIGIN to the trusted HTTP(S) origin hosting these archives.

```sh
: "${QUADY3D_PACKAGE_ORIGIN:?Set the trusted archive origin}"
# MCP (Node.js 22+)
npm install --global --ignore-scripts "${QUADY3D_PACKAGE_ORIGIN}/downloads/quady3d/0.1.2/quady3d-mcp-0.1.2.tgz"
# JavaScript / TypeScript (Node.js 22+)
npm install --ignore-scripts "${QUADY3D_PACKAGE_ORIGIN}/downloads/quady3d/0.1.2/quady3d-sdk-0.1.2.tgz"
# Python 3.10+
python3 -m venv .venv
. .venv/bin/activate
python -m pip install "${QUADY3D_PACKAGE_ORIGIN}/downloads/quady3d/0.1.2/quady3d-0.1.2-py3-none-any.whl"
```

## MCP and Agent Skill

Follow the [MCP setup guide](/integrations/mcp) to connect a Key and configure the executable and authorized project directory in Codex. The [Agent Skill](/integrations/agent-skill) requires Quady3D MCP; a Skill archive alone does not provide generation tools. Extract its quady3d directory into the supported Skill directory, preserving SKILL.md and references. Restart or refresh the host so it discovers the installed Skill.

## SDK workflow

Keep QUADY3D_API_KEY in your process environment. QUADY3D_API_URL can point to a trusted API base path; the example default is https://quady3d.com/api/v1. Examples call the configured service and can spend credits: inspect the quote and set an explicitly approved limit first.

Choose QUADY3D_MODEL from GET /models for the requested operation. Set QUADY3D_MAX_CREDITS, a unique QUADY3D_ACTION_ID, a private QUADY3D_REQUEST_FILE and a new QUADY3D_OUTPUT destination. Parent directories must exist. The example saves the request before submitting and uses that request again on restart. It refuses to overwrite an existing output.

For an explicitly selected PNG, also set QUADY3D_IMAGE_PATH (up to 8 MiB); otherwise the example uses its sample text prompt. For an existing job, set QUADY3D_JOB_ID to resume file delivery without another quote or generation. Keep the original API connection and account. Request state must be retained across retries.

The complete executable examples are linked below. They are the same code used by the SDK guides, including terminal-state checks, download validation and temporary-file cleanup.

- [JavaScript example](/developers/docs/examples/generate.mjs): Save as generate.mjs after installing @quady3d/sdk.
- [Python example](/developers/docs/examples/generate.py): Save as generate.py after installing quady3d.

```sh
node generate.mjs
# or, in the activated Python environment:
python generate.py
```

A timeout or submission_unknown is a recovery step. Resume the same action and saved request; do not silently create a new generation. For full HTTP behavior and scopes, read the [API reference](/developers/docs/api.md).
