# Deepgram Go Text Intelligence

> Use when writing or reviewing Go code in this repo that sends text to Deepgram Read via the analyze client. Route speech/audio inputs to deepgram-go-speech-to-text or deepgram-go-audio-intelligence, and management/admin work to deepgram-go-management-api.

- Skill: `deepgram/deepgram-go-text-intelligence` (Agent Skill)
- Install (CLI): `npx skillmds@latest add deepgram/deepgram-go-text-intelligence`
- Raw SKILL.md: https://api.skillmd.com/api/skills/deepgram/deepgram-go-text-intelligence/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: deepgram (https://skillmd.com/u/deepgram)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/deepgram/deepgram-go-text-intelligence

---


# Using Deepgram Text Intelligence from the Go SDK

## When to use this product

Use this skill for plain-text analysis handled by `pkg/client/analyze`.

- summarization
- sentiment on text input
- URL, file, or stream based Read requests

Use a different skill when:

- your source material is audio and should go through `/v1/listen` (`deepgram-go-audio-intelligence`)
- you need transcription first (`deepgram-go-speech-to-text`)
- you need admin endpoints (`deepgram-go-management-api`)

## Authentication

Set `DEEPGRAM_API_KEY` before creating the analyze client.

```bash
export DEEPGRAM_API_KEY="your_api_key"
```

## Quick start

```go
package main

import (
	"context"
	"fmt"
	"log"
	"strings"

	api "github.com/deepgram/deepgram-go-sdk/v3/pkg/api/analyze/v1"
	analyze "github.com/deepgram/deepgram-go-sdk/v3/pkg/client/analyze"
	interfaces "github.com/deepgram/deepgram-go-sdk/v3/pkg/client/interfaces"
)

func main() {
	if err := run(); err != nil {
		log.Fatal(err)
	}
}

func run() error {
	ctx := context.Background()

	client := analyze.NewWithDefaults()
	dg := api.New(client)

	resp, err := dg.FromStream(
		ctx,
		strings.NewReader("Deepgram provides APIs for speech, voice, and media intelligence."),
		&interfaces.AnalyzeOptions{Summarize: true, Sentiment: true},
	)
	if err != nil {
		return err
	}

	if resp.Results.Summary != nil {
		fmt.Println(resp.Results.Summary.Text)
	}
	return nil
}
```

## Key parameters

- `interfaces.AnalyzeOptions`
  - common fields include `Summarize`, `Sentiment`, and other Read features exposed by the analyze client
- request helpers
	- on `pkg/api/analyze/v1`: `api.New(client).FromFile`, `FromStream`, `FromURL`
- constructors
	- `analyze.NewWithDefaults()`
	- `analyze.New(apiKey, options)`

## API reference (layered)

1. In-repo reference
   - `README.md`
   - `docs.go`
   - `pkg/client/analyze/client.go`
   - `pkg/client/analyze/v1/client.go`
   - `pkg/client/interfaces/v1/types-analyze.go`
   - `pkg/api/version/analyze-version.go`
2. OpenAPI
   - `https://developers.deepgram.com/openapi.yaml`
3. AsyncAPI
   - `https://developers.deepgram.com/asyncapi.yaml`
4. Context7
   - `/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. The Go package is named `analyze`, but the product route maps to Read / text intelligence.
2. Do not send raw audio here; audio intelligence features live on the listen REST path.
3. `FromFile`, `FromStream`, and `FromURL` live on the `pkg/api/analyze/v1` wrapper, not on the base client.
4. Reuse `context.Context` and stream readers for large inputs instead of materializing everything into one string.

## Example files in this repo

- `examples/analyze/summary/main.go`
- `examples/analyze/sentiment/main.go`

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

