- name
- deepgram-js-text-intelligence
- description
- Use when writing or reviewing JavaScript/TypeScript in this repo that calls Deepgram Text Intelligence / Read (`/v1/read`) for sentiment, summarization, topic detection, and intent recognition on text input. Covers `client.read.v1.text.analyze(...)` with `body: { text }` or `body: { url }`. Use `deepgram-js-audio-intelligence` when the source is audio instead of text. Triggers include "read API", "text intelligence", "analyze text", "sentiment", "summarize text", "topics", "intents", and "read.v1".
# Using Deepgram Text Intelligence (JavaScript / TypeScript SDK)
Analyze text or a hosted text URL for sentiment, summarization, topics, and intents via `/v1/read`.
## When to use this product
- You already have **text** (transcript, document, email, chat log) and want analytics.
- You want a single REST call; there is no streaming Read API in this SDK.
**Use a different skill when:**
- Your source is audio and you want the analytics applied during transcription → `deepgram-js-audio-intelligence`.
## Authentication
```js
require("dotenv").config();
const { DeepgramClient } = require("@deepgram/sdk");
const deepgramClient = new DeepgramClient({
apiKey: process.env.DEEPGRAM_API_KEY,
});
```
## Quick start
From `examples/12-text-intelligence.ts`:
```js
const data = await deepgramClient.read.v1.text.analyze({
body: {
text: "Hello, world! This is a sample text for analysis.",
},
language: "en",
summarize: "v2",
});
console.log("Analysis result:", JSON.stringify(data, null, 2));
```
For broader coverage, `examples/28-text-intelligence-advanced.ts` also demonstrates `sentiment`, `topics`, `intents`, custom topics/intents, callbacks, and URL input.
## Key parameters / API surface
| Param | Notes |
|---|---|
| `body` | Required. Use `{ text: "..." }` or `{ url: "https://..." }` |
| `language` | Usually required for analytics features |
| `sentiment` | Per-segment + aggregate sentiment |
| `summarize` | SDK examples use both `"v2"` and `true`; see gotchas |
| `topics`, `intents` | Model-detected topics and intents |
| `custom_topic`, `custom_intent` | `string` or `string[]` |
| `custom_topic_mode`, `custom_intent_mode` | Usually `"extended"` or `"strict"` |
| `callback`, `callback_method`, `tag` | Async delivery and labeling |
## API reference (layered)
1. **In-repo reference**: `reference.md` → `Read V1 Text`; request typing also lives in `src/api/resources/read/resources/v1/resources/text/client/{Client,requests/TextAnalyzeRequest.ts}`.
2. **Canonical OpenAPI (REST)**: https://developers.deepgram.com/openapi.yaml
3. **Canonical AsyncAPI (WSS)**: https://developers.deepgram.com/asyncapi.yaml
4. **Context7**: library ID `/llmstxt/developers_deepgram_llms_txt`
5. **Product docs**:
- https://developers.deepgram.com/reference/text-intelligence/analyze-text
- https://developers.deepgram.com/docs/text-intelligence
- https://developers.deepgram.com/docs/text-sentiment-analysis
## Gotchas
1. **Prefer `body: { text | url }` in typed code.** That matches `TextAnalyzeRequest`; some examples also use top-level `text`, which is less reliable for strict TS.
2. **`summarize` is inconsistent across examples and generated comments.** The request type points at `TextAnalyzeRequestSummarize` (`"v2"` today), while generated comments mention boolean for Read and examples use both forms.
3. **This API is REST-only here.** No `read.v1` WebSocket exists in the repo.
4. **Custom topics/intents need a mode for predictable behavior.** Use `extended` or `strict`.
5. **The body is JSON, not raw text bytes.** Send `{ body: { text: ... } }`, not a string payload.
6. **Language support is product-side, not SDK-side.** If analytics look sparse, verify the feature/model/language combination in docs.
## Example files in this repo
- `examples/12-text-intelligence.ts`
- `examples/28-text-intelligence-advanced.ts`
## Central product skills
For cross-language Deepgram product knowledge — the consolidated API reference, documentation finder, focused runnable recipes, third-party integration examples, and MCP setup — install the central skills:
```bash
npx skills add deepgram/skills
```
This SDK ships language-idiomatic code skills; `deepgram/skills` ships cross-language product knowledge (see `api`, `docs`, `recipes`, `examples`, `starters`, `setup-mcp`).
在 GitHub 查看