> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sully.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Build with Sully

> Build clinical workflows with Sully's general-purpose LLM, note generation, and transcription APIs.

<div className="sully-start not-prose">
  <div>
    <p className="sully-start-title" role="heading" aria-level={2}>Your next clinical workflow starts here.</p>
    <p>Choose an API, connect your credentials, and make your first request.</p>

    <div className="sully-start-actions">
      <a className="sully-button" href="#before-you-begin">Get started <span aria-hidden="true">↗</span></a>
      <a className="sully-text-link" href="/sdk-reference">Explore the SDKs <span aria-hidden="true">→</span></a>
    </div>
  </div>

  <div className="sully-start-mark" aria-hidden="true">
    <img src="https://mintcdn.com/sully-api-docs-v2/dkZWWDUX7Td4Tecl/assets/sully-mark.svg?fit=max&auto=format&n=dkZWWDUX7Td4Tecl&q=85&s=0cb241cc2f99cf55d879c7eaab92d835" alt="" width="56" height="46" noZoom data-path="assets/sully-mark.svg" />
  </div>
</div>

## Choose an API

<div className="sully-api-grid not-prose">
  <a className="sully-api-card" href="/sully-m1">
    <div className="sully-card-top">
      <span className="sully-card-icon" aria-hidden="true">
        <Icon icon="sparkles" size={22} />
      </span>

      <span className="sully-card-title" role="heading" aria-level={3}>Sully M1</span>
    </div>

    <p>General inference, structured output, and tool calling over synchronous or streamed HTTP.</p>
    <span className="sully-card-link">Explore Sully M1 <span aria-hidden="true">→</span></span>
  </a>

  <a className="sully-api-card" href="/note-generation-v3">
    <div className="sully-card-top">
      <span className="sully-card-icon" aria-hidden="true">
        <Icon icon="wand-magic-sparkles" size={22} />
      </span>

      <span className="sully-card-title" role="heading" aria-level={3}>Note generation</span>
    </div>

    <p>Generate a clinical note in one request with inline clinical context.</p>
    <span className="sully-card-link">Generate a note <span aria-hidden="true">→</span></span>
  </a>

  <a className="sully-api-card" href="/transcription-v2">
    <div className="sully-card-top">
      <span className="sully-card-icon" aria-hidden="true">
        <Icon icon="file-audio" size={22} />
      </span>

      <span className="sully-card-title" role="heading" aria-level={3}>Transcription</span>
    </div>

    <p>Turn a completed audio recording into a transcript with asynchronous processing.</p>
    <span className="sully-card-link">Transcribe audio <span aria-hidden="true">→</span></span>
  </a>

  <a className="sully-api-card" href="/streaming-transcription">
    <div className="sully-card-top">
      <span className="sully-card-icon" aria-hidden="true">
        <Icon icon="waveform-lines" size={22} />
      </span>

      <span className="sully-card-title" role="heading" aria-level={3}>Streaming transcription</span>
    </div>

    <p>Show partial and final transcripts in real time while audio is captured.</p>
    <span className="sully-card-link">Stream audio <span aria-hidden="true">→</span></span>
  </a>
</div>

## Before you begin

Use the Sully dashboard to create an API key and find your account ID. Store
these values in your backend environment:

```bash theme={null}
export SULLY_API_BASE_URL="https://api.sully.ai"
export SULLY_ACCOUNT_ID="your-account-id"
export SULLY_API_KEY="your-api-key"
```

## Install an SDK

<CodeGroup>
  ```bash TypeScript theme={null}
  npm install @sullyai/sullyai
  ```

  ```bash Python theme={null}
  pip install --pre sullyai
  ```
</CodeGroup>

The guides include examples for TypeScript and Python. Streaming examples use a
short-lived token with a WebSocket library. See the [SDK reference](/sdk-reference)
for client options and request methods.

## Authenticate REST requests

Send the account ID and API key with every REST request:

```http theme={null}
X-Account-Id: your-account-id
X-Api-Key: your-api-key
```

Sully M1's OpenAI-compatible endpoint also supports a composite bearer credential:

```http theme={null}
Authorization: Bearer your-account-id:your-api-key
```
