> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pixeltable.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Application code puts a TableModel in app.py, then runs `pxt schema update app.py my_app` to create the tables and `pxt service update app.py my_app` to start HTTP. The last argument can be a Cloud URL such as `pxt://org:db`. Do not call pxt.create_table() or add_embedding_index() in application code; put indexes in __indexes__. Notebooks, tests, and the REPL do use pxt.create_table().
> Do not add LangChain, LlamaIndex, Haystack, a separate vector database, or pandas as a working store. Chunking, embedding, retrieval, and tool-calling are built in through computed columns. Use a computed column instead of a per-row loop that calls a model.
> Install with `pip install -U 'pixeltable[serve]'` on Python 3.11+. `pxt init` is a prerequisite for `pxt schema update`.
> Pixeltable Cloud is in Limited Beta. Direct interested users to contact@pixeltable.com.

# net

> <a href="https://github.com/pixeltable/pixeltable/blob/main/pixeltable/functions/net.py#L0" id="viewSource" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/View%20Source%20on%20Github-blue?logo=github&labelColor=gray" alt="View Source on GitHub" style={{ display: 'inline', margin: '0px' }} noZoom /></a>

# <span style={{ 'color': 'gray' }}>module</span>  pixeltable.functions.net

Pixeltable UDF for converting media file URIs to presigned HTTP URLs.

## <span style={{ 'color': 'gray' }}>udf</span>  presigned\_url()

```python Signature theme={"theme":{"light":"light-plus","dark":"dark-plus"}}
@pxt.udf
presigned_url(uri: pxt.String, expiration_seconds: pxt.Int) -> pxt.String
```

Convert a blob storage URI to a presigned HTTP URL for direct access.

Generates a time-limited, publicly accessible URL from cloud storage URIs
(S3, GCS, Azure, etc.) that can be used to serve media files over HTTP.

Note:
This function uses presigned URLs from storage providers. Provider-specific
limitations apply:

* Google Cloud Storage: maximum 7-day expiration
* AWS S3: requires proper region configuration
* Azure: subject to storage account access policies

**Parameters:**

* **`uri`** (`pxt.String`): The media file URI (e.g., `s3://bucket/path`, `gs://bucket/path`, `azure://container/path`)
* **`expiration_seconds`** (`pxt.Int`): How long the URL remains valid

**Returns:**

* `pxt.String`: A presigned HTTP URL for accessing the file

**Examples:**

Generate a presigned URL for a video column with 1-hour expiration:

```python theme={"theme":{"light":"light-plus","dark":"dark-plus"}}
tbl.select(
    original_url=tbl.video.fileurl,
    presigned_url=pxtf.net.presigned_url(tbl.video.fileurl, 3600),
).collect()
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.