API & MCP documentation
OBJEKT for developers.
Connect your application or AI client to OBJEKT through Model Context Protocol (MCP).
Updated 15 October 2026
Connect to the existing service.
The developer interface documented here is the OBJEKT MCP server. It uses Streamable HTTP at https://www.objekt-ai.com/api/mcp/mcp. Use an MCP client for initialization, tool discovery, and tool calls. A conventional public REST generation API, customer webhooks, and an OBJEKT-specific SDK are not documented capabilities of this interface.
Create and protect your key.
Create a key from the connection controls in Settings. Keys begin with objk_, are shown once, and can be revoked from Settings. Up to five keys may be active on an account. Keep keys on your server and out of browser code, source control, logs, and shared screenshots.
Send Authorization: Bearer <key>. The server also accepts x-api-key. Some clients use a private connection URL containing a key; treat that entire URL as a secret. Header authentication is preferred when supported.
First request: discover and check.
// Server-side Node.js example. Install @modelcontextprotocol/sdk first.
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from
"@modelcontextprotocol/sdk/client/streamableHttp.js";
const key = process.env.OBJEKT_API_KEY;
if (!key) throw new Error("Set OBJEKT_API_KEY in your server environment.");
const client = new Client({ name: "my-objekt-client", version: "1.0.0" });
const transport = new StreamableHTTPClientTransport(
new URL("https://www.objekt-ai.com/api/mcp/mcp"),
{ requestInit: { headers: { Authorization: `Bearer ${key}` } } }
);
try {
await client.connect(transport);
const { tools } = await client.listTools();
console.log(tools.map(tool => tool.name));
const balance = await client.callTool({
name: "get_credits", arguments: {}
});
console.log(balance);
} finally {
await client.close();
}
// Discovery and balance checks do not start a paid generation.Tool reference.
Call tools/list for the current argument schemas. The connector exposes the following tools. Model availability and requirements can change; read discovery results before constructing a generation.
| Tool | Purpose | Generation credits |
|---|---|---|
get_credits | Read the connected balance, plan, and cost guidance. | No |
list_models | Discover the models exposed by this tool and their creation routes. | No |
list_looks | Browse looks; optionally filter by vertical. | No |
list_references | Find saved product references, clips, and completed work. | No |
import_reference | Import an image or video attachment or supported URL. Writes to storage. | No |
create_photo | Create or edit an image using the supplied brief and references. | Yes |
get_photo | Read image status and the completed result by generation_id. | No |
create_video | Quote a supported film, then submit with approval. | On confirmation |
create_ugc | Prepare and submit a creator video using its tool schema. | On confirmation |
get_video | Read video status and the completed result by generation_id. | No |
create_sound | Create supported audio from the tool arguments. | Yes |
get_sound | Read audio status and the completed result. | No |
quote_creation | Prepare a model-specific order and exact price without rendering. | No |
create_creation | Submit the approved quote_token with confirm: true. | Yes |
References and model coverage.
Use saved references or import supported attachments before rendering. Local file paths are not remote media URLs. For detailed input names, formats, durations, and model-specific limits, use the returned tool schema. list_models covers its creation catalog; also inspect the model fields on create_photo, create_video, and create_ugc.
Credits and approval.
The connector uses OBJEKT billing. Check the balance with get_credits. create_photo and create_sound can spend credits immediately. Obtain approval before calling them. For create_video, first request a quote without confirmation, then confirm the approved order. For the model-specific creation flow, call quote_creation, show the quote, and pass the unchanged token to create_creation.
Results, limits, and retries.
- Keep the returned generation identifier. If the response says the job is still running, poll the matching result tool. An accepted call is not proof the output is complete.
- Handle MCP protocol errors, isError responses, and human-readable failure text. An HTTP 200 response alone does not prove success.
- An invalid or revoked key is rejected. Reconnect after replacing it. If rate limited, respect the returned wait time. Some limits are returned in tool text rather than HTTP headers.
- Do not automatically repeat a paid call after a timeout. Check the existing job first. Reusing the same create_creation quote token is designed to avoid duplicate charging; that guarantee does not extend to every generation tool.
- Do not bypass safety refusals. Correct an input error before retrying. A failed job and a completed result you dislike are different billing cases.
Developer terms.
The Terms of Service, Acceptable Use Policy, and Privacy Policy apply to connected use. You are responsible for protecting keys, obtaining permission for submitted material, and making credit-spending actions clear to your users. Contact support before offering OBJEKT generation capacity for resale or promising availability to your own customers.

