openapi: 3.2.0 info: title: WanAPIs Unified AI Embeddings API version: '2026-05-27' summary: OpenAI-compatible AI gateway aggregating GPT, Claude, Gemini, DeepSeek and other LLM, image, video, and audio model providers behind a single key. description: 'WanAPIs (https://wanapis.com) is a developer-focused AI API gateway. Clients issue OpenAI-style requests against `https://api.wanapis.com/v1`; the platform routes them to the appropriate upstream model provider (OpenAI, Anthropic, Google, DeepSeek, Moonshot, Alibaba, xAI, Mistral, Stability, Midjourney, etc.) and applies per-project quota, metering, channel routing, and failover. This OpenAPI is **hand-authored** by API Evangelist. WanAPIs publishes no machine-readable spec — `https://api.wanapis.com/openapi.json` returns the admin dashboard. Operations included here are taken from https://wanapis.com/docs and https://wanapis.com/pricing and reflect the OpenAI-compatible surface plus the documented WanAPIs `/responses` and async task patterns. Request and response schemas mirror the OpenAI HTTP API by convention; consult the upstream OpenAI reference for full field semantics. ' termsOfService: https://wanapis.com/ contact: name: WanAPIs Support email: support@wanapis.com url: https://wanapis.com/ license: name: Proprietary url: https://wanapis.com/ servers: - url: https://api.wanapis.com/v1 description: WanAPIs production OpenAI-compatible base URL. security: - bearerAuth: [] tags: - name: Embeddings description: Vector embeddings (OpenAI compatible). paths: /embeddings: post: tags: - Embeddings operationId: createEmbedding summary: Create embeddings description: OpenAI-compatible embeddings endpoint. Supports OpenAI, Voyage, BGE, and other embedding models available in the marketplace. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EmbeddingRequest' responses: '200': description: Embedding vectors. content: application/json: schema: $ref: '#/components/schemas/EmbeddingResponse' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/RateLimited' '500': $ref: '#/components/responses/UpstreamFailure' components: responses: Unauthorized: description: Missing or invalid API key. content: application/json: schema: $ref: '#/components/schemas/Error' RateLimited: description: Rate limit or quota exceeded. content: application/json: schema: $ref: '#/components/schemas/Error' UpstreamFailure: description: Upstream provider failure (500–504). Retry with exponential backoff; WanAPIs may auto-failover to a configured channel. content: application/json: schema: $ref: '#/components/schemas/Error' schemas: Error: type: object properties: error: type: object properties: message: type: string type: type: string code: type: string param: type: string nullable: true EmbeddingResponse: type: object properties: object: type: string const: list model: type: string data: type: array items: type: object properties: object: type: string const: embedding index: type: integer embedding: type: array items: type: number usage: $ref: '#/components/schemas/Usage' EmbeddingRequest: type: object required: - model - input properties: model: type: string input: oneOf: - type: string - type: array items: type: string - type: array items: type: array items: type: integer encoding_format: type: string enum: - float - base64 default: float dimensions: type: integer user: type: string Usage: type: object properties: prompt_tokens: type: integer completion_tokens: type: integer total_tokens: type: integer securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: API Key description: 'Authenticate every request with `Authorization: Bearer `. Keys are issued per project in the WanAPIs dashboard and may be scoped with quota and model availability. '