프로덕션 AI 트래픽을 위한 단일 게이트웨이

하나의 Base URL로 중국 AI 모델에 연결하세요.

ChinaAPI는 DeepSeek, Qwen, GLM, Kimi, Doubao와 이미지, 동영상, 임베딩, 리랭크 모델을 위한 단일 OpenAI 호환 엔드포인트를 제공합니다. SDK는 그대로 유지한 채 엔드포인트만 교체하고, 하나의 대시보드에서 사용량을 관리하세요.

연결

https://api.chinaapi.ai
1 API 키
OpenAI 호환
40+ 제공업체
SDK의 base URL을 https://api.chinaapi.ai/v1로 설정하고, ChinaAPI 토큰을 bearer 키로 사용하세요.

인증

모든 API 요청은 bearer 토큰 인증을 사용합니다. 대시보드에서 토큰을 생성한 뒤 Authorization 헤더에 담아 전송하세요.

HTTP headers
Authorization: Bearer $CHINAAPI_KEY
Content-Type: application/json

OpenAI 호환 채팅

대부분의 OpenAI 클라이언트는 baseURL만 변경하면 그대로 동작합니다. ChinaAPI 대시보드에 게시된 모델 이름을 사용하세요.

curl
curl https://api.chinaapi.ai/v1/chat/completions \
  -H "Authorization: Bearer $CHINAAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-chat",
    "messages": [
      { "role": "user", "content": "Hello" }
    ]
  }'
Node.js
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.CHINAAPI_KEY,
  baseURL: "https://api.chinaapi.ai/v1",
});

const result = await client.chat.completions.create({
  model: "deepseek-chat",
  messages: [{ role: "user", content: "Hello" }],
});

Claude, Gemini 및 네이티브 형식

ChinaAPI는 OpenAI 형식 트래픽과 제공업체별 트래픽을 모두 전달할 수 있습니다. Claude Messages API나 Gemini 호환 페이로드가 필요한 클라이언트에는 별도의 경로를 유지하세요.

OpenAI

/v1/chat/completions

OpenAI SDK, Cherry Studio, Cline, Open WebUI 등 대부분의 도구 클라이언트에서 사용할 수 있습니다.

Claude

/v1/messages

동일한 게이트웨이 키와 쿼터 제어를 유지한 채 Claude 형식의 메시지 페이로드를 라우팅합니다.

Gemini

/gemini

애플리케이션이 Gemini 요청 구조에 의존한다면 Gemini 호환 클라이언트를 사용하세요.

동영상 생성

동영상 모델은 한 번의 응답이 아니라 작업으로 답합니다. POST /v1/videos는 작업 ID와 "status": "queued"를 반환하고, GET /v1/videos/{task_id}로 작업이 completed 또는 failed가 될 때까지 진행 상황을 확인합니다. 완료되면 결과물은 metadata.url에 담긴 서명된 URL입니다. 이 URL에는 Expires 파라미터가 있으므로 링크를 저장하지 말고 파일을 내려받으세요. 실패한 작업은 업스트림 오류 코드와 메시지를 error.codeerror.message에 담으므로 요청에서 어떤 필드가 빠졌는지 대개 바로 알 수 있습니다. POST /v1/video/generations도 같은 핸들러로 연결되어, 해당 경로로 이미 구현한 클라이언트를 그대로 쓸 수 있습니다.

POST /v1/videos
curl https://api.chinaapi.ai/v1/videos \
  -H "Authorization: Bearer $CHINAAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan2.7-i2v",
    "prompt": "the cat turns and walks toward the camera",
    "input_reference": "https://example.com/first-frame.jpg",
    "size": "1280*720",
    "duration": 5
  }'

# {"id":"task_9f2c...","task_id":"task_9f2c...","object":"video",
#  "model":"wan2.7-i2v","status":"queued","progress":0}
GET /v1/videos/{task_id}
curl https://api.chinaapi.ai/v1/videos/task_9f2c... \
  -H "Authorization: Bearer $CHINAAPI_KEY"

# {"id":"task_9f2c...","object":"video","model":"wan2.7-i2v",
#  "status":"completed","progress":100,
#  "metadata":{"url":"https://.../output.mp4?Expires=..."}}
텍스트로 만들기

wan2.7-t2v

필수 필드는 modelprompt뿐입니다. sizeduration을 생략하면 게이트웨이가 1280*720, 5초로 제출합니다.

이미지로 만들기

wan2.7-i2v

정지 이미지를 움직이게 합니다. input_reference에 공개적으로 접근할 수 있는 이미지 URL을 넣으면 그것이 첫 프레임이 되며, sizeduration을 함께 보내세요.

참조에서 동영상

wan2.7-r2v

참조 소재로 동영상을 만듭니다. input_reference는 참조 이미지 한 장을 받습니다. 여러 장을 보내려면 images를 쓰고, video_url로 참조 동영상을 추가합니다 — 참조는 합쳐서 최대 5개입니다. input_referenceimages를 함께 보내지 마세요. 게이트웨이는 input_reference만 남깁니다.

동영상 편집

wan2.7-videoedit

프롬프트로 기존 클립을 편집합니다. video_url에는 원본 영상을 넣습니다. 원본은 2~10초 길이의 MP4 또는 MOV여야 하며, 출력은 size로 정해집니다.

30초 동영상

doubao-seedance-2-5-260628

참조 이미지는 images에 넣습니다. 이 계열은 input_reference를 무시합니다. 길이는 seconds에, 공급자 파라미터는 metadata에 넣고, resolution480p 또는 720p만 가능합니다.

size는 너비와 높이를 별표로 이어 1280*720처럼 씁니다. 문자 x는 받지 않습니다. 832x480invalid size: 832x480, example: 1920*1080을 돌려줍니다. duration은 정수 초입니다. wan2.7-i2v, wan2.7-r2v, wan2.7-videoedit에서는 게이트웨이가 size를 해상도 등급으로 접고 업스트림에는 두 등급만 있으므로 720P에는 1280*720, 1080P에는 1920*1080을 보내세요. 832*480 같은 480P 크기는 거부됩니다. wan2.7-t2v는 값을 그대로 받습니다.
doubao-seedance-2-5-260628 · first frame
curl https://api.chinaapi.ai/v1/videos \
  -H "Authorization: Bearer $CHINAAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-5-260628",
    "prompt": "the subject slowly turns toward the camera",
    "images": ["https://example.com/first-frame.jpg"],
    "seconds": "5",
    "metadata": {"resolution": "480p"}
  }'
doubao-seedance-2-5-260628 · reference mode
curl https://api.chinaapi.ai/v1/videos \
  -H "Authorization: Bearer $CHINAAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-5-260628",
    "prompt": "keep the subject from the reference image",
    "seconds": "5",
    "metadata": {
      "resolution": "480p",
      "ratio": "16:9",
      "content": [
        {
          "type": "image_url",
          "image_url": {"url": "https://example.com/reference.jpg"},
          "role": "reference_image"
        }
      ]
    }
  }'
role이 없는 이미지는 참조가 아니라 첫 프레임으로 읽힙니다. 출력은 그 이미지의 화면비를 따르고, ratio를 함께 보내면 InvalidParameter.TaskTypeConstraint로 거부되며, 이 모드에서는 seconds 2도 거부됩니다(5는 됩니다). generate_audio는 업스트림 기본값이 true이므로 metadata에서 false로 두지 않으면 오디오 트랙이 포함된 파일이 돌아옵니다. metadata.content의 각 항목에 role을 달면 참조 모드 전체 — 이미지 30장, 동영상 10개, 오디오 10개까지, 오디오만 입력, 30초 연속 생성 — 를 쓸 수 있고 그곳에서는 ratio도 허용됩니다.

모델 패밀리

팀에서 사용할 모델 별칭을 게시한 뒤, 대시보드에서 업스트림 채널, 폴백 풀, 가격, 그룹에 매핑하세요.

DeepSeek Qwen GLM Kimi Doubao MiniMax Embeddings Rerank Image Video

대시보드에서 운영하기

ChinaAPI는 단순한 전달 엔드포인트가 아닙니다. 실제 프로덕션 트래픽을 위한 키, 사용자, 그룹, 채널 상태, 로그, 쿼터, 과금 제어 기능을 포함합니다.

범위가 지정된 API 토큰

토큰을 생성하고 교체하며, 그룹을 할당하고 사용자 트래픽을 격리하세요.

라우팅

제공업체 폴백

여러 업스트림 채널을 구성하면 제공업체 장애가 발생해도 하나의 모델 별칭이 계속 동작합니다.

로그

사용량 및 비용

요청 상태, 토큰 사용량, 쿼터 소비, 오류 세부 정보를 한곳에서 추적하세요.