API reference
Older APIs & compatibility
#OpenAI compatibility
Every path accepts the OpenAI request body — vendor-specific parameters (anthropic tool_use, gemini thinking_config) pass through unchanged.
Same response envelope as OpenAI
The endpoints on this page are live and billed like any other, but they are not the recommended way to integrate. Reach for them when an existing vendor SDK has to keep working unchanged, or when you inherited a call you are not ready to migrate.
#Which surface should you use?
New integration
Use the OpenAI-shaped /v1 endpoints in the API reference. One vocabulary across every capability, and the only surface that gets new parameters.
Existing vendor SDK
Use the matching passthrough below. You change the base URL and the key, and keep the vendor’s own request body.
Inherited legacy call
It keeps working. Migrate the next time you touch that code path — these routes are frozen, not maintained.
#Vendor-native passthrough
These accept the vendor’s own request body and return the vendor’s own response shape. Authentication is still one Authorization: Bearer header with a key from this platform — the vendor’s auth scheme is not used.
Gemini native
passthroughPoint the Google GenAI SDK at this gateway without a code change. The generateContent path shape and request body are Gemini’s own.
| GET | /v1beta/models | List models in the Gemini catalogue shape. |
| POST | /v1beta/models/* | Gemini path form: /v1beta/models/{model}:{action}, e.g. :generateContent or :streamGenerateContent. |
| POST | /v1/models/* | Same Gemini request shape under /v1, for clients that cannot change the API version prefix. |
| POST | /v1/engines/:model/embeddings | Gemini embeddings through the legacy engines path. |
Kling native
passthroughAccepts Kling’s official request body (model_name + prompt and the vendor’s own fields) and returns its task shape.
| POST | /kling/v1/videos/text2video | Submit a Kling text-to-video task in the vendor’s own body shape. |
| POST | /kling/v1/videos/image2video | Submit a Kling image-to-video task. |
| GET | /kling/v1/videos/text2video/:task_id | Poll a Kling text-to-video task. |
| GET | /kling/v1/videos/image2video/:task_id | Poll a Kling image-to-video task. |
Jimeng native
passthroughJimeng’s official Action-query API. Submit and result share one path and are selected by the Action parameter.
| POST | /jimeng/?Action=CVSync2AsyncSubmitTask&Version=2022-08-31 | Submit a task with req_key and prompt in the vendor body. The trailing slash is required — /jimeng redirects, and a 301 drops the body in most HTTP clients. |
| POST | /jimeng/?Action=CVSync2AsyncGetResult&Version=2022-08-31 | Fetch the result of a submitted task. |
Suno native
passthroughSuno-shaped music submission and fetch. Prefer /v1/music/generations for new work — it returns the platform task shape used everywhere else.
| POST | /suno/submit/:action | action is music or lyrics. |
| POST | /suno/fetch | Batch fetch by id list. |
| GET | /suno/fetch/:id | Fetch one task. |
# Google GenAI SDK: set the API endpoint, keep everything else.
curl "https://www.aisplice.store/v1beta/models/gemini-3.5-flash:generateContent" \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"parts": [{"text": "Say hello."}]}]
}'Passthrough responses are the vendor’s, not ours
#Frozen legacy routes
Routed and billed, but closed to change: no new parameters, no new models guaranteed, and no compatibility promise beyond what works today.
Legacy aliases
frozenStill routed, still billed, but frozen: no new parameters and no compatibility promises. Migrate when you touch the calling code.
| POST | /v1/completions | OpenAI legacy prompt completion. Use /v1/chat/completions. |
| POST | /v1/edits | Routes to the image edit format despite the name. Use /v1/images/edits. |
| POST | /v1/video/generations | Pre-OpenAI-shape video submission. Use POST /v1/videos. |
| GET | /v1/video/generations/:task_id | Pre-OpenAI-shape video poll. Use GET /v1/videos/{task_id}. |
Midjourney archive
frozenRead-only. Paid Midjourney submission is retired; only inspection of historical tasks and their archived images remains.
| GET | /mj/task/:id/fetch | Inspect an archived task. |
| GET | /mj/task/:id/image-seed | Read the seed of an archived image. |
| GET | /mj/image/:id | Serve an archived image. |
#What returns 404
Unsupported OpenAI surfaces are not registered at all. A 404 on an OpenAI path means the capability genuinely is not served here — it is not a temporary gap, and there is no route that answers 501 to pretend otherwise.
Discovering what a key can actually reach
Still stuck?
Send us the request ID or the error message and we will look into it.