API Docs
AI·GStore offers a RESTful API fully compatible with OpenAI. If you have used the OpenAI SDK, you already know how to use us — just swap the Base URL.
Quickstart
From zero to your first successful call in just 5 minutes:
- 01 Sign up — open console.giikin.ai; email sign-up comes with trial credit.
-
02
Create an API Key — after logging in, go to Tokens, click Add new token, pick model scope and quota, then copy the key starting with
sk-(shown once — save it immediately). - 03 Top up (optional) — the Wallet page supports credit card, corporate bank transfer and more. New accounts include trial credit, so test first.
-
04
Swap the Base URL — point your SDK
base_urltohttps://api.giikin.ai/v1and use your key asapi_key. No other code changes.
Core idea: we are 100% compatible with the OpenAI API protocol. Any OpenAI-supporting library or framework (LangChain, LlamaIndex, Vercel AI SDK, etc.) works directly — just change base_url and api_key.
Your first request:
curl https://api.giikin.ai/v1/chat/completions \
-H "Authorization: Bearer $GIITOKEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.5-397b",
"messages": [
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": "Introduce AI·GStore in one sentence"}
]
}'
from openai import OpenAI
client = OpenAI(
api_key="sk-XXXXXXXXXXXXXXXX",
base_url="https://api.giikin.ai/v1",
)
resp = client.chat.completions.create(
model="qwen3.5-397b",
messages=[
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": "Introduce AI·GStore in one sentence"},
],
)
print(resp.choices[0].message.content)
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.GIITOKEN_API_KEY,
baseURL: "https://api.giikin.ai/v1",
});
const resp = await client.chat.completions.create({
model: "kimi-k2.6",
messages: [{ role: "user", content: "Introduce AI·GStore in one sentence" }],
});
console.log(resp.choices[0].message.content);
package main
import (
"context"
"fmt"
openai "github.com/sashabaranov/go-openai"
)
func main() {
cfg := openai.DefaultConfig("sk-XXXXXXXXXXXXXXXX")
cfg.BaseURL = "https://api.giikin.ai/v1"
client := openai.NewClientWithConfig(cfg)
resp, _ := client.CreateChatCompletion(context.Background(),
openai.ChatCompletionRequest{
Model: "qwen3.5-397b",
Messages: []openai.ChatCompletionMessage{
{Role: "user", Content: "Introduce AI·GStore in one sentence"},
},
})
fmt.Println(resp.Choices[0].Message.Content)
}
Auth & token management
Every request authenticates with a Bearer token in the HTTP Authorization header. Keys are created and managed on the developer console under Tokens.
Authorization: Bearer sk-XXXXXXXXXXXXXXXXxxxxxxxxxxxx
Content-Type: application/json
Each token is configurable
- Spend cap: max amount one token can consume; auto-expires when reached, without affecting your main balance.
- Expiry: never expires, or a fixed expiry date.
- Model scope: restrict which models the token can call (e.g. qwen family only).
- IP / subnet allowlist: restrict calls to specified IPs (optional).
- Group: group by business/project for clean billing and stats.
Security tip: use separate tokens per project/environment (prod / staging / test) with independent spend caps. If a key leaks, revoke it instantly in the console without affecting others. Never commit keys to a repo or expose them in the frontend.
Base URL
All endpoints share one root address. Just drop it into your existing OpenAI client config:
https://api.giikin.ai/v1
POST /v1/chat/completions—— Chat completionsPOST /v1/embeddings—— Text embeddingsPOST /v1/images/generations—— Image generationGET /v1/models—— Model list
Chat Completions
The most common endpoint, with fields identical to OpenAI /v1/chat/completions. Common params:
model(string, required): model name, e.g.kimi-k2.6,qwen3.5-397b-a17b,deepseek-v4-pro.messages(array, required): list of messages, each withroleandcontent.temperature(number, optional): sampling temperature, 0–2, default 1.max_tokens(int, optional): maximum tokens to generate.stream(bool, optional): stream the response, default false.tools/tool_choice(optional): function / tool calling.
Response example:
{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"model": "qwen3.5-397b",
"choices": [{
"index": 0,
"message": { "role": "assistant", "content": "China compute, going global." },
"finish_reason": "stop"
}],
"usage": { "prompt_tokens": 24, "completion_tokens": 9, "total_tokens": 33 }
}
Streaming
Set stream=true to receive the response token-by-token via Server-Sent Events (SSE) — ideal for a typewriter chat UI.
stream = client.chat.completions.create(
model="qwen3.5-397b",
messages=[{"role": "user", "content": "Tell me a short going-global story"}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content or ""
print(delta, end="", flush=True)
const stream = await client.chat.completions.create({
model: "kimi-k2.6",
messages: [{ role: "user", content: "Tell me a short going-global story" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}
Embeddings
Turn text into vectors for retrieval, clustering, RAG and similar scenarios.
curl https://api.giikin.ai/v1/embeddings \
-H "Authorization: Bearer $GIITOKEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "text-embedding-3-small",
"input": "China compute, going global"
}'
Endpoints
| Method | Path | Description |
|---|---|---|
| POST | /v1/chat/completions | Chat completions (streaming, function calling) |
| POST | /v1/embeddings | Text embeddings |
| POST | /v1/images/generations | Text-to-image |
| POST | /v1/audio/transcriptions | Speech-to-text |
| GET | /v1/models | List available models |
Error codes
Errors return a standard HTTP status plus a JSON body, identical to OpenAI: { "error": { "message", "type", "code" } }.
| Status | Type | Meaning & handling |
|---|---|---|
| 401 | invalid_api_key | Invalid or missing key — check the Authorization header. |
| 402 | insufficient_quota | Insufficient balance — top up in the console. |
| 429 | rate_limit_exceeded | Rate limited — use exponential backoff and retry. |
| 404 | model_not_found | Wrong model name or not enabled for you. |
| 500 | internal_error | Server error, already alerted — safe to retry. |
| 503 | upstream_unavailable | Upstream temporarily unavailable — the gateway fails over automatically. |
Rate limits & quota
Limits apply across two dimensions — token and user group. Everything is visible and adjustable in the developer console.
- RPM: max requests per minute (per token)
- TPM: max tokens per minute (per token)
- Quota: spend cap of the token; auto-expires when used up
- Group limits: account groups (default / VIP / enterprise) have different concurrency caps — upgrade to raise them
On rate limiting you get 429 with a Retry-After header suggesting wait seconds. Free quota and per-tier RPM / TPM are on the pricing page. For higher concurrency, request an increase in the console or contact sales.
Best practices
- Backoff retry: for 429/5xx use exponential backoff (e.g. 1s, 2s, 4s) with a max retry count.
- Set timeouts: for long generations set a sensible client timeout and pair with streaming for better UX.
- Connect nearby: overseas servers resolve to the nearest edge node to cut RTT.
- Budget alerts: set a monthly budget and alert threshold in the console to avoid overspend.
- Key isolation: use different keys for prod, test and each business for easier audit and limits.
Developer console
Token creation, usage monitoring, billing and invoicing all live at console.giikin.ai.
- Token management: create / edit / revoke API keys, assign quota and permissions per project
- Live usage: token count, latency, cost and status code for every call
- Model catalog: browse all available models and prices, updated live
- Billing & invoices: export billing CSV; corporate invoicing for enterprise users
- Wallet top-up: credit card, corporate transfer and more, with balance alerts
- Call logs: 30 days of call logs retained for troubleshooting
SDK & ecosystem
Because we are fully OpenAI-compatible, the following work out of the box — just set Base URL and Key:
- Official / community OpenAI SDKs: Python, Node.js, Go, Java, .NET, PHP…
- App frameworks: LangChain, LlamaIndex, Vercel AI SDK, Dify, FastGPT.
- Clients: NextChat, LobeChat, Cherry Studio, OpenCat — just paste the Base URL.
For any integration issues, email ir@jihong.cn, or see the comparison and pricing.
Using the AI Apps
Beyond the model API, AI·GStore also opens up a set of ready-to-use AI apps. Forged from years of front-line cross-border e-commerce practice and long polished internally, they need no self-built models or pipelines and no code — sign up and use them right in the browser. They cover the whole journey from content creation and creative assets to marketing conversion, forming a complete suite alongside the model API: use the API to build your own integrations, use the apps for instant productivity.
How to get started
- Sign up and log in to your AI·GStore account (the same account you use for the API).
- Open the App Marketplace and browse the AI apps below, then pick the tool that fits your work.
- Click a card to open the app in a new tab and use it directly in the browser — no deployment, no API calls needed.
- The app UI language follows the site language setting; exact features, onboarding and usage terms are as described inside each app.
Available apps
- Shenbi Editor — AI-powered rich-text creation and layout tool. Generate marketing copy, product details and imagery in one place — WYSIWYG, ready to use.
- AI Video Studio — Input copy or a product link to auto-generate scripts, storyboards and final cuts — efficiently batch-produce multilingual marketing videos.
- Creative Asset Studio — Massive e-commerce templates plus AI image processing: one-click cutout, edits, product scene generation and ad creatives.
- Smart Landing Pages — AI-generated high-conversion landing pages that auto-adapt to multiple languages and regions. Drag-and-drop editing, instant publish, trackable conversions.
- Voiceover Extractor — Intelligently extract voiceover scripts and subtitles from video/audio. Supports multilingual transcription and translation for quick script reuse.
- Digital Human Generator — Clone appearance and voice to create customizable digital hosts. Batch-produce talking-head videos and drastically cut on-camera costs.
These apps are standalone web tools (hosted under giikin.ai subdomains), independent from and complementary to the model API: use the API when you need to build your own integration or custom pipeline, and use the apps when you need ready-made capabilities out of the box.
