diff --git a/labs/vispark/lab.toml b/labs/vispark/lab.toml
new file mode 100644
index 00000000000..3aebe3fe5da
--- /dev/null
+++ b/labs/vispark/lab.toml
@@ -0,0 +1 @@
+description = "Vispark builds India-centered foundational multimodal intelligence (Vision) with 1M-token context, served via Vispark Lab's API."
diff --git a/labs/vispark/logo.svg b/labs/vispark/logo.svg
new file mode 100644
index 00000000000..2348c5a2f7f
--- /dev/null
+++ b/labs/vispark/logo.svg
@@ -0,0 +1,3 @@
+
diff --git a/models/vispark/vision-large.toml b/models/vispark/vision-large.toml
new file mode 100644
index 00000000000..0c850177b0c
--- /dev/null
+++ b/models/vispark/vision-large.toml
@@ -0,0 +1,26 @@
+# Lab metadata for Vispark Vision Large.
+# Provider-agnostic facts about the model Vispark built.
+# Served first-party by Vispark Lab via OpenAI-compatible API: https://api.lab.vispark.in/v1
+# Model list: GET https://api.lab.vispark.in/v1/models returns vispark/vision-large
+# (verified live 2026-09-13; context_length 1000000, max_output_length 65536 per entry).
+# Chat: POST https://api.lab.vispark.in/v1/chat/completions.
+# Release 2024-05-15: live endpoint returns created = 1715731200 (= 2024-05-15) per model,
+# Last updated 2026-09: current lineup as verified live 2026-09-13 (month precision).
+name = "Vision Large"
+description = "Most capable Vision model for complex reasoning, detailed media analysis, and structured output over a 1M-token context window."
+release_date = "2024-05-15"
+last_updated = "2026-09"
+attachment = true
+reasoning = true
+temperature = true
+tool_call = true
+structured_output = true
+open_weights = false
+
+[limit]
+context = 1_000_000
+output = 65_536
+
+[modalities]
+input = ["text", "image", "audio", "video", "pdf"]
+output = ["text"]
diff --git a/models/vispark/vision-medium.toml b/models/vispark/vision-medium.toml
new file mode 100644
index 00000000000..89b8b000c7f
--- /dev/null
+++ b/models/vispark/vision-medium.toml
@@ -0,0 +1,26 @@
+# Lab metadata for Vispark Vision Medium.
+# Provider-agnostic facts about the model Vispark built.
+# Served first-party by Vispark Lab via OpenAI-compatible API: https://api.lab.vispark.in/v1
+# Model list: GET https://api.lab.vispark.in/v1/models returns vispark/vision-medium
+# (verified live 2026-09-13; context_length 1000000, max_output_length 65536 per entry).
+# Chat: POST https://api.lab.vispark.in/v1/chat/completions.
+# Release 2024-05-15: live endpoint returns created = 1715731200 (= 2024-05-15) per model,
+# Last updated 2026-09: current lineup as verified live 2026-09-13 (month precision).
+name = "Vision Medium"
+description = "Balanced multimodal model pairing a 1M-token context window with deeper reasoning for analysis, content creation, and tool use across text, image, audio, video, and PDF inputs."
+release_date = "2024-05-15"
+last_updated = "2026-09"
+attachment = true
+reasoning = true
+temperature = true
+tool_call = true
+structured_output = true
+open_weights = false
+
+[limit]
+context = 1_000_000
+output = 65_536
+
+[modalities]
+input = ["text", "image", "audio", "video", "pdf"]
+output = ["text"]
diff --git a/models/vispark/vision-small.toml b/models/vispark/vision-small.toml
new file mode 100644
index 00000000000..2dce89d0c4f
--- /dev/null
+++ b/models/vispark/vision-small.toml
@@ -0,0 +1,26 @@
+# Lab metadata for Vispark Vision Small.
+# Provider-agnostic facts about the model Vispark built.
+# Served first-party by Vispark Lab via OpenAI-compatible API: https://api.lab.vispark.in/v1
+# Model list: GET https://api.lab.vispark.in/v1/models returns vispark/vision-small
+# (verified live 2026-09-13; context_length 1000000, max_output_length 65536 per entry).
+# Chat: POST https://api.lab.vispark.in/v1/chat/completions.
+# Release 2024-05-15: live endpoint returns created = 1715731200 (= 2024-05-15) per model,
+# Last updated 2026-09: current lineup as verified live 2026-09-13 (month precision).
+name = "Vision Small"
+description = "Fast, low-cost multimodal model for understanding text, images, audio, video, and PDFs, with tool calling and a 1M-token context window."
+release_date = "2024-05-15"
+last_updated = "2026-09"
+attachment = true
+reasoning = true
+temperature = true
+tool_call = true
+structured_output = true
+open_weights = false
+
+[limit]
+context = 1_000_000
+output = 65_536
+
+[modalities]
+input = ["text", "image", "audio", "video", "pdf"]
+output = ["text"]
diff --git a/providers/vispark/logo.svg b/providers/vispark/logo.svg
new file mode 100644
index 00000000000..2348c5a2f7f
--- /dev/null
+++ b/providers/vispark/logo.svg
@@ -0,0 +1,3 @@
+
diff --git a/providers/vispark/models/vispark/vision-large.toml b/providers/vispark/models/vispark/vision-large.toml
new file mode 100644
index 00000000000..9238a65cb89
--- /dev/null
+++ b/providers/vispark/models/vispark/vision-large.toml
@@ -0,0 +1,36 @@
+# Vispark: Vision Large — first-party host (provider IS the lab, full inline allowed).
+# API model ID: vispark/vision-large — GET https://api.lab.vispark.in/v1/models (verified live 2026-09-13).
+# Cost source, USD/MTok, used verbatim: the provider's own models endpoint publishes
+# pricing.prompt = "0.00000737" and pricing.completion = "0.00002211" USD per token
+# (per-token USD strings) = input 7.37, output 22.11 per MTok.
+# Reasoning: always-on, no caller control — accepted params are only
+# temperature/max_tokens/top_p/top_k/stop/seed/frequency_penalty/presence_penalty/tools/
+# tool_choice/response_format — no reasoning_effort/thinking/enable_thinking/budget field;
+# Capabilities: temperature, top_p/top_k/stop/seed, tools, response_format json_object/json_schema,
+# multimodal input text+image+audio+video+pdf (base64/URL), text output, streaming + usage.
+# Limits: context 1_000_000 (context_length), output 65_536 (max_output_length) — same endpoint.
+# Release 2024-05-15: live endpoint returns created = 1715731200 (= 2024-05-15) per model,
+# Last updated 2026-09: current lineup as verified live 2026-09-13 (month precision).
+name = "Vision Large"
+description = "Most capable Vision model for complex reasoning, detailed media analysis, and structured output over a 1M-token context window."
+release_date = "2024-05-15"
+last_updated = "2026-09"
+attachment = true
+reasoning = true
+temperature = true
+tool_call = true
+structured_output = true
+open_weights = false
+reasoning_options = []
+
+[cost]
+input = 7.37
+output = 22.11
+
+[limit]
+context = 1_000_000
+output = 65_536
+
+[modalities]
+input = ["text", "image", "audio", "video", "pdf"]
+output = ["text"]
diff --git a/providers/vispark/models/vispark/vision-medium.toml b/providers/vispark/models/vispark/vision-medium.toml
new file mode 100644
index 00000000000..08a3a70579d
--- /dev/null
+++ b/providers/vispark/models/vispark/vision-medium.toml
@@ -0,0 +1,36 @@
+# Vispark: Vision Medium — first-party host (provider IS the lab, full inline allowed).
+# API model ID: vispark/vision-medium (default model) — GET https://api.lab.vispark.in/v1/models (verified live 2026-09-13).
+# Cost source, USD/MTok, used verbatim: the provider's own models endpoint publishes
+# pricing.prompt = "0.00000421" and pricing.completion = "0.00001263" USD per token
+# (per-token USD strings) = input 4.21, output 12.63 per MTok.
+# Reasoning: always-on, no caller control — accepted params are only
+# temperature/max_tokens/top_p/top_k/stop/seed/frequency_penalty/presence_penalty/tools/
+# tool_choice/response_format — no reasoning_effort/thinking/enable_thinking/budget field;
+# Capabilities: temperature, top_p/top_k/stop/seed, tools, response_format json_object/json_schema,
+# multimodal input text+image+audio+video+pdf (base64/URL), text output, streaming + usage.
+# Limits: context 1_000_000 (context_length), output 65_536 (max_output_length) — same endpoint.
+# Release 2024-05-15: live endpoint returns created = 1715731200 (= 2024-05-15) per model,
+# Last updated 2026-09: current lineup as verified live 2026-09-13 (month precision).
+name = "Vision Medium"
+description = "Balanced multimodal model pairing a 1M-token context window with deeper reasoning for analysis, content creation, and tool use across text, image, audio, video, and PDF inputs."
+release_date = "2024-05-15"
+last_updated = "2026-09"
+attachment = true
+reasoning = true
+temperature = true
+tool_call = true
+structured_output = true
+open_weights = false
+reasoning_options = []
+
+[cost]
+input = 4.21
+output = 12.63
+
+[limit]
+context = 1_000_000
+output = 65_536
+
+[modalities]
+input = ["text", "image", "audio", "video", "pdf"]
+output = ["text"]
diff --git a/providers/vispark/models/vispark/vision-small.toml b/providers/vispark/models/vispark/vision-small.toml
new file mode 100644
index 00000000000..c93c050eb49
--- /dev/null
+++ b/providers/vispark/models/vispark/vision-small.toml
@@ -0,0 +1,36 @@
+# Vispark: Vision Small — first-party host (provider IS the lab, full inline allowed).
+# API model ID: vispark/vision-small — GET https://api.lab.vispark.in/v1/models (verified live 2026-09-13).
+# Cost source, USD/MTok, used verbatim: the provider's own models endpoint publishes
+# pricing.prompt = "0.00000105" and pricing.completion = "0.00000316" USD per token
+# (per-token USD strings) = input 1.05, output 3.16 per MTok.
+# Reasoning: always-on, no caller control — accepted params are only
+# temperature/max_tokens/top_p/top_k/stop/seed/frequency_penalty/presence_penalty/tools/
+# tool_choice/response_format — no reasoning_effort/thinking/enable_thinking/budget field;
+# Capabilities: temperature, top_p/top_k/stop/seed, tools, response_format json_object/json_schema,
+# multimodal input text+image+audio+video+pdf (base64/URL), text output, streaming + usage.
+# Limits: context 1_000_000 (context_length), output 65_536 (max_output_length) — same endpoint.
+# Release 2024-05-15: live endpoint returns created = 1715731200 (= 2024-05-15) per model,
+# Last updated 2026-09: current lineup as verified live 2026-09-13 (month precision).
+name = "Vision Small"
+description = "Fast, low-cost multimodal model for understanding text, images, audio, video, and PDFs, with tool calling and a 1M-token context window."
+release_date = "2024-05-15"
+last_updated = "2026-09"
+attachment = true
+reasoning = true
+temperature = true
+tool_call = true
+structured_output = true
+open_weights = false
+reasoning_options = []
+
+[cost]
+input = 1.05
+output = 3.16
+
+[limit]
+context = 1_000_000
+output = 65_536
+
+[modalities]
+input = ["text", "image", "audio", "video", "pdf"]
+output = ["text"]
diff --git a/providers/vispark/provider.toml b/providers/vispark/provider.toml
new file mode 100644
index 00000000000..ac7e1634846
--- /dev/null
+++ b/providers/vispark/provider.toml
@@ -0,0 +1,11 @@
+# Vispark Lab — first-party host for Vispark Vision models.
+# API: https://api.lab.vispark.in/v1
+# Endpoints: GET /v1/models, POST /v1/chat/completions, POST /v1/completions
+# Auth: X-API-Key header or Authorization: Bearer (keys like vl_...)
+# Platform: https://lab.vispark.in/ — get API key: https://lab.vispark.in/profile#api
+# Vision docs: https://lab.vispark.in/#vision — company: https://vispark.in
+name = "Vispark"
+npm = "@ai-sdk/openai-compatible"
+env = ["VISPARK_LAB_API_KEY"]
+api = "https://api.lab.vispark.in/v1"
+doc = "https://lab.vispark.in/#vision"