Skip to main content
Glama
stvlynn

Volcengine Image Generation MCP Server

by stvlynn
volcengine-api.ts1.78 kB
import axios, { AxiosInstance } from 'axios'; import { VolcengineImageGenerationRequest, VolcengineImageGenerationResponse } from './types'; export class VolcengineAPI { private client: AxiosInstance; private apiKey: string; private baseUrl: string; constructor(apiKey: string, baseUrl: string = 'https://ark.cn-beijing.volces.com/api/v3') { this.apiKey = apiKey; this.baseUrl = baseUrl; this.client = axios.create({ baseURL: this.baseUrl, headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${this.apiKey}`, }, }); } async generateImage(request: VolcengineImageGenerationRequest): Promise<VolcengineImageGenerationResponse> { try { const response = await this.client.post<VolcengineImageGenerationResponse>( '/images/generations', request ); return response.data; } catch (error) { if (axios.isAxiosError(error)) { const status = error.response?.status; const message = error.response?.data?.error?.message || error.message; if (status === 401) { throw new Error('Invalid API key or unauthorized access'); } else if (status === 429) { throw new Error('Rate limit exceeded. Please try again later.'); } else if (status === 400) { throw new Error(`Invalid request: ${message}`); } else { throw new Error(`API request failed: ${message}`); } } throw new Error(`Unknown error: ${error instanceof Error ? error.message : 'Unknown error'}`); } } async validateApiKey(): Promise<boolean> { try { await this.client.get('/models'); return true; } catch { return false; } } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/stvlynn/Volcengine-Image-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server