Inline Citations Demo
Inline Citations Demo
Generate content with embedded citations and clickable references. Includes source verification and formatting for research writing.
Problems solved
- Render research answers with inline citation components
- Map cited sources to clickable references in the UI
- Support fact-checked writing workflows in chat
Use cases
- Academic writing assistants
- Research content creation tools
- Policy briefs with source footnotes
- Journalism drafts that keep citations inline
Setup
Requirements, wiring steps, and what this pattern adds to your project.
Getting started
Pick how you want to pull this pattern in. Then wire env vars and routes the same way.
- 1
Install from the preview toolbar

Copy the install command above and run it in your project — Pro patterns include a short-lived token.
- 2
Add environment variables to .env.local
OPENAI_API_KEY
- 3
Point client fetches at your API routes
Replace preview `/view/.../api/...` paths with `/api/...` in the installed files.
- 4
Customize the agent and tool files
Adapt prompts, tools, and stop conditions for your product — Copy for AI in the toolbar helps seed that work.
- 5
Run your dev server and open the pattern route
Install dependencies if needed, then start the app and verify responses.
Environment variables
OPENAI_API_KEYGet key
Capabilities
AI SDK APIs
streamObjectProviders
Files added
7 filesapp/page.tsxapp/layout.tsxlib/request-utils.tslib/schema.tscomponents/inline-citation-demo.tsxapp/api/citation/route.tsREADME.md
Dependencies
8 totalnpm packages
5
Registry components
Critical files
citation/route.tsAPI route implementing AI citation generation: uses streamObject with a citationSchema to generate content with inline numbered citations and real source URLs.
lib/schema.tsDefines the citationSchema used by streamObject: structured output with content string and citations array (number, title, url, description, quote).
Requirements
- Complexity
- Beginner
- Setup time
- ~15 minutes
- Node
- 24+
- Memory
- 512MB









