Our most intelligent model yet, with a 1M-token context window, up to 131,072 output tokens, and instant, low, medium, and high reasoning effort. Temperature is adjustable from 0.5 to 1.0.Mercury 3 is 50% off at launch: $0.10 per million input tokens and $0.35 per million output tokens (regularly $0.20 and $0.70).Export your API key as an environment variable in your terminal.
from inceptionai import Inceptionclient = Inception() # reads INCEPTION_API_KEY from the environmentcompletion = client.chat.completions.create( model="mercury-3", messages=[{"role": "user", "content": "What is a diffusion model?"}], reasoning_effort="medium", max_completion_tokens=8192,)print(completion.choices[0].message.content)
import Inception from 'inceptionai';const client = new Inception(); // reads INCEPTION_API_KEY from the environmentconst completion = await client.chat.completions.create({ model: 'mercury-3', messages: [{ role: 'user', content: 'What is a diffusion model?' }], reasoning_effort: 'medium', max_completion_tokens: 8192,});console.log(completion.choices[0]?.message.content);
A diffusion LLM tuned for voice agents. It reasons, calls tools, returns structured outputs, and follows long system prompts while keeping latency low enough for natural conversation.Mercury Voice is available to enterprise customers through the OpenAI-compatible Inception API, and works with LiveKit, Pipecat, Vapi, Retell, or your own voice stack. It supports low, medium, and high reasoning effort. Temperature is adjustable from 0.5 to 1.0.Mercury 3 is 50% off at launch: $0.10 per million input tokens and $0.35 per million output tokens (regularly $0.20 and $0.70).
Get access to Mercury Voice
Contact [email protected] to enable Mercury Voice for your organization.
Evaluate named questions against shared context with mercury-decide at v1/decisions. Get binary probabilities, categorical choices, or ordinal scores with typed answers, or extract exact spans of the input text.Only input tokens are billed, at $0.02 per million tokens (50% off the regular $0.04 price). Output tokens are reported but not charged. This endpoint does not support chat completions, streaming, or tool calling.
Start using Mercury Decide
Request examples, question types, response fields, and limits.
Our previous-generation reasoning model for fast chat, agents, and structured workflows.Export your API key as an environment variable in your terminal.
from inceptionai import Inceptionclient = Inception() # reads INCEPTION_API_KEY from the environmentcompletion = client.chat.completions.create( model="mercury-2.5", messages=[{"role": "user", "content": "What is a diffusion model?"}], reasoning_effort="medium", max_completion_tokens=8192,)print(completion.choices[0].message.content)
import Inception from 'inceptionai';const client = new Inception(); // reads INCEPTION_API_KEY from the environmentconst completion = await client.chat.completions.create({ model: 'mercury-2.5', messages: [{ role: 'user', content: 'What is a diffusion model?' }], reasoning_effort: 'medium', max_completion_tokens: 8192,});console.log(completion.choices[0]?.message.content);
An earlier-generation reasoning model for chat completions.Export your API key as an environment variable in your terminal.
from inceptionai import Inceptionclient = Inception() # reads INCEPTION_API_KEY from the environmentcompletion = client.chat.completions.create( model="mercury-2", messages=[{"role": "user", "content": "What is a diffusion model?"}], max_completion_tokens=8192,)print(completion.choices[0].message.content)
import Inception from 'inceptionai';const client = new Inception(); // reads INCEPTION_API_KEY from the environmentconst completion = await client.chat.completions.create({ model: 'mercury-2', messages: [{ role: 'user', content: 'What is a diffusion model?' }], max_completion_tokens: 8192,});console.log(completion.choices[0]?.message.content);
A code editing LLM for autocomplete (FIM) and next edit suggestions.Export your API key as an environment variable in your terminal.
from inceptionai import Inceptionclient = Inception() # reads INCEPTION_API_KEY from the environmentcompletion = client.fim.completions.create( model="mercury-edit-2", prompt="def factorial(n):\n if n <= 1:\n return 1\n return n * ", suffix="\n\nprint(factorial(5))", max_tokens=1000,)print(completion.choices[0].text)
import Inception from 'inceptionai';const client = new Inception(); // reads INCEPTION_API_KEY from the environmentconst completion = await client.fim.completions.create({ model: 'mercury-edit-2', prompt: 'def factorial(n):\n if n <= 1:\n return 1\n return n * ', suffix: '\n\nprint(factorial(5))', max_tokens: 1000,});console.log(completion.choices[0]?.text);
curl https://api.inceptionlabs.ai/v1/edit/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $INCEPTION_API_KEY" \ --data-binary @- <<'JSON'{ "model": "mercury-edit-2", "messages": [ {"role": "user", "content": "<|recently_viewed_code_snippets|>\n\n<|/recently_viewed_code_snippets|>\n\n<|current_file_content|>\ncurrent_file_path: solver.py\n'''\nfunction: flagAllNeighbors\n----------\nThis function marks each of the covered neighbors of the cell at the given row\n<|code_to_edit|>\nand col as flagged.\n'''\ndef flagAllNeighbors(board<|cursor|>, row, col): \n for r, c in b.getNeighbors(row, col):\n if b.isValid(r, c):\n b.flag(r, c)\n\n<|/code_to_edit|>\n<|/current_file_content|>\n\n<|edit_diff_history|>\n--- /c:/Users/test/testing/solver.py\n+++ /c:/Users/test/testing/solver.py\n@@ -6,1 +6,1 @@\n-def flagAllNeighbors(b, row, col): \n+def flagAllNeighbors(board, row, col): \n\n<|/edit_diff_history|>"} ], "max_tokens": 1000}JSON
from inceptionai import Inceptionclient = Inception() # reads INCEPTION_API_KEY from the environmentcompletion = client.edit.completions.create( model="mercury-edit-2", messages=[ {"role": "user", "content": "<|recently_viewed_code_snippets|>\n\n<|/recently_viewed_code_snippets|>\n\n<|current_file_content|>\ncurrent_file_path: solver.py\n'''\nfunction: flagAllNeighbors\n----------\nThis function marks each of the covered neighbors of the cell at the given row\n<|code_to_edit|>\nand col as flagged.\n'''\ndef flagAllNeighbors(board<|cursor|>, row, col): \n for r, c in b.getNeighbors(row, col):\n if b.isValid(r, c):\n b.flag(r, c)\n\n<|/code_to_edit|>\n<|/current_file_content|>\n\n<|edit_diff_history|>\n--- /c:/Users/test/testing/solver.py\n+++ /c:/Users/test/testing/solver.py\n@@ -6,1 +6,1 @@\n-def flagAllNeighbors(b, row, col): \n+def flagAllNeighbors(board, row, col): \n\n<|/edit_diff_history|>"} ], max_tokens=1000,)print(completion.choices[0].message.content)
import Inception from 'inceptionai';const client = new Inception(); // reads INCEPTION_API_KEY from the environmentconst completion = await client.edit.completions.create({ model: 'mercury-edit-2', messages: [ { role: 'user', content: '<|recently_viewed_code_snippets|>\n\n<|/recently_viewed_code_snippets|>\n\n<|current_file_content|>\ncurrent_file_path: solver.py\n\'\'\'\nfunction: flagAllNeighbors\n----------\nThis function marks each of the covered neighbors of the cell at the given row\n<|code_to_edit|>\nand col as flagged.\n\'\'\'\ndef flagAllNeighbors(board<|cursor|>, row, col): \n for r, c in b.getNeighbors(row, col):\n if b.isValid(r, c):\n b.flag(r, c)\n\n<|/code_to_edit|>\n<|/current_file_content|>\n\n<|edit_diff_history|>\n--- /c:/Users/test/testing/solver.py\n+++ /c:/Users/test/testing/solver.py\n@@ -6,1 +6,1 @@\n-def flagAllNeighbors(b, row, col): \n+def flagAllNeighbors(board, row, col): \n\n<|/edit_diff_history|>' } ], max_tokens: 1000,});console.log(completion.choices[0]?.message.content);