agentsclimarketplace

Apertis api

Skill apertis-ai/apertis-skills/skills/apertis-api

Agent skills for Apertis AI — use 500+ models in Claude Code, Cursor, Copilot, and 45+ AI tools

Install
npx -y skills add apertis-ai/apertis-skills --skill apertis-api

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use Apertis API to access 500+ AI models with OpenAI-compatible SDK. Covers authentication, endpoints, popular model families, web search (:web suffix), the Vercel AI SDK provider, and MCP server setup.

SKILL.md

5.8 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it

Apertis API

Apertis is an OpenAI-compatible API gateway providing access to 500+ AI models from 30+ providers (Anthropic, OpenAI, Google, DeepSeek, Mistral, MiniMax, GLM, and more).

Model IDs change frequently. Always check https://apertis.ai/pricing?utm_source=apertis-skills&utm_medium=skill-doc&utm_campaign=ecosystem for the current model list and pricing.

Quick Start — One Line to Switch

from openai import OpenAI

client = OpenAI(
    base_url="https://api.apertis.ai/v1",
    api_key="YOUR_APERTIS_KEY"
)
import OpenAI from "openai";

const openai = new OpenAI({
  baseURL: "https://api.apertis.ai/v1",
  apiKey: process.env.APERTIS_API_KEY,
});

Authentication

API Endpoints

All OpenAI-compatible endpoints are supported:

EndpointDescription
POST /v1/chat/completionsChat completions (main endpoint)
POST /v1/messagesNative Anthropic Messages API format
POST /v1/embeddingsText embeddings
POST /v1/images/generationsImage generation
POST /v1/audio/speechText-to-speech
POST /v1/audio/transcriptionsSpeech-to-text
GET /v1/modelsList all available models

Model Families

Apertis carries the latest models from every major provider. Use GET /v1/models or visit https://apertis.ai/pricing?utm_source=apertis-skills&utm_medium=skill-doc&utm_campaign=ecosystem for the full current list.

ProviderFamilyNotes
Anthropicclaude-sonnet-4-*, claude-opus-4-*, claude-haiku-4-*Best for coding
OpenAIgpt-5-*, gpt-4o, o4-miniGPT and reasoning series
Googlegemini-3-*, gemini-2.5-*Long context, multimodal
DeepSeekdeepseek-v3, deepseek-r1Cost-efficient, strong reasoning
MiniMaxminimax-m1Long context alternative
GLMglm-4.5-*Multilingual, cost-efficient
Metallama-4-*, llama-3.3-*Open-weight models
Mistralmistral-medium-*, mistral-small-*European, privacy-focused

Web Search — :web Suffix

Add :web to any model ID to enable real-time web search:

response = client.chat.completions.create(
    model="gpt-4o:web",
    messages=[{"role": "user", "content": "What happened in AI news today?"}]
)

# Response includes a top-level web_sources array (on the response, not inside choices[].message)
sources = response.web_sources
# [{"title": "...", "url": "...", "snippet": "..."}]

Note: :free models cannot use :web suffix.

Example: Chat Completion

response = client.chat.completions.create(
    model="claude-sonnet-4-6",   # check apertis.ai/pricing for latest Claude Sonnet ID
    messages=[
        {"role": "system", "content": "You are a helpful coding assistant."},
        {"role": "user", "content": "Write a Python function to reverse a linked list."}
    ]
)
print(response.choices[0].message.content)

Example: Streaming

stream = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Explain async/await in JavaScript"}],
    stream=True
)
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

Example: Embeddings

response = client.embeddings.create(
    model="text-embedding-3-small",
    input="Your text to embed"
)
vector = response.data[0].embedding

Vercel AI SDK — Native Provider

For TypeScript apps and agents built on the Vercel AI SDK (v5+), use the native Apertis provider instead of the raw OpenAI SDK. Works with OpenCode, Kilo Code, Cursor, and any AI-SDK-based tool.

npm install @apertis/ai-sdk-provider ai
import { apertis } from "@apertis/ai-sdk-provider";
import { generateText } from "ai";

const { text } = await generateText({
  model: apertis("claude-sonnet-4-6"),   // any of 500+ models
  prompt: "Explain quantum computing in simple terms.",
});

Streaming, tool calling, and embeddings all work through the standard AI SDK functions (streamText, tool, embed). Set APERTIS_API_KEY in the environment, or pass it explicitly:

import { createApertis } from "@apertis/ai-sdk-provider";

const apertis = createApertis({ apiKey: process.env.APERTIS_API_KEY });

MCP Server Setup

Use Apertis directly from Claude Code, Cursor, or any MCP-compatible client:

{
  "mcpServers": {
    "apertis": {
      "command": "npx",
      "args": ["-y", "@apertis/mcp-server"],
      "env": {
        "APERTIS_API_KEY": "YOUR_APERTIS_KEY"
      }
    }
  }
}

Place in Claude Code (~/.claude.json), Cursor (.cursor/mcp.json), or Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json).

Subscription Plans

PlanPriceBest For
Lite$12/moBasic coding, hobby projects
Pro$25/moDaily development
Plus$60/moHeavy usage
Max$200/moUnlimited / teams

PAYG (pay-as-you-go) is also available with no monthly commitment.

Resources

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Gives 0 of the 12 instructions most mcp tooling skills give in ~1.6k tokens

Counted across 638 of the 750 authors here whose files we hold, read 2026-08-07

  • Create ten complex or independent read-only evaluation questionsin 69 of 638, across 15 files
  • Test servers using MCP Inspectorin 61 of 638, across 19 files
  • Provide actionable error messages with specific next stepsin 54 of 638, across 12 files
  • Prioritize comprehensive API coverage over specific workflows or workflow toolsin 54 of 638, across 12 files
  • Use TypeScript and Streamable HTTP for remote servers or clientsin 54 of 638, across 8 files
  • Define structured output schemas where possiblein 50 of 638, across 8 files
  • Use Zod or Pydantic for input schemasin 47 of 638, across 5 files
  • Fetch MCP specification pages with markdown suffixin 46 of 638, across 4 files
  • Load framework documentation using WebFetchin 45 of 638, across 3 files
  • Verify each evaluation answer independentlyin 45 of 638, across 3 files
  • Implement API client with authentication and paginationin 45 of 638, across 3 files
  • Define input schemas with validationin 27 of 638, across 9 files

Said here and by no other author read

  • check the website for current model ids
  • use openai-compatible base url
  • add the :web suffix for web search
  • install the native sdk provider for vercel

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.