멀티모달리티를 로컬에서 실행하기
이 페이지를 사용하여 추출한 멀티모달리티 프로젝트(이미지 생성 또는 이미지 이해)를 실행할 수 있습니다. 둘 다 동일한 Vite 키 적응과 OpenAI SDK 업데이트가 필요합니다. 그 후 보유한 프로젝트에 맞는 수정을 진행하세요. 키 적응은 모든 추출된 코스 프로젝트가 필요로 하는 것과 같으며, Chef Claude를 로컬에서 실행하기에서 두 개의 provider 경로가 있는 React 프로젝트에 이를 적용합니다.
먼저 필요한 것
지원되는 LTS 버전의 Node.js를 설치합니다. Node 24를 권장하며 npm이 포함되어 있습니다.
두 명령어가 모두 작동하는지 확인합니다:
$ node --version
v24.18.0
$ npm --version
11.18.0청구 및 사용할 모델에 대한 액세스 권한이 있는 OpenAI API 키가 필요합니다. 이미지 생성 액세스는 조직 인증이 필요할 수 있습니다.
낮은 지출 한도가 있는 임시 키를 사용합니다. 두 프로젝트 모두 브라우저 코드에서 유료 OpenAI 요청을 하므로 키를 검사할 수 있습니다.
프로젝트 열기 및 준비하기
package.json이 포함된 추출한 폴더에서 터미널을 엽니다:
$ cd path-to-your-downloaded-project
$ npm install
$ npm install openai@latest두 번째 설치는 현재 이미지 API를 사용하기 전에 오래된 코스 SDK를 업데이트합니다.
package.json 옆에 .env와 .gitignore를 생성합니다:
VITE_OPENAI_API_KEY=your-openai-api-key.env
node_modules/.gitignore 항목은 키와 재구성 가능한 node_modules 폴더를 생성하는 모든 저장소에서 제외합니다. 파일 무시 및 좋은 습관은 더 넓은 습관을 다룹니다.
index.js에서 OpenAI 클라이언트 키를 다음에서:
apiKey: process.env.OPENAI_API_KEY,다음으로 변경합니다:
apiKey: import.meta.env.VITE_OPENAI_API_KEY,키가 프론트엔드에 포함됨
이는 제한된 키를 사용한 임시 로컬 학습에만 허용됩니다. 이미지 요청은 비용이 들 수 있습니다. 브라우저 전용 버전을 배포하거나 공유하지 마세요. 먼저 OpenAI 요청을 백엔드로 이동합니다.
package.json이 포함된 추출한 폴더를 열고 패키지를 설치한 후 현재 OpenAI SDK를 설치합니다. 임시 키는 .env에 들어가고 .gitignore는 해당 파일을 Git에서 제외합니다. 커밋에 도달하지 않는 키는 교체할 필요가 없는 키입니다! 이미지 생성 프로젝트 수정하기
코스 스냅샷은 폐지된 dall-e-3 모델을 호출하고 호스팅된 이미지 URL을 기대합니다. 현재 OpenAI 이미지 생성 가이드에 따라 이미지 요청을 변경하여 gpt-image-2를 사용합니다:
const image = await openai.images.generate({
model: "gpt-image-2",
prompt,
size: "1024x1024",
})코드가 image.data[0].url을 읽는 곳에서 반환된 base64 이미지로 만든 데이터 URL로 바꿉니다:
`data:image/png;base64,${image.data[0].b64_json}`추출한 파일의 주변 할당 또는 마크업을 유지합니다.
base64 문자열은 전체 이미지가 응답에 인라인되어 있으므로 1메가바이트 이상의 페이로드를 예상합니다. 백엔드가 있는 버전은 이미지를 서버 측에 저장하고 긴 데이터 URL 대신 짧은 URL을 페이지에 전달합니다.
gpt-image-2로 지정하고 반환된 base64 값을 PNG 데이터 URL로 변환합니다. 폐지된 모델과 이전 .url 필드가 함께 가므로 두 부분 모두 업데이트가 필요합니다. 하나만 변경하면 깨진 이미지가 표시되므로 첫 번째로 만든 정확한 실수입니다! 비전 프로젝트 수정하기
비전 2부 프로젝트에서 폐지된 모델 ID를 바꿉니다:
model: "gpt-4-vision-preview",이미지 기능이 있는 gpt-4o-mini로:
model: "gpt-4o-mini",기존 메시지 형식은 여전히 텍스트 및 이미지 입력을 보낼 수 있습니다.
업데이트된 요청이 실패하면 먼저 gpt-4o-mini에 텍스트만 보내는 메시지를 보냅니다. 거기서의 성공은 계정이 모델을 사용할 수 있음을 확인하여 메시지의 이미지 부분을 검사할 대상으로 남겨둡니다.
gpt-4o-mini로 바꾸고 텍스트 및 이미지 메시지 형식을 그대로 둡니다. 모델 ID만 변경되었으며 요청의 형태는 아닙니다. 건드리는 줄이 적을수록 깰 수 있는 줄이 적으며, 이는 계속 다시 배우는 교훈입니다! 프로젝트 실행하기
$ npm startVite에서 출력한 Local URL을 엽니다. 이미지 생성 프로젝트에서 프롬프트를 제출하고 페이지에서 생성된 이미지를 찾습니다. 비전 프로젝트에서 이미지와 질문을 제출하고 모델의 텍스트 응답을 찾습니다. .env를 변경한 후 다시 시작하고 Ctrl+C로 프로젝트를 중지합니다.
npm start를 실행하고 Vite가 출력한 로컬 URL을 열고 흐름 끝을 끝까지 시도합니다. 생성된 이미지 또는 비전 회신은 성공 신호이며 모든 시도는 유료 요청입니다. 클릭을 시작하기 전에 테스트 프롬프트를 작성하면 비용과 의심을 절약합니다! 문제 해결
process is not defined: index.js에서 남은 process.env 키 읽기를 import.meta.env.VITE_... 형식으로 바꿉니다.
생성된 이미지가 깨짐: 코드가 b64_json을 읽고 .url을 읽는 대신 data:image/png;base64, 접두사를 추가하는지 확인합니다.
모델을 사용할 수 없음: OpenAI 프로젝트에서 청구, 조직 인증 및 모델 액세스를 확인합니다. 제공자 가용성은 계정에 따라 다를 수 있습니다.
SDK가 브라우저 같은 환경 오류를 보고함: npm install openai@latest는 SDK의 브라우저 가드를 유지하며 이는 브라우저 코드에서 API 키로 실행하기를 거부합니다. 추출이 이미 OpenAI 클라이언트 옵션에서 dangerouslyAllowBrowser: true를 전달하지 않으면 apiKey 줄 옆에 추가합니다. 옵션 이름은 경고입니다: 이는 로컬에서 사용되는 임시 제한 키에만 허용됩니다.
요청은 작동하지만 페이지는 변경되지 않음: 브라우저 콘솔에서 렌더링 오류를 확인하고 반환된 필드를 위의 관련 수정과 비교합니다.
process.env 읽기를 수정하고 모델을 확인한 후 이미지 생성을 위해 b64_json을 확인하거나 렌더링 오류를 위해 브라우저 콘솔을 확인합니다. 여기서 대부분의 실패는 미스터리가 아니라 하나의 완료되지 않은 편집입니다. 평범한 것을 먼저 확인합니다. 습관이 되는 데 너무 오래 걸렸습니다! 
