spicyapi-com Embeddings API
The Embeddings API from spicyapi-com — 1 operation(s) for embeddings.
The Embeddings API from spicyapi-com — 1 operation(s) for embeddings.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/spicyapi-com:spicyapi-com-embeddings-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Spicy Embeddings API
version: 1.0.0
description: 'Spicy API (also written SpicyAPI) is one REST API for uncensored image, image-editing, video, video-editing, speech, live voice call, transcription, embedding and chat generation, sold per generation from a prepaid US-dollar balance: no subscription, no GPUs to run. It is OpenAI-compatible (point the OpenAI SDK at https://api.spicyapi.com/v1 with a Spicy API key) and includes ready-made sex actions for video and role-play companion models. It has been at spicyapi.com since June 2025, is operated by Wayfinity Ltd, and is not affiliated with spicyapi.ai, an unrelated model aggregator. Images from $0.06, video from $0.05 per second. OPENAI-COMPATIBLE: point the OpenAI SDK at https://api.spicyapi.com/v1 with a Spicy API key; client.images.generate maps onto POST /v1/images/generations and client.chat.completions.create onto POST /v1/chat/completions (streaming included). client.embeddings.create maps onto POST /v1/embeddings and client.audio.transcriptions.create onto POST /v1/audio/transcriptions. Image edits take JSON with image_url (not the SDK''s multipart upload) and video (generations, edits, motion transfer) is a plain HTTP task you poll. Every response carries cost_usd, the exact amount debited. Prompts are screened before any charge (422, never billed); failed generations are refunded. Sandbox keys (created with sandbox: true) answer every endpoint from fixtures flagged sandbox: true and bill nothing. Machine-readable overview: https://www.spicyapi.com/llms.txt. MCP server for agents: https://www.spicyapi.com/api/mcp.'
contact:
name: Spicy API support
email: contact@spicyapi.com
url: https://www.spicyapi.com/docs
termsOfService: https://www.spicyapi.com/terms-of-service
servers:
- url: https://api.spicyapi.com
description: Public API host (also reachable at https://www.spicyapi.com/api).
tags:
- name: Embeddings
paths:
/v1/embeddings:
post:
operationId: createEmbeddings
summary: Create Embeddings
description: 'Turn text, or images from your own library, into vectors for memory, search, recommendations and near-duplicate detection. OpenAI-compatible. `spicy-embed-1` embeds text ($0.14 per 1M tokens): companion memory, prompt search, recommendations. 1024 dimensions by default, 64 to 2048 with `dimensions`. Works with the OpenAI SDK''s `client.embeddings.create`. `spicy-embed-vision-1` puts images and text in one 768-dimension space (text $0.18, images $0.06 per 1M tokens): "more like this" search over your generations, tagging, dedupe. Every image must be an output of your own account (the same provenance rule as every image input); a text query and an image land in the same space, so you can search images with words. Up to 10 inputs per request, each up to 8,192 tokens. Billed on the tokens used (minimum $0.00001 per request). Nothing is generated, so inputs are not screened. Sandbox keys get deterministic fixture vectors and pay nothing.'
tags:
- Embeddings
security:
- apiKey: []
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: object
properties:
object:
type: string
description: Always `list`.
model:
type: string
description: The model used.
data:
type: array
items:
type: object
properties:
object:
type: string
description: Always `embedding`.
index:
type: integer
description: Position of the input.
embedding:
type: array
items:
type: object
description: 'The vector, or a base64 string with `encoding_format: "base64"`.'
required:
- object
- index
- embedding
description: One vector per input, in order.
usage:
type: object
description: Token counts, as in the OpenAI API.
cost_usd:
type: number
description: What this request cost, in US dollars, already debited from your balance.
required:
- object
- model
- data
- usage
- cost_usd
example:
object: list
model: spicy-embed-1
data:
- object: embedding
index: 0
embedding:
- 0.0213
- -0.0447
- 0.0132
- '...'
- object: embedding
index: 1
embedding:
- -0.0081
- 0.0356
- 0.0274
- '...'
usage:
prompt_tokens: 22
total_tokens: 22
cost_usd: 1.0e-05
'400':
description: 'Invalid parameters. Body: {error: {message, type: ''invalid_request_error''}}.'
'401':
description: Missing or invalid API key.
'402':
description: Insufficient balance. Top up in the dashboard or through the get_topup_link tool; nothing was charged.
'422':
description: Prompt blocked by moderation (acceptable use policy). Never charged.
'429':
description: Rate limited or model at capacity; retry after the Retry-After header.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
model:
type: string
description: '`spicy-embed-1` or `spicy-embed-vision-1`.'
input:
type: string
description: 'A string or an array of up to 10 items. On `spicy-embed-1` every item is a string. On `spicy-embed-vision-1` an item is a string, `{ "text": "..." }` or `{ "image": "https://..." }` where the image is one of your generated images.'
dimensions:
type: integer
description: '`spicy-embed-1` only: `64`, `128`, `256`, `512`, `768`, `1024` (default), `1536` or `2048`. `spicy-embed-vision-1` always returns 768 and rejects it.'
encoding_format:
type: string
description: '`float` (default) or `base64` (little-endian float32).'
required:
- model
- input
components:
securitySchemes:
apiKey:
type: http
scheme: bearer
bearerFormat: sk-spicy-...
description: Per-account API key from https://www.spicyapi.com/dashboard/api-keys (shown once, stored hashed). Sandbox keys bill nothing.
x-openai-compatible:
baseUrl: https://api.spicyapi.com/v1
compatible:
- /v1/chat/completions
- /v1/images/generations
- /v1/models
- /v1/embeddings
- /v1/audio/transcriptions
notes: Image sizes use width*height (1024*1024). Speech returns JSON with a url unless stream is true. Live calls follow the OpenAI Realtime event shape over wss://api.spicyapi.com/v1/realtime after POST /v1/realtime/sessions. Edits and video are Spicy API specific.
x-mcp:
endpoint: https://www.spicyapi.com/api/mcp
transport: streamable-http
auth: 'Authorization: Bearer sk-spicy-...'
docs: https://www.spicyapi.com/docs
llms: https://www.spicyapi.com/llms.txt
skills: https://www.spicyapi.com/skills/index.json