API
esc

Type to search.

Connect an AI agent (MCP)

Use Veeton from Claude, Claude Code or any agent that speaks the Model Context Protocol. The connector is the API with tools an agent can call in plain words.

Veeton has an MCP server, so an AI agent can find your products, look at their images, start photo shoots, packshots and edits, and check the results, from a conversation. It is the same API as the rest of this documentation: same organizations, same prices, same request log.

https://api.veeton.com/v1/mcp

The server speaks MCP over Streamable HTTP and exposes tools only.

Who can use it

The connector is open to the organizations the API is open to: API access turned on by Veeton’s team, and a paid plan. See Authentication.

An organization without access can still connect. Every tool then answers with the reason, in words the agent passes on, and nothing runs.

Connect

There are two ways to authenticate. Pick the one your agent supports.

Sign in (Claude, Claude Code)

The agent opens Veeton’s sign-in page, you choose your organization and allow access. No key to create or store.

Claude (web and desktop): Settings → Connectors → Add custom connector, name it Veeton and paste the URL above. Then connect and sign in.

Claude Code:

Terminal window
claude mcp add --transport http veeton https://api.veeton.com/v1/mcp

Then run /mcp, select veeton and choose Authenticate.

If you belong to several organizations, the consent screen has an organization selector. The connector works for the organization selected there and no other; to change it, disconnect and connect again.

API key (any other agent)

Agents that take a URL and headers can send an ak_ key instead, the same key as for the API:

{
"mcpServers": {
"veeton": {
"url": "https://api.veeton.com/v1/mcp",
"headers": { "Authorization": "Bearer ak_…" }
}
}
}

The exact file and field names depend on the agent; the URL and the header are what matter. Each tool needs the scopes of the API routes it calls, so a key limited to products:read can search products but not start a photo shoot.

Tools

Tool What it does Spends
find_products Searches your products by name or reference
get_product One product: its photos and every result made from it
view_images Shows the agent up to 4 images, so it can look before it describes or edits
list_models The models a photo shoot can use, with filters
list_options Angle shots, backgrounds and packshot styles, with the slugs to pass
get_credits Your balance and the price of each kind of generation
get_results The state of up to 20 tasks, and their output images
read_help Veeton’s help center, for questions about the product, plans and billing
add_product Creates a product from photos on the web (https links)
create_tryon Starts up to 4 photo shoots: a product on a model, in an angle shot, on a background One photo shoot each
create_beautifier Starts one packshot of a product One packshot
create_edit Changes a result from a prompt, as a new image One edit

Generations cost what they cost through the API and the dashboard. A generation takes one to three minutes; the agent starts it, then checks it with get_results.

Spending protection

An agent can run unattended, so the connector adds three guards on top of the API’s own:

  • A daily limit. An organization can start 50 generations per day (UTC) through the connector. Past that, the tools refuse until the next day. The API and the dashboard are not affected.
  • A limit per call. One call starts at most 4 photo shoots.
  • No accidental duplicates. The same request sent again within ten minutes returns the first task instead of creating and charging a second one. The agent passes again: true when you do want another version.

These limits may change. Your credits and your plan apply as everywhere else.

What the connector sees

The connector shows what the API shows. Today that is the products created through the API or an import, and the results made from them. Products created in the dashboard are not listed yet.

Every tool call is recorded in your organization’s API request log, with the API requests it made.

Errors

A tool that cannot do what was asked answers with a sentence, not a code: the API’s own message when the API refused, or the reason your organization cannot use the connector. The agent reads it and tells you.

Situation What the agent is told
The organization has no API access API access is not enabled for this organization
The organization is on a trial, or has no subscription The API is available on paid plans
The daily limit is reached The organization has reached 50 generations today through the connector
Not enough credits The API’s refusal, as for POST /v1/tasks/*

A request sent from a web page (with an Origin header) is refused: the connector is meant for agents, not browsers.