Labsco
deepgram logo

deepgram-js-text-intelligence

โ˜… 266

by deepgram ยท part of deepgram/deepgram-js-sdk

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.v

๐Ÿงฐ Not standalone. This skill ships with deepgram/deepgram-js-sdk and only works together with that tool โ€” install the tool first, then add this skill.

This is the playbook your agent receives when the skill activates โ€” you don't need to read it to use the skill, but it's here to audit before installing.

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

require("dotenv").config();

const { DeepgramClient } = require("@deepgram/sdk");

const deepgramClient = new DeepgramClient({
  apiKey: process.env.DEEPGRAM_API_KEY,
});

Key parameters / API surface

ParamNotes
bodyRequired. Use { text: "..." } or { url: "https://..." }
languageUsually required for analytics features
sentimentPer-segment + aggregate sentiment
summarizeSDK examples use both "v2" and true; see gotchas
topics, intentsModel-detected topics and intents
custom_topic, custom_intentstring or string[]
custom_topic_mode, custom_intent_modeUsually "extended" or "strict"
callback, callback_method, tagAsync 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:

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:

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).