멀티모달 응답

Gemini 2.0 Flash는 텍스트, 음성, 이미지를 비롯한 다양한 모달에서 응답 생성을 지원합니다.

텍스트 생성

Gemini 2.0 Flash는 Google Cloud 콘솔, REST API, 지원되는 SDK를 사용하여 텍스트 생성을 지원합니다. 자세한 내용은 텍스트 생성 가이드를 참고하세요.

음성 생성 (비공개 실험용)

Gemini 2.0은 새로운 멀티모달 생성 기능인 텍스트 음성 변환을 지원합니다. 텍스트 음성 변환 기능을 사용하면 모델에 인간의 음성처럼 들리는 고품질 오디오 출력 (say "hi everyone")을 생성하도록 요청할 수 있으며, 음성을 조정하여 출력을 더욱 세부적으로 조정할 수 있습니다.

음성 생성

다음 섹션에서는 Vertex AI Studio 또는 API를 사용하여 음성을 생성하는 방법을 설명합니다.

프롬프트에 관한 안내 및 권장사항은 멀티모달 프롬프트 설계를 참고하세요.

Vertex AI Studio 사용

음성 생성을 사용하려면 다음 단계를 따르세요.

  1. Vertex AI Studio > Freeform을 엽니다.
  2. 모델 드롭다운 메뉴에서 gemini-2.0-flash-exp을 선택합니다.
  3. 응답 패널의 드롭다운 메뉴에서 오디오를 선택합니다.
  4. 프롬프트 패널의 텍스트 영역에 생성하려는 음성의 설명을 작성합니다.
  5. 프롬프트 () 버튼을 클릭합니다.

Gemini가 설명을 기반으로 음성을 생성합니다. 이 프로세스는 몇 초 정도 걸리지만 용량에 따라 비교적 느릴 수 있습니다.*

API 사용

요청 본문을 request.json 파일에 저장합니다. 터미널에서 다음 명령어를 실행하여 현재 디렉터리에 이 파일을 만들거나 덮어씁니다.

cat << EOF > request.json
{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Say, 'How are you?'" }
      ]
    }
  ],
  "generation_config": {
    "response_modalities": [
      "AUDIO""
    ]
  },
  "safety_settings": [
    {
      "category": "HARM_CATEGORY_HATE_SPEECH",
      "threshold": "BLOCK_NONE"
    },
    {
      "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
      "threshold": "BLOCK_NONE"
    },
    {
      "category": "HARM_CATEGORY_HARASSMENT",
      "threshold": "BLOCK_NONE"
    },
    {
      "category":
      "HARM_CATEGORY_SEXUALLY_EXPLICIT",
      "threshold": "BLOCK_NONE"
    }
  ]
}
EOF

그런 후 다음 명령어를 실행하여 REST 요청을 전송합니다.

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/gemini-2.0-flash-exp:generateContent" \
     -d $"@request.json"

Gemini가 설명을 바탕으로 오디오를 생성합니다. 이 프로세스는 몇 초 정도 걸리지만 용량에 따라 비교적 느릴 수 있습니다.

이미지 생성 (공개 실험 버전)

Gemini 2.0 Flash 실험용 이미지 생성 (gemini-2.0-flash-exp)은 텍스트 외에도 이미지를 생성하는 기능을 지원합니다. 이렇게 하면 Gemini의 기능이 다음을 포함하도록 확장됩니다.

  • 자연어로 대화를 통해 이미지를 반복적으로 생성하여 일관성과 맥락을 유지하면서 이미지를 조정합니다.
  • 고품질 긴 텍스트 렌더링으로 이미지를 생성합니다.
  • 교차된 텍스트-이미지 출력을 생성합니다. 예를 들어 텍스트와 이미지가 한 번에 표시되는 블로그 게시물 이전에는 여러 모델을 연결해야 했습니다.
  • Gemini의 세계 지식 및 추론 기능을 사용하여 이미지를 생성합니다.

이 공개 실험 버전을 통해 Gemini 2.0 Flash 실험용 이미지 생성은 1024픽셀로 이미지를 생성할 수 있고, 사람의 이미지 생성 및 수정을 지원하며, 더 유연하고 제한적이지 않은 사용자 환경을 제공하는 업데이트된 안전 필터를 포함합니다.

다음과 같은 모달리티와 기능을 지원합니다.

  • 텍스트 이미지 변환

    • 프롬프트 예: '배경에 불꽃놀이가 있는 에펠탑 이미지를 생성해 줘'
  • 텍스트 이미지 변환 (텍스트 렌더링)

    • 프롬프트 예: '건물 전면에 매핑된 거대한 텍스트 프로젝션이 있는 대형 건물의 시네마틱 사진을 생성하세요. '이제 Gemini 2.0으로 긴 형식의 텍스트를 생성할 수 있습니다.'
  • 텍스트를 이미지 및 텍스트로 변환(교차)

    • 프롬프트 예: '파에야에 관한 그림이 있는 레시피를 생성해 줘. 레시피를 생성할 때 텍스트와 함께 이미지를 만듭니다."
    • 프롬프트 예: '3D 만화 애니메이션 스타일로 강아지에 관한 이야기를 만들어 줘. 각 장면에서 이미지를 생성합니다.'
  • 이미지 및 텍스트를 이미지 및 텍스트(교차)로 변환

    • 프롬프트 예: (가구가 비치된 방의 이미지 포함) "내 공간에 어울리는 다른 색상의 소파가 있나요? 이미지를 업데이트해 주시겠어요?"
  • 이미지 편집 (텍스트 및 이미지 간)

    • 프롬프트 예시: '이 이미지를 만화처럼 보이도록 수정하세요.'
    • 프롬프트 예: [고양이 이미지] + [베개 이미지] + '이 베개에 내 고양이의 크로스 스티치를 만들어 줘.'
  • 멀티턴 이미지 편집 (채팅)

    • 프롬프트 예: [파란색 자동차 이미지를 업로드하세요.] "이 차를 컨버터블로 바꿔 줘." "이제 색상을 노란색으로 변경하세요."

제한사항:

  • 최상의 성능을 위해 다음 언어를 사용하세요. EN, es-MX, ja-JP, zh-CN, hi-IN
  • 이미지 생성은 오디오 또는 동영상 입력을 지원하지 않습니다.
  • 이미지 생성이 항상 트리거되지는 않을 수 있습니다.
    • 모델은 텍스트만 출력할 수 있습니다. 이미지 출력을 명시적으로 요청해 보세요. 예를 들어 '진행하면서 이미지를 제공하세요.'
    • 모델은 텍스트를 이미지로 생성할 수 있습니다. 텍스트 출력을 명시적으로 요청해 보세요. 예를 들어 '삽화와 함께 서술 텍스트 생성'
    • 모델이 생성을 중단할 수 있습니다. 다시 시도하거나 다른 프롬프트를 사용해 보세요.

이미지 생성

다음 섹션에서는 Vertex AI Studio 또는 API를 사용하여 이미지를 생성하는 방법을 설명합니다.

프롬프트에 관한 안내 및 권장사항은 멀티모달 프롬프트 설계를 참고하세요.

Vertex AI Studio 사용

이미지 생성을 사용하려면 다음 단계를 따르세요.

  1. Vertex AI Studio > Freeform을 엽니다.
  2. 모델 드롭다운 메뉴에서 gemini-2.0-flash-exp을 선택합니다.
  3. 응답 패널의 드롭다운 메뉴에서 이미지 및 텍스트를 선택합니다.
  4. 프롬프트 패널의 텍스트 영역에 생성할 이미지의 설명을 작성합니다.
  5. 프롬프트 () 버튼을 클릭합니다.

Gemini가 설명을 기반으로 이미지를 생성합니다. 이 프로세스는 몇 초 정도 걸리지만 용량에 따라 비교적 느릴 수 있습니다.

API 사용

요청 본문을 request.json 파일에 저장합니다. 터미널에서 다음 명령어를 실행하여 현재 디렉터리에 이 파일을 만들거나 덮어씁니다.

cat << EOF > request.json
{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Generate an image of a cat." }
      ]
    }
  ],
  "generation_config": {
    "response_modalities": [
      "IMAGE", "TEXT"
    ]
  },
  "safety_settings": [
    {
      "category": "HARM_CATEGORY_HATE_SPEECH",
      "threshold": "BLOCK_NONE"
    },
    {
      "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
      "threshold": "BLOCK_NONE"
    },
    {
      "category": "HARM_CATEGORY_HARASSMENT",
      "threshold": "BLOCK_NONE"
    },
    {
      "category":
      "HARM_CATEGORY_SEXUALLY_EXPLICIT",
      "threshold": "BLOCK_NONE"
    }
  ]
}
EOF

그런 후 다음 명령어를 실행하여 REST 요청을 전송합니다.

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/gemini-2.0-flash-exp:generateContent" \
     -d $"@request.json"

Gemini가 설명을 기반으로 이미지를 생성합니다. 이 프로세스는 몇 초 정도 걸리지만 용량에 따라 비교적 느릴 수 있습니다.