`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: 'ArrayUint8Array, 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: 'Arrayimages 키와 같은 길이의 배열인 images 키가 항상 포함됩니다. 세부 내용은 프로바이더에 따라 다릅니다.',
},
{
name: 'responses',
type: 'Array
더 알아보기 (Learn more)
- generateText
- streamText
- embed
- embedMany
- rerank
- generateImage
- experimental_streamTranscribe
- experimental_streamTranslate
- transcribe
- generateSpeech
- experimental_generateVideo
- experimental_evaluate
- uploadFile
- uploadSkill
- Agent (Interface)
- ToolLoopAgent
- createAgentUIStream
- createAgentUIStreamResponse
- pipeAgentUIStreamToResponse
- experimental_startBatch
- tool
- experimental_getBatchStatus
- dynamicTool
- experimental_getBatchResults
- experimental_cancelBatch
- createMCPClient
- experimental_getRealtimeToolDefinitions
- toolSearch
- experimental_listBatches
- MCP Apps
- Experimental_StdioMCPTransport
- jsonSchema
- zodSchema
- valibotSchema
- Output
- filterActiveTools
- ModelMessage
- UIMessage
- validateUIMessages
- safeValidateUIMessages
- Experimental_SandboxSession
- createProviderRegistry
- customProvider
- cosineSimilarity
- wrapLanguageModel
- wrapImageModel
- LanguageModelV4Middleware
- extractReasoningMiddleware
- simulateStreamingMiddleware
- defaultInstructionsMiddleware
- defaultSettingsMiddleware
- addToolInputExamplesMiddleware
- extractJsonMiddleware
- isStepCount
- hasToolCall
- isLoopFinished
- simulateReadableStream
- smoothStream
- generateId
- createIdGenerator
- DefaultGeneratedFile