# Core Capabilities

Xio is designed to process and understand a variety of input formats. These include PDF, DOCX, TXT, CSV, raw text, YouTube links, and web pages. Once uploaded, content is parsed, embedded, and indexed into a vector database. You can then chat with that content using a local or remote LLM.

Documents are organized into workspaces. Each workspace holds its own set of files, chat history, and context. You can create multiple workspaces to keep content logically grouped and independent.

You can interact through the web interface or by using the API. For example, uploading a document can be done like this:

```bash
bashCopyEditcurl -X POST http://localhost:3001/api/sources \
  -F "file=@example.pdf" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

Or start a conversation with a prompt:

```bash
bashCopyEditcurl -X POST http://localhost:3001/api/chat \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{"prompt":"Summarize the document", "workspace":"default"}'
```

Xio supports real-time chat, document summarization, and contextual Q\&A across all uploaded sources.
