Bot & Automation
AI Creator Studio Telegram
/root/hermes-projects/AI Creator Studio Telegram
packages/provider-adapters/src/mock-provider.ts
text
import type { ProviderAdapter, ProviderGenerateInput, ProviderGenerateResult } from "./provider-types.js";
export const mockProvider: ProviderAdapter = {
id: "mock",
displayName: "Mock Provider",
capabilities: [
"text_to_image",
"image_to_image",
"upscale_image",
"enhance_image",
"text_to_video",
"image_to_video",
"enhance_video",
],
async estimate() {
return {
credits: 1,
tokens: 10,
storageBytes: 1024,
etaSecondsMin: 1,
etaSecondsMax: 3,
};
},
async generate(input: ProviderGenerateInput): Promise<ProviderGenerateResult> {
await new Promise((resolve) => setTimeout(resolve, 500));
return {
providerId: "mock",
providerJobId: `mock_${crypto.randomUUID()}`,
status: "completed",
output: {
kind: input.mode.includes("video") ? "video" : "image",
mimeType: input.mode.includes("video") ? "video/mp4" : "image/png",
storageKey: `mock/${Date.now()}-${crypto.randomUUID()}`,
},
usage: {
credits: 1,
tokens: 10,
},
};
},
async getBalance() {
return {
creditBalance: 999999,
tokenBalance: 999999,
};
},
async getRateLimit() {
return {
status: "available",
resetAt: null,
};
},
};