No Schema Output Mode with Vercel AI SDK is a Next.js starter published by Vercel Labs that streams generated structured data by calling the Vercel AI SDK's streamObject function with the no-schema output mode.
What is No Schema Output Mode with Vercel AI SDK?
It is a runnable Next.js example that demonstrates calling streamObject from the Vercel AI SDK in no-schema mode, so an AI provider returns structured data that is streamed out without a predefined object shape. The template takes a prompt plus a provider API key as inputs and produces streamed object output consumed by the app, rather than a schema-validated payload. It is maintained by Vercel Labs as the ai-sdk-preview-no-schema GitHub repository, and it can be bootstrapped locally with create-next-app or cloned straight to Vercel with the deploy button. The repository has around 29 stars.
What makes this template stand out?
- No-schema output mode — illustrates
streamObjectwithout an underlying schema, so generated structured data streams without a fixed, validated field layout. - Provider choice — you sign up with whichever AI provider you want to use, such as OpenAI or Anthropic, rather than being locked to one vendor.
- Next.js foundation — a standard Next.js project bootstrapped through
create-next-app, started locally withnpm installfollowed bynpm run dev. - Three package managers documented — the bootstrap command is given for npm, Yarn, and pnpm variants of
create-next-app --example. - One-click Vercel deploy — the GitHub README ships a "Deploy with Vercel" button that clones
vercel-labs/ai-sdk-preview-no-schemaand requests theOPENAI_API_KEYenvironment variable. - Environment variable template — a
.env.examplefile lists the keys each provider needs, which you copy into a new.envfile before running the app.
Who should use this template?
- AI application developers evaluating how to stream structured objects from a model without committing to a schema.
- Prototypers who want a working Next.js + Vercel AI SDK starting point they can extend with their own provider and prompt.
- Developers new to the Vercel AI SDK who want a minimal, runnable reference for
streamObjectrather than reading docs alone. - Vercel users who prefer to clone a repository directly through the deploy button instead of scaffolding locally.
What can you do with this template?
- Structured output experiments: swap in different prompts and observe the streamed object output that
streamObjectproduces without schema constraints. - Provider comparison: configure keys for OpenAI, Anthropic, or another supported provider and compare how each streams structured results.
- Next.js AI app groundwork: use the example as a base project and add routes or UI around the streaming call.
How does the template work?
- Create accounts with the AI providers you intend to use and obtain API keys.
- Copy the variables from
.env.exampleinto a new.envfile and fill in the keys. - Run
npm installto install dependencies, thennpm run devto launch the development server.
FAQ
Is this template free to use?
Yes. It is an open example published in the Vercel Labs GitHub organization and is bootstrapped with create-next-app. You supply your own AI provider accounts and API keys, and any usage charges come from that provider rather than from the template itself.
Which AI providers does it support?
The documentation states you sign up with the AI providers you want to use, naming OpenAI and Anthropic as examples. Because the no-schema preview is provider-agnostic, you set the corresponding environment variables in .env for whichever provider you configure.
Do I need an API key to run it?
Yes. The app requires at least one provider API key before it will work. The Vercel deploy flow requests OPENAI_API_KEY, and the .env.example file in the repository lists the key names you need to copy into a local .env file.
What makes no-schema mode different from schema mode?
In this preview, streamObject is called in no-schema output mode, meaning no object schema is defined ahead of time. Output is streamed without schema validation or a fixed field structure, which differs from schema-based streamObject usage where the model output is constrained to a declared shape.








