canonical: https://jentic.com/apis/370.ai/370

# 370.AI API

The 370.AI API is an OpenAI-compatible gateway that routes chat, image, video, embedding, and speech requests to upstream providers such as OpenAI, Anthropic Claude, Google Gemini, Alibaba Qwen, and ByteDance Doubao through one key and one base URL. Chat completions and a Claude-style messages endpoint accept the same request shape an OpenAI SDK already sends, so existing clients repoint without other changes. Image generation and editing, text-to-speech, and text embeddings are each a single call, and video generation runs as a job polled by id.

## For AI agents

Route chat, image, video, embedding, and speech requests to OpenAI, Anthropic Claude, Google Gemini, Qwen, and Doubao through one OpenAI-compatible gateway for AI agents.

## Scope

Does not host or fine-tune models, manage billing, or store conversation history. Use for routing inference requests to upstream model providers only.

## Capabilities

- Send chat completion requests to OpenAI, Anthropic Claude, Google Gemini, Qwen, and Doubao through one key
- Call a Claude-style messages endpoint with the same gateway credential
- Generate images from a prompt and edit an existing image
- Generate a video and poll the video job by its id
- Create text embeddings and convert text to speech
- List the models available through the gateway

## Use cases

### AI agent with one model credential

An AI agent that needs several model providers would otherwise hold a separate key and client for each. Through Jentic the agent searches for 'send a chat completion', loads the 370.AI chat operation with its input schema, and sends an OpenAI-shaped request with the gateway key injected at call time. Switching the target model is a field in the body, not a new integration.

Example prompt: Call POST `/v1/chat/completions` with a chosen model and a prompt, then return the assistant message

### Image and video generation

A content pipeline generates images from prompts and produces short videos. 370.AI exposes image generation and image editing as single calls, and video generation as a job that returns an id to poll. An agent can request a video, store the id, and check back until the render is ready.

Example prompt: Submit POST `/v1/videos/generations`, then poll GET `/v1/videos/generations/{id}` until the video job completes

### Embeddings and speech for retrieval and voice

A retrieval system embeds documents and a voice feature reads answers aloud. 370.AI provides a text embeddings endpoint for semantic search and a text-to-speech endpoint, both behind the same gateway key. An agent can embed a corpus, then synthesise speech for a generated answer in the same session.

Example prompt: Create embeddings with POST `/v1/embeddings` for a document set, then synthesise an answer with POST `/v1/audio/speech`

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v1/chat/completions` | OpenAI-compatible chat completion |
| POST | `/v1/messages` | Claude-style messages request |
| POST | `/v1/images/generations` | Generate an image from a prompt |
| POST | `/v1/videos/generations` | Generate a video as a job |
| GET | `/v1/videos/generations/{id}` | Check a video job by id |
| GET | `/v1/models` | List available models |
| POST | `/v1/embeddings` | Create text embeddings |
| POST | `/v1/audio/speech` | Convert text to speech |

## Key resources

- **Text generation** — Chat completions and a Claude-style messages endpoint, plus model listing
- **Media generation** — Image generation and editing, and video generation polled by job id
- **Embeddings and speech** — Text embeddings for retrieval and text-to-speech synthesis

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 67 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 75 / 100
  - Developer Experience & Jentic Compatibility: 70 / 100
  - AI-Readiness & Agent Experience: 58 / 100
  - Agent Usability: 94 / 100
  - Security: 60 / 100
  - AI Discoverability: 56 / 100
- **View full report:** https://jentic.com/apis/370.ai/370/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring 370.AI by hand means issuing a gateway key, sending it as a bearer token, and choosing which provider model each request targets in the body. Through Jentic you install once, import 370.AI from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** 370.AI exposes a small set of operations under /v1 paths such as chat completions, image generation, and speech, so a rule can pin your agent to the operations it needs. You choose which it may call, so image, video, or speech generation is not included unless you add it.
- **Credential handling:** Your 370.AI gateway key is stored once, encrypted, by your own Jentic One instance and attached at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'send a chat completion' or 'generate an image', and Jentic returns the matching 370.AI operation with its input schema so the agent calls the right endpoint and sets the model it wants.

## Related APIs

- **OpenRouter** — Another unified gateway that routes a single API to many model providers
- **OpenAI API** — One of the upstream providers a 370.AI request can be routed to
- **Mistral AI API** — A direct model provider with its own chat, embedding, and vision endpoints

## FAQ

### What authentication does the 370.AI API use?

370.AI authenticates with a bearer token per its OpenAPI spec: the gateway key is sent as an Authorization bearer header on each request, and keys are formatted as Bearer sk-... Through Jentic the key is held by your own instance and attached per call, so an agent routing requests never sees it.

### Can I use my existing OpenAI client with the 370.AI API?

Yes. POST `/v1/chat/completions` accepts the same request shape an OpenAI SDK sends, so pointing the client at the gateway base URL is usually the only change. A Claude-style POST `/v1/messages` endpoint and GET `/v1/models` are also available for clients that prefer those shapes.

### What are the rate limits for the 370.AI API?

The OpenAPI spec does not declare numeric rate limits, and effective limits depend on the upstream provider a request is routed to and your plan. Check the 370.AI documentation for current limits before running high-volume batch inference.

### Is there a 370.AI MCP server?

You do not need a separate MCP server to use 370.AI with your agent. Jentic connects the gateway directly from the API Directory: import it, store your bearer key once, and your agent calls the chat, image, and speech operations on demand without loading another server's tool definitions into its context.

### How do I generate a video through Jentic?

Search Jentic for 'generate a video', load the POST `/v1/videos/generations` operation to start the job, then poll GET `/v1/videos/generations/{id}` with the returned id until the render finishes. The key is attached by your instance. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Can I limit which 370.AI operations my agent may call?

Yes. Write a rule that allows only the operations a task needs, such as chat completions and embeddings, so image, video, and speech generation stay out of reach unless you add them. The agent is bound to the operations you grant, and every call it makes through your instance is logged.
