新用户注册即赠体验积分,套餐更享额外赠送 立即领取 →
DOCS · v1

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:

  1. 01 Sign up — open console.giikin.ai; email sign-up comes with trial credit.
  2. 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).
  3. 03 Top up (optional) — the Wallet page supports credit card, corporate bank transfer and more. New accounts include trial credit, so test first.
  4. 04 Swap the Base URL — point your SDK base_url to https://api.giikin.ai/v1 and use your key as api_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

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

Chat Completions

The most common endpoint, with fields identical to OpenAI /v1/chat/completions. Common params:

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

MethodPathDescription
POST/v1/chat/completionsChat completions (streaming, function calling)
POST/v1/embeddingsText embeddings
POST/v1/images/generationsText-to-image
POST/v1/audio/transcriptionsSpeech-to-text
GET/v1/modelsList available models

Error codes

Errors return a standard HTTP status plus a JSON body, identical to OpenAI: { "error": { "message", "type", "code" } }.

StatusTypeMeaning & handling
401invalid_api_keyInvalid or missing key — check the Authorization header.
402insufficient_quotaInsufficient balance — top up in the console.
429rate_limit_exceededRate limited — use exponential backoff and retry.
404model_not_foundWrong model name or not enabled for you.
500internal_errorServer error, already alerted — safe to retry.
503upstream_unavailableUpstream 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.

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

Developer console

Token creation, usage monitoring, billing and invoicing all live at console.giikin.ai.

SDK & ecosystem

Because we are fully OpenAI-compatible, the following work out of the box — just set Base URL and Key:

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

Available apps

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.

Go to the App Marketplace →