ไป‹็ป

ไป€ไนˆๆ˜ฏ YourAppName?

YourAppName ๆ˜ฏไธ€ไธชๅŸบไบŽ NextJS ็š„ AI SaaS ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅ†…็ฝฎไธฐๅฏŒ็š„็ป„ไปถๅ’Œ AI SDK๏ผŒๅธฎๅŠฉไฝ ๅฟซ้€ŸๅฎŒๆˆ AI SaaS ้กน็›ฎๅผ€ๅ‘ใ€‚

็ป„ไปถ

ImagePromptBox - AI ๅ›พ็‰‡็”Ÿๆˆ่พ“ๅ…ฅๆก†

ไธ€ไธชๅŠŸ่ƒฝไธฐๅฏŒ็š„ AI ๅ›พ็‰‡็”Ÿๆˆ่พ“ๅ…ฅๆก†็ป„ไปถ๏ผŒๆ”ฏๆŒๆ–‡็”Ÿๅ›พๅ’Œๅ›พ็”Ÿๅ›พๆจกๅผใ€‚

ๅŸบๆœฌ็”จๆณ•

import { ImagePromptBox } from '@/shared/blocks/generator/image-prompt-box';

export default function Page() {
  return (
    <ImagePromptBox
      showResults={true}
      onGenerated={(images) => console.log('Generated:', images)}
    />
  );
}

Props

ๅฑžๆ€ง็ฑปๅž‹้ป˜่ฎคๅ€ผ่ฏดๆ˜Ž
maxSizeMBnumber5ๅ‚่€ƒๅ›พ็‰‡ๆœ€ๅคงๆ–‡ไปถๅคงๅฐ (MB)
classNamestring-่‡ชๅฎšไน‰ๆ ทๅผ็ฑปๅ
srOnlyTitlestring-ๅฑๅน•้˜…่ฏปๅ™จๆ ‡้ข˜
showResultsbooleantrueๆ˜ฏๅฆๆ˜พ็คบ็”Ÿๆˆ็ป“ๆžœ
onGenerated(images: GeneratedImage[]) => void-ๅ›พ็‰‡็”ŸๆˆๅฎŒๆˆๅ›ž่ฐƒ

ๅŠŸ่ƒฝ็‰นๆ€ง

ไป˜่ดน็”จๆˆท vs ๅ…่ดน็”จๆˆท

็ป„ไปถๆ นๆฎ็”จๆˆท็š„ไป˜่ดน็Šถๆ€ (isPaidUser) ่‡ชๅŠจ่ฐƒๆ•ดๅŠŸ่ƒฝใ€‚

ไป˜่ดน็”จๆˆทๅˆคๆ–ญๆกไปถ๏ผˆๆปก่ถณไปปไธ€ๅณๅฏ๏ผ‰๏ผš

  • ๆ‹ฅๆœ‰ๆดป่ทƒ็š„่ฎข้˜… (Subscription status: ACTIVE ๆˆ– TRIALING)
  • ่ดญไนฐ่ฟ‡็งฏๅˆ†ๅŒ… (One-time credit pack with PAYMENT scene)
ๅŠŸ่ƒฝๅ…่ดน็”จๆˆทไป˜่ดน็”จๆˆท
ๅ‚่€ƒๅ›พ็‰‡ๆ•ฐ้‡ไธŠ้™3 ๅผ 9 ๅผ 
Aspect Ratio ้€‰้กนไป… Auto ๅ…่ดนๅ…จ้ƒจๅฏ็”จ
Resolution ้€‰้กนไป… Standard ๅ…่ดนๅ…จ้ƒจๅฏ็”จ
Skip Validation ๅผ€ๅ…ณๆ˜พ็คบ้š่—
"Need Custom Settings" ๆŒ‰้’ฎๆ˜พ็คบ้š่—
"ๅ‡็บงไปฅไธŠไผ ๆ›ดๅคšๅ›พ็‰‡" ๆ็คบๆ˜พ็คบ้š่—

ๆ”ฏๆŒ็š„ๅŠŸ่ƒฝ

  • ๐Ÿ“ Prompt ่พ“ๅ…ฅ: ๆ”ฏๆŒๆœ€ๅคš 2000 ๅญ—็ฌฆ็š„ๆ็คบ่ฏ่พ“ๅ…ฅ
  • ๐Ÿ–ผ๏ธ ๅ‚่€ƒๅ›พ็‰‡: ๆ”ฏๆŒไธŠไผ ๅ‚่€ƒๅ›พ็‰‡่ฟ›่กŒๅ›พ็”Ÿๅ›พ
  • ๐Ÿ“ ๅฎฝ้ซ˜ๆฏ”้€‰ๆ‹ฉ: Auto, 1:1, 16:9, 9:16, 4:3, 3:4
  • ๐Ÿ” ๅˆ†่พจ็އ้€‰ๆ‹ฉ: Standard, 1K, 2K, 4K
  • ๐Ÿ”ข ๆ•ฐ้‡้€‰ๆ‹ฉ: 1-4 ๅผ ๅ›พ็‰‡
  • โณ ็”Ÿๆˆ่ฟ›ๅบฆ: ๅฎžๆ—ถๆ˜พ็คบ็”Ÿๆˆ่ฟ›ๅบฆ
  • ๐Ÿ’พ ๅ›พ็‰‡ไธ‹่ฝฝ: ๆ”ฏๆŒไธ‹่ฝฝ็”Ÿๆˆ็š„ๅ›พ็‰‡

็›ธๅ…ณๅธธ้‡

// constants.ts
export const MAX_PROMPT_LENGTH = 2000;
export const MAX_REFERENCE_IMAGES_FREE = 3;
export const MAX_REFERENCE_IMAGES_PAID = 9;

ๅญ็ป„ไปถ

  • DropdownSelector - ้€š็”จไธ‹ๆ‹‰้€‰ๆ‹ฉๅ™จ๏ผŒๆ”ฏๆŒ่‡ชๅฎšไน‰้€‰้กนๅ’Œๅ›พๆ ‡
  • ReferenceImagesDisplay - ๅ‚่€ƒๅ›พ็‰‡ๅฑ•็คบ็ป„ไปถ
  • GenerateButton - ็”ŸๆˆๆŒ‰้’ฎ
  • GeneratedImagesGrid - ็”Ÿๆˆๅ›พ็‰‡็ฝ‘ๆ ผๅฑ•็คบ
  • ProgressIndicator - ่ฟ›ๅบฆๆŒ‡็คบๅ™จ