gvoice-cloud-helper
v1.0.1
Published
Simple TypeScript helper for GVoice Cloud Files, Images, and Videos APIs.
Maintainers
Readme
gvoice-cloud-helper
A clean TypeScript helper for GVoice Cloud API (Files, Images, Videos) using Axios.
This package reduces repeated API code like manual FormData, api_key params, and endpoint URLs.
Why use this package
- One client for all endpoints
- Clean uppercase namespace:
client.API.Files,client.API.Images,client.API.Videos - TypeScript-first method signatures
- Automatic
api_keyinjection - Supports custom Axios instance/config
Getting Started
First login into: https://cloud.gvoice.app
Then get your API key.
Example API Key:
gvoice_cloude_token_64656d6f_12345678Installation
npm install gvoice-cloud-helper axiosQuick Start
import { createGvoiceCloudClient } from "gvoice-cloud-helper";
const client = createGvoiceCloudClient({
apiKey: process.env.GVOICE_API_KEY!,
});
const files = await client.API.Files.list();
console.log(files);Client Setup
import { createGvoiceCloudClient } from "gvoice-cloud-helper";
const client = createGvoiceCloudClient({
apiKey: "your_api_key_here", // required
baseURL: "https://cloud.gvoice.app/api/", // optional
timeoutMs: 30000, // optional
axiosConfig: {}, // optional
});Options
apiKey: string(required)baseURL?: stringdefault:https://cloud.gvoice.app/api/timeoutMs?: numberdefault:30000axiosConfig?: AxiosRequestConfigaxiosInstance?: AxiosInstance
API Reference
Recommended (uppercase API namespace)
client.API.Files.upload(file, { reduceSize? })client.API.Files.list()client.API.Files.get(id)client.API.Files.delete(fileId)client.API.Images.upload(file, { reduceSize? })client.API.Images.list()client.API.Images.get(id)client.API.Images.delete(fileId)client.API.Videos.upload(file, { reduceSize? })client.API.Videos.list()client.API.Videos.get(id)client.API.Videos.delete(fileId)
Also available (direct methods)
uploadFile(file, { reduceSize? })uploadImage(file, { reduceSize? })uploadVideo(file, { reduceSize? })getMediaDetails(id)getFiles()getImages()getVideos()deleteFile(fileId)
Detailed Examples
1) Upload File
const input = document.querySelector("#file") as HTMLInputElement;
const file = input.files?.[0];
if (file) {
const response = await client.API.Files.upload(file, { reduceSize: true });
console.log(response);
}2) Upload Image
const image = imageInput.files?.[0];
if (image) {
const response = await client.API.Images.upload(image, { reduceSize: true });
console.log(response);
}3) Upload Video
const video = videoInput.files?.[0];
if (video) {
const response = await client.API.Videos.upload(video, { reduceSize: false });
console.log(response);
}4) Get Single Media Details
const details = await client.API.Files.get("12345");
console.log(details);get() for Files/Images/Videos all uses get-media-details.php.
5) List All Files / Images / Videos
const files = await client.API.Files.list();
const images = await client.API.Images.list();
const videos = await client.API.Videos.list();
console.log({ files, images, videos });6) Delete File / Image / Video
// Backend uses delete-file.php endpoint for all media deletes
await client.API.Files.delete("12345");
await client.API.Images.delete("12345");
await client.API.Videos.delete("12345");Endpoint Mapping
API.Files.upload->upload-file.phpAPI.Images.upload->upload-image.phpAPI.Videos.upload->upload-video.phpAPI.*.get->get-media-details.phpAPI.Files.list->get-files.phpAPI.Images.list->get-images.phpAPI.Videos.list->get-videos.phpAPI.*.delete->delete-file.php
Error Handling Example
try {
const result = await client.API.Files.list();
console.log(result);
} catch (error) {
if (error instanceof Error) {
console.error("GVoice API error:", error.message);
} else {
console.error("Unknown error", error);
}
}Security Notes
- Never hardcode API keys in public frontend repositories.
- Prefer environment variables or secure backend proxy for production usage.
