diff --git a/frontend/libs/common/src/lib/enums/GenerationProvider.ts b/frontend/libs/common/src/lib/enums/GenerationProvider.ts index e25d9f1a46..2bdd04368c 100644 --- a/frontend/libs/common/src/lib/enums/GenerationProvider.ts +++ b/frontend/libs/common/src/lib/enums/GenerationProvider.ts @@ -1,5 +1,6 @@ export enum GenerationProvider { Artcraft = "artcraft", + Grok = "grok", Fal = "fal", Midjourney = "midjourney", Sora = "sora", diff --git a/frontend/libs/components/provider-setup-modal/src/lib/provider-setup-modal.tsx b/frontend/libs/components/provider-setup-modal/src/lib/provider-setup-modal.tsx index b5c6cdf1ca..8585bf5431 100644 --- a/frontend/libs/components/provider-setup-modal/src/lib/provider-setup-modal.tsx +++ b/frontend/libs/components/provider-setup-modal/src/lib/provider-setup-modal.tsx @@ -31,6 +31,7 @@ export function ProviderSetupModal({ let modalDescription; switch (provider) { + case GenerationProvider.Grok: case GenerationProvider.Sora: modalDescription = `You can add your ${serviceProviderName} account to ArtCraft by simply logging in. Use can then use it directly within Artcraft. You can add all of your AI accounts to Artcraft to use them all in one place and build the ultimate AI art tool.`; break; @@ -43,6 +44,9 @@ export function ProviderSetupModal({ const buttonOnClick = async () => { switch (provider) { + case GenerationProvider.Grok: + await invoke("grok_open_login_command"); // TODO: Rename in Tauri + break; case GenerationProvider.Midjourney: await invoke("midjourney_open_login_command"); break; @@ -111,12 +115,14 @@ export function ProviderSetupModal({ function getServiceProviderName(provider: GenerationProvider) : string { switch (provider) { - case GenerationProvider.Sora: - return "Sora"; + case GenerationProvider.Grok: + return "Grok"; case GenerationProvider.Fal: return "Fal"; case GenerationProvider.Midjourney: return "Midjourney"; + case GenerationProvider.Sora: + return "Sora"; case GenerationProvider.Artcraft: default: return "Artcraft"; diff --git a/frontend/libs/model-list/src/lib/lists/VideoModels.ts b/frontend/libs/model-list/src/lib/lists/VideoModels.ts index c47bb588de..ed409c0f67 100644 --- a/frontend/libs/model-list/src/lib/lists/VideoModels.ts +++ b/frontend/libs/model-list/src/lib/lists/VideoModels.ts @@ -3,6 +3,20 @@ import { ModelCreator } from "../classes/metadata/ModelCreator.js"; import { SizeIconOption } from "../classes/metadata/SizeOption.js"; export const VIDEO_MODELS: VideoModel[] = [ + new VideoModel({ + id: "grok", + tauriId: "grok", + fullName: "Grok Video", + category: "video", + creator: ModelCreator.Kling, + selectorName: "Grok Video", + selectorDescription: "Fastest video model", + selectorBadges: ["20 sec."], + startFrame: true, + endFrame: false, + requiresImage: true, + progressBarTime: 50000, + }), new VideoModel({ id: "kling_1_6_pro", tauriId: "kling_1.6_pro",