samtSQL

Semantic Analytics on Multimodal Tables

Run SQL with AI on your cloud database.

samtSQL lets you write SQL with AI operators over text, images, audio, and tables stored in your existing PostgreSQL database.

Example Average price of modern, roomy houses that visibly have a pool
HouseAds Illustrative rows
id city year br price photo
1 Oshawa, ON 2008 4 $565,000 Brick two-story suburban home with a double garage on an autumn street
2 Marbella, ES 2015 4 $875,000 Modern white villa with sliding glass doors and a narrow blue swimming pool in the foreground
3 Yellow Springs, OH 1942 2 $310,000 White clapboard cottage with a covered front porch and autumn trees
4 Alicante, ES 2018 5 $1,120,000 Contemporary two-story villa with a large rectangular swimming pool in front
5 Marblehead, MA 1908 5 $780,000 Traditional gray-shingle coastal home with a wraparound porch and manicured lawn
SELECT AVG(price)
FROM HouseAds
WHERE year_built > 1980
  AND bedrooms >= 3
  AND AIFILTER(photo, 'the house has a pool');
Result $997,500 avg. over rows 2 and 4
How it works

Connect and query

Step 1

Connect your existing PostgreSQL database.

Step 2

Upload CSV or ZIP files containing images, audio, or text data.

Step 3

Run SQL with AI operators using REST API or visual interface.

Data support

Supported data types

Ingest and analyze mixed data workloads in one environment.

Tables

Standard SQL data types including text, integers, floating-point values, and Booleans.

Images

AI analysis over common image formats such as JPEG and PNG.

Text

Document and free-text analysis stored directly in relational tables.

Sound

Analyze audio files such as MP3 and WAV with AI operators.

Query intelligence

Supported AI operators

Express analytical intent in natural language while staying in SQL.

AIFILTER

Filter multimodal data with natural-language conditions.

AICLASSIFY

Classify records with label names only.

AISCORE

Assign scores based on natural-language criteria.

AIMAP

Transform or extract information with natural-language instructions.

AIJOIN

Join datasets using semantic matching rules defined in natural language.

File formats

Supported file formats

Each uploaded format is available as a first-class input for SQL + AI workflows.

CSV

Structured tabular uploads for relational analysis.

ZIP

Archive container for mixed multimodal assets.

JPG

Compressed image format for visual analysis tasks.

PNG

Lossless image format with high visual fidelity.

GIF

Image format supported for uploaded media datasets.

WEBP

Modern web image format for compact storage.

MP3

Compressed audio format for speech and sound data.

WAV

Uncompressed audio format for detailed signal quality.

Pricing

AI Credits + daily compute time

Every plan unlocks the full SQL + AI operator set on PostgreSQL. Each plan bundles a monthly allotment of AI Credits for LLM usage and a per-day allowance of query compute time.

View Full Plan Details

Basic

$9 / month

  • 3 AI credits per month
  • 30 minutes compute per day*
  • Best for occasional exploration
Choose Basic

Professional

$99 / month

  • 75 AI credits per month
  • 480 minutes compute per day*
  • Best for heavier workloads
Choose Professional

*Daily compute time resets at 00:00 UTC.

Examples

SQL + AI use cases

Switch between representative use cases and inspect each SQL pattern with syntax highlighting.

Finding complaints in survey comments

Count customers who mention pricing concerns in free-text responses.

SELECT COUNT(*)
FROM SurveyResults
WHERE AIFILTER(Comments, 'the customer complains about the price');

Classifying image collections

Tag uploaded holiday images with semantic classes in one query.

SELECT AICLASSIFY(pic, 'beach picture', 'city visit', 'other')
FROM HolidayImages;

Transcribing uploaded audio

Turn MP3 clips stored in your tables into plain-text transcripts with one query.

SELECT AIMAP(content, 'Transcribe this audio into plain text.') AS transcript
FROM AudioClips
WHERE filename LIKE '%.mp3';

Ranking sentiment in reviews

Sort comments by positivity score to prioritize outreach.

SELECT *
FROM SurveyResults
ORDER BY AISCORE(Comments, 1, 10, 'Positivity');

Summarizing customer-support tickets

Condense long tickets into short summaries for triage.

SELECT AIMAP(ticket_body, 'Summarize the customer issue in two sentences')
FROM SupportTickets;

Entity matching across product catalogs

Match equivalent products from independent datasets with semantic joins.

SELECT *
FROM ProductDB1 P1, ProductDB2 P2
WHERE AIJOIN(P1.productName, P2.productName, 'this is the same product');

Documentation and guided tutorials

Read endpoint-by-endpoint API docs, operator specs, and practical tutorials for both the visual interface and Python REST clients.