{"components":{"securitySchemes":{"bearerAuth":{"scheme":"bearer","type":"http"},"clientToken":{"in":"header","name":"X-Client-Token","type":"apiKey"}}},"info":{"description":"OpenAI-compatible AI routing gateway. Use one client token to access chat, image, video, voice and music capabilities.","title":"BestRoute AI Gateway API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/api/client/register":{"post":{"parameters":[{"description":"Optional client source, for example deepwork","in":"header","name":"X-Client-Source","required":false,"schema":{"type":"string"}},{"description":"Optional device machine name","in":"header","name":"X-Machine-Name","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"machine_id":"your-device-or-client-id","machine_name":"DESKTOP-001","name":"my-agent","source":"deepwork"},"schema":{"additionalProperties":true,"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"member_id and client token"}},"summary":"Register a client or device and receive a client token. Send source and machine_name in JSON or headers. DeepWork uses source=deepwork and stores the machine name on member."}},"/api/images/generations":{"post":{"requestBody":{"content":{"application/json":{"example":{"model":"doubao-seedream-4-0-250828","prompt":"A clean product illustration"},"schema":{"additionalProperties":true,"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Image generation result"}},"summary":"Generate images"}},"/api/member/captcha":{"post":{"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"captcha_key and captcha_code"}},"summary":"Create a login captcha"}},"/api/member/login":{"post":{"requestBody":{"content":{"application/json":{"example":{"captcha_code":"","captcha_key":"","lang_id":"zh","password":"your_password","platform_id":"menu_platform_web","username":"admin@spark.com"},"schema":{"additionalProperties":true,"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Login result with JWT token, member, roles and menus"}},"summary":"Login with username and password"}},"/api/music/generations":{"post":{"requestBody":{"content":{"application/json":{"example":{"model":"chirp-v4","prompt":"short upbeat piano loop"},"schema":{"additionalProperties":true,"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Music task"}},"summary":"Generate music"}},"/api/music/generations/{id}":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Music result"}},"summary":"Fetch music generation result"}},"/api/videos/generations":{"post":{"requestBody":{"content":{"application/json":{"example":{"model":"doubao-seedance-1-0-pro-250528","prompt":"A short cinematic product video"},"schema":{"additionalProperties":true,"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Video task"}},"summary":"Generate videos"}},"/api/videos/generations/{id}":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Video result"}},"summary":"Fetch video generation result"}},"/api/voice/asr":{"post":{"requestBody":{"content":{"application/json":{"example":{"audio_url":"https://example.com/audio.wav"},"schema":{"additionalProperties":true,"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"ASR text result"}},"summary":"Speech to text"}},"/api/voice/tts":{"post":{"requestBody":{"content":{"application/json":{"example":{"text":"Hello from BestRoute","voice":"default"},"schema":{"additionalProperties":true,"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"TTS audio result"}},"summary":"Text to speech"}},"/v1/chat/completions":{"post":{"requestBody":{"content":{"application/json":{"example":{"messages":[{"content":"Hello","role":"user"}],"model":"deepseek-chat","stream":false},"schema":{"additionalProperties":true,"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Chat completion"}},"summary":"Create a chat completion"}},"/v1/models":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Model list"}},"summary":"List available models"}}},"security":[{"bearerAuth":[]},{"clientToken":[]}],"servers":[{"url":"https://bestroute.center"}]}