API Reference
Complete reference for the WebLLM Client SDK
WebLLM Client API
Complete reference documentation for the WebLLM Client SDK.
generateText()
Generate text from a prompt using the best available model.
Parameters
Returns
streamText()
Stream text generation in real-time.
Parameters
Same as generateText()
Returns
An async iterable that yields text chunks as they are generated.
generateObject()
Generate a structured object from a prompt using JSON Schema validation.
Parameters
Returns
streamObject()
Stream structured object generation with partial updates as the model generates.
Parameters
Returns
generateImage()
Generate images from a text prompt using AI image generation models.
Parameters
Returns
embed()
Generate an embedding vector for a single text value. Useful for semantic search, similarity comparison, and clustering.
Parameters
Returns
embedMany()
Generate embeddings for multiple text values in batch. Optimized for RAG data preparation and bulk processing.
Parameters
Returns
WebLLMClient
Advanced client for fine-grained control over requests.
Constructor
Mock Mode
All WebLLM methods support a mock parameter for instant responses without requiring any provider, extension, or daemon connection. This is useful for testing, UI development, and offline scenarios.
How It Works
- generateText / streamText: Returns lorem ipsum text
- generateObject / streamObject: Returns an object matching the provided schema
- generateImage: Returns a placeholder image
- embed / embedMany: Returns mock embedding vectors
Use Cases
- UI Development: Build and test UI components without API costs
- Unit Testing: Write tests without mocking the entire client
- Offline Development: Work without network connectivity
- Quick Prototyping: Rapidly iterate on integrations
Browser API (navigator.llm)
When the WebLLM extension is installed, the navigator.llm API is available on all web pages.
Methods
navigator.llm.isAvailable()- Check if WebLLM is availablenavigator.llm.generate(options)- Generate textnavigator.llm.stream(options)- Stream text generationnavigator.llm.generateImage(options)- Generate images from text promptsnavigator.llm.embed(options)- Generate embedding for a single valuenavigator.llm.embedMany(options)- Generate embeddings for multiple values