diff --git a/frontend/libs/components/promptbox/src/lib/PromptBox2D.tsx b/frontend/libs/components/promptbox/src/lib/PromptBox2D.tsx
index d1938df561..3752439a9c 100644
--- a/frontend/libs/components/promptbox/src/lib/PromptBox2D.tsx
+++ b/frontend/libs/components/promptbox/src/lib/PromptBox2D.tsx
@@ -267,7 +267,7 @@ export const PromptBox2D = ({
const handleGenerate = async () => {
const busy = Boolean(isEnqueueing ?? internalEnqueueing);
if (busy || isDisabled || !prompt.trim()) return;
- if (prompt.length > maxLen) {
+ if (isFinite(maxLen) && prompt.length > maxLen) {
toast.error(
`Prompt exceeds the ${maxLen} character limit for this model`,
);
@@ -427,9 +427,9 @@ export const PromptBox2D = ({
onBlur={() => {}}
/>
maxLen ? "text-red-500" : "text-base-fg/40"}`}
+ className={`absolute -bottom-1 right-0 text-[10px] tabular-nums ${isFinite(maxLen) && prompt.length > maxLen ? "text-red-500" : "text-base-fg/40"}`}
>
- {prompt.length} / {maxLen}
+ {prompt.length} / {isFinite(maxLen) ? maxLen : "∞"}
diff --git a/frontend/libs/components/promptbox/src/lib/PromptBox3D.tsx b/frontend/libs/components/promptbox/src/lib/PromptBox3D.tsx
index fd3f11f1ae..413478c03e 100644
--- a/frontend/libs/components/promptbox/src/lib/PromptBox3D.tsx
+++ b/frontend/libs/components/promptbox/src/lib/PromptBox3D.tsx
@@ -269,7 +269,7 @@ export const PromptBox3D = ({
const maxLen = selectedImageModel?.maxPromptLength ?? 1000;
const handleEnqueue = async () => {
- if (prompt.length > maxLen) {
+ if (isFinite(maxLen) && prompt.length > maxLen) {
toast.error(`Prompt exceeds the ${maxLen} character limit for this model`);
return;
}
@@ -632,8 +632,8 @@ export const PromptBox3D = ({
isPromptBoxFocused.value = false;
}}
/>
- maxLen ? "text-red-500" : "text-base-fg/40"}`}>
- {prompt.length} / {maxLen}
+ maxLen ? "text-red-500" : "text-base-fg/40"}`}>
+ {prompt.length} / {isFinite(maxLen) ? maxLen : "∞"}
diff --git a/frontend/libs/components/promptbox/src/lib/PromptBoxEdit.tsx b/frontend/libs/components/promptbox/src/lib/PromptBoxEdit.tsx
index 4233298a77..47e7664c2f 100644
--- a/frontend/libs/components/promptbox/src/lib/PromptBoxEdit.tsx
+++ b/frontend/libs/components/promptbox/src/lib/PromptBoxEdit.tsx
@@ -262,7 +262,7 @@ export const PromptBoxEdit = ({
const handleGenerate = async () => {
const busy = Boolean(isEnqueueing ?? internalEnqueueing);
if (busy || isDisabled || !prompt.trim()) return;
- if (prompt.length > maxLen) {
+ if (isFinite(maxLen) && prompt.length > maxLen) {
toast.error(
`Prompt exceeds the ${maxLen} character limit for this model`,
);
@@ -439,9 +439,9 @@ export const PromptBoxEdit = ({
onBlur={() => setIsFocused(false)}
/>
maxLen ? "text-red-500" : "text-white/40"}`}
+ className={`absolute -bottom-1 right-0 text-[10px] tabular-nums ${isFinite(maxLen) && prompt.length > maxLen ? "text-red-500" : "text-white/40"}`}
>
- {prompt.length} / {maxLen}
+ {prompt.length} / {isFinite(maxLen) ? maxLen : "∞"}
diff --git a/frontend/libs/components/promptbox/src/lib/PromptBoxImage.tsx b/frontend/libs/components/promptbox/src/lib/PromptBoxImage.tsx
index 58104bd2e0..aba3e1caf0 100644
--- a/frontend/libs/components/promptbox/src/lib/PromptBoxImage.tsx
+++ b/frontend/libs/components/promptbox/src/lib/PromptBoxImage.tsx
@@ -263,7 +263,7 @@ export const PromptBoxImage = ({
console.warn("Cannot generate image: prompt is empty");
return;
}
- if (prompt.length > maxLen) {
+ if (isFinite(maxLen) && prompt.length > maxLen) {
toast.error(
`Prompt exceeds the ${maxLen} character limit for this model`,
);
@@ -493,9 +493,9 @@ export const PromptBoxImage = ({
onBlur={() => setIsFocused(false)}
/>
maxLen ? "text-red-500" : "text-base-fg/40"}`}
+ className={`absolute -bottom-1 right-0 text-[10px] tabular-nums ${isFinite(maxLen) && prompt.length > maxLen ? "text-red-500" : "text-base-fg/40"}`}
>
- {prompt.length} / {maxLen}
+ {prompt.length} / {isFinite(maxLen) ? maxLen : "∞"}
diff --git a/frontend/libs/components/promptbox/src/lib/PromptBoxVideo.tsx b/frontend/libs/components/promptbox/src/lib/PromptBoxVideo.tsx
index 49198def56..28be90f6b7 100644
--- a/frontend/libs/components/promptbox/src/lib/PromptBoxVideo.tsx
+++ b/frontend/libs/components/promptbox/src/lib/PromptBoxVideo.tsx
@@ -591,7 +591,7 @@ export const PromptBoxVideo = ({
toast.error("Please enter a prompt to generate video");
return;
}
- if (prompt.length > maxLen) {
+ if (isFinite(maxLen) && prompt.length > maxLen) {
toast.error(
`Prompt exceeds the ${maxLen} character limit for this model`,
);
@@ -933,9 +933,9 @@ export const PromptBoxVideo = ({
/>
)}
maxLen ? "text-red-500" : "text-base-fg/40"}`}
+ className={`absolute -bottom-1 right-0 text-[10px] tabular-nums ${isFinite(maxLen) && prompt.length > maxLen ? "text-red-500" : "text-base-fg/40"}`}
>
- {prompt.length} / {maxLen}
+ {prompt.length} / {isFinite(maxLen) ? maxLen : "∞"}
diff --git a/frontend/libs/model-list/src/lib/lists/ImageModels.ts b/frontend/libs/model-list/src/lib/lists/ImageModels.ts
index c8b0bdb900..7d9bf8b02a 100644
--- a/frontend/libs/model-list/src/lib/lists/ImageModels.ts
+++ b/frontend/libs/model-list/src/lib/lists/ImageModels.ts
@@ -182,7 +182,7 @@ export const IMAGE_MODELS: ImageModel[] = [
canTextToImage: true,
tags: [ModelTag.InstructiveEdit],
progressBarTime: 25000,
- maxPromptLength: 2500,
+ maxPromptLength: Infinity,
// canChangeResolution: true,
canChangeAspectRatio: true,
defaultAspectRatio: CommonAspectRatio.Square,
@@ -217,7 +217,7 @@ export const IMAGE_MODELS: ImageModel[] = [
canTextToImage: true,
tags: [ModelTag.InstructiveEdit],
progressBarTime: 25000,
- maxPromptLength: 2500,
+ maxPromptLength: Infinity,
canChangeResolution: true,
canChangeAspectRatio: true,
defaultAspectRatio: CommonAspectRatio.Square,
@@ -257,7 +257,7 @@ export const IMAGE_MODELS: ImageModel[] = [
canTextToImage: true,
tags: [ModelTag.InstructiveEdit],
progressBarTime: 25000,
- maxPromptLength: 2500,
+ maxPromptLength: Infinity,
canChangeResolution: true,
canChangeAspectRatio: true,
defaultAspectRatio: CommonAspectRatio.Square,
diff --git a/frontend/libs/model-list/src/lib/lists/VideoModels.ts b/frontend/libs/model-list/src/lib/lists/VideoModels.ts
index 7c120abcc5..26ef4c8259 100644
--- a/frontend/libs/model-list/src/lib/lists/VideoModels.ts
+++ b/frontend/libs/model-list/src/lib/lists/VideoModels.ts
@@ -309,7 +309,7 @@ export const VIDEO_MODELS: VideoModel[] = [
defaultResolution: "720p",
supportsSystemPrompt: false,
progressBarTime: 900000, // ~15 minutes
- maxPromptLength: 3000,
+ maxPromptLength: Infinity,
}),
new VideoModel({
id: "sora_2",