`generateImage()`

generateImage()

이미지 모델을 사용해 주어진 프롬프트를 기반으로 이미지를 생성하는 함수예요. 시각 콘텐츠를 만들거나 데이터 증강용 이미지를 생성하는 것처럼, 프로그래밍 방식으로 이미지를 만들어야 하는 곳에 딱 알맞아요.

출처: 문서

본문

이미지 모델을 사용해 주어진 프롬프트를 기반으로 이미지를 생성합니다.

시각 콘텐츠 생성이나 데이터 증강용 이미지 생성처럼 이미지를 프로그래밍 방식으로 생성해야 하는 사용 사례에 적합합니다.

import { generateImage } from 'ai';
__PROVIDER_IMPORT__;

const { images } = await generateImage({
  model: __IMAGE_MODEL__,
  prompt: 'A futuristic cityscape at sunset',
  n: 3,
  size: '1024x1024',
});

console.log(images);

Import

import { generateImage } from "ai"

API 시그니처 (API Signature)

Parameters (매개변수)

<PropertiesTable content={[ { name: 'model', type: 'ImageModelV4', description: '사용할 이미지 모델.', }, { name: 'prompt', type: 'string | GenerateImagePrompt', description: '이미지를 생성할 입력 프롬프트.', properties: [ { type: 'GenerateImagePrompt', type: 'object', description: '이미지 편집용 프롬프트 객체', parameters: [ { name: 'images', type: 'Array', description: '이미지 항목은 다음 중 하나일 수 있습니다: base64로 인코딩된 문자열, Uint8Array, ArrayBuffer, 또는 Buffer.', }, { name: 'text', type: 'string', description: '텍스트 프롬프트.', }, { name: 'mask', type: 'DataContent', description: 'base64로 인코딩된 문자열, Uint8Array, ArrayBuffer, 또는 Buffer.', }, ], }, ], }, { name: 'n', type: 'number', isOptional: true, description: '생성할 이미지 수.', }, { name: 'size', type: 'string', isOptional: true, description: '생성할 이미지의 크기. 형식: {width}x{height}.', }, { name: 'aspectRatio', type: 'string', isOptional: true, description: '생성할 이미지의 가로세로 비율. 형식: {width}:{height}.', }, { name: 'seed', type: 'number', isOptional: true, description: '이미지 생성용 시드(seed).', }, { name: 'providerOptions', type: 'ProviderOptions', isOptional: true, description: '추가적인 프로바이더별 옵션.', }, { name: 'maxImagesPerCall', type: 'number', isOptional: true, description: 'API 호출당 생성할 최대 이미지 수. n이 이 값을 초과하면 여러 번의 API 호출이 이루어집니다.', }, { name: 'maxRetries', type: 'number', isOptional: true, description: '이미지 모델 호출당 최대 재시도 횟수. 프로바이더가 재시도 불가로 표시한 빈 응답 이후의 재시도를 포함합니다. 프로바이더가 재시도 불가로 표시한 빈 응답은 재시도되지 않습니다. 기본값: 2.', }, { name: 'abortSignal', type: 'AbortSignal', isOptional: true, description: '호출을 취소할 선택적 abort signal.', }, { name: 'headers', type: 'Record<string, string>', isOptional: true, description: '요청에 대한 추가 HTTP 헤더.', }, ]} />

Returns (반환값)

<PropertiesTable content={[ { name: 'image', type: 'GeneratedFile', description: '생성된 첫 번째 이미지.', properties: [ { type: 'GeneratedFile', parameters: [ { name: 'base64', type: 'string', description: 'base64로 인코딩된 문자열 이미지.', }, { name: 'uint8Array', type: 'Uint8Array', description: 'Uint8Array 형태의 이미지.', }, { name: 'mediaType', type: 'string', description: '이미지의 IANA 미디어 타입.', }, ], }, ], }, { name: 'images', type: 'Array', description: '생성된 모든 이미지.', properties: [ { type: 'GeneratedFile', parameters: [ { name: 'base64', type: 'string', description: 'base64로 인코딩된 문자열 이미지.', }, { name: 'uint8Array', type: 'Uint8Array', description: 'Uint8Array 형태의 이미지.', }, { name: 'mediaType', type: 'string', description: '이미지의 IANA 미디어 타입.', }, ], }, ], }, { name: 'warnings', type: 'Warning[]', description: '모델 프로바이더의 경고(예: 지원되지 않는 설정).', }, { name: 'usage', type: 'ImageModelUsage', description: '이미지 생성에 대한 사용 통계.', properties: [ { type: 'ImageModelUsage', parameters: [ { name: 'imagesGenerated', type: 'number', description: '생성된 총 이미지 수.', }, ], }, ], }, { name: 'providerMetadata', type: 'ImageModelProviderMetadata', isOptional: true, description: '프로바이더의 선택적 메타데이터. 바깥 키는 프로바이더 이름입니다. 안쪽 값은 메타데이터입니다. 메타데이터에는 최상위 images 키와 같은 길이의 배열인 images 키가 항상 포함됩니다. 세부 내용은 프로바이더에 따라 다릅니다.', }, { name: 'responses', type: 'Array', description: '프로바이더의 응답 메타데이터. 모델에 여러 번 호출했다면 여러 응답이 있을 수 있습니다.', properties: [ { type: 'ImageModelResponseMetadata', parameters: [ { name: 'timestamp', type: 'Date', description: '생성된 응답 시작 시각.', }, { name: 'modelId', type: 'string', description: '응답을 생성하는 데 사용된 응답 모델의 ID.', }, { name: 'headers', type: 'Record<string, string>', isOptional: true, description: '응답 헤더.', }, ], }, ], }, ]} />

더 알아보기 (Learn more)

전체 사이트맵