@audiotool/nexus - v0.0.17
    Preparing search index...

    Function createAudiotoolClient

    • Create an Audiotool client with explicit auth and transport configuration.

      Use this for Node.js scripts, server-side code, or when you need manual control over authentication and transport.

      For browser apps with OAuth, use audiotool() instead - it's simpler and handles the OAuth flow automatically.

      Parameters

      • __namedParameters: { auth: string | AuthProvider; transport?: TransportFactory; wasm?: WasmLoader }
        • auth: string | AuthProvider

          Authentication provider or PAT string.

          • String: treated as a Personal Access Token
          • AuthProvider: custom auth provider (e.g., from createPATAuth, createServerAuth)
        • Optionaltransport?: TransportFactory

          Transport factory for making RPC calls.

          • For Node.js: use createNodeTransport() from @audiotool/nexus/node
          • For browser: can be omitted (defaults to browser transport)
        • Optionalwasm?: WasmLoader

          WASM loader for loading the document validator.

          • For Node.js/Bun/Deno: use createDiskWasmLoader() from @audiotool/nexus/node
          • For browser: can be omitted (defaults to fetch-based loader)

      Returns Promise<AudiotoolClient>

      // Node.js with server auth (tokens from browser OAuth)
      import { createAudiotoolClient, createServerAuth } from "@audiotool/nexus"
      import { createNodeTransport, createDiskWasmLoader } from "@audiotool/nexus/node"

      const client = await createAudiotoolClient({
      auth: createServerAuth({ accessToken, refreshToken, expiresAt, clientId }),
      transport: createNodeTransport(),
      wasm: createDiskWasmLoader(),
      })

      // List projects (flat API)
      const projects = await client.projects.listProjects({})

      // Open a project for editing
      const doc = await client.open(projects.projects[0].name)
      await doc.start()

      audiotool for browser apps with OAuth