# AI21

[Get an AI21 API key](https://studio.ai21.com/account/api-key?source=docs)

## Usage

{% code title=".env" %}

```bash
AI21_API_KEY=
```

{% endcode %}

```typescript
import { TokenJS } from 'token.js'

// Create the Token.js client
const tokenjs = new TokenJS()

async function main() {
  // Create a model response
  const completion = await tokenjs.chat.completions.create({
    // Specify the provider and model
    provider: 'ai21',
    model: 'jamba-instruct',
    // Define your message
    messages: [
      {
        role: 'user',
        content: 'Hello!',
      },
    ],
  })
  console.log(completion.choices[0])
}
main()
```

## Supported Models

| Model          | Chat Completion | Streaming | JSON Output | Image Input | Function Calling | N > 1 |
| -------------- | --------------- | --------- | ----------- | ----------- | ---------------- | ----- |
| jamba-instruct | ✅               | ✅         | ➖           | ➖           | ➖                | ✅     |

### Legend

| Symbol               | Description                                                      |
| -------------------- | ---------------------------------------------------------------- |
| :white\_check\_mark: | Supported by Token.js                                            |
| :heavy\_minus\_sign: | Not supported by the LLM provider, so Token.js cannot support it |
|                      |                                                                  |

## Additional Resources

* [AI21 Documentation](https://docs.ai21.com)
