การถอดเสียงเป็นคำ

Gemini API จะแปลงเสียงพูดในไฟล์เสียงเป็นข้อความโดยใช้โมเดล Gemini 3.5 Transcribe (gemini-3.5-transcribe) โดยอิงตามความสามารถในการทำความเข้าใจเสียงของ Gemini ซึ่งจะให้การถอดเสียงที่แม่นยำพร้อมการระบุภาษาอัตโนมัติ การระบุผู้พูด การประทับเวลาที่ระดับคำ และคำแนะนำคำศัพท์ที่กำหนดเอง นอกจากนี้ยังมีโหมดการถอดเสียงเป็นคำอัจฉริยะที่มาพร้อมการนำคำพูดที่ติดขัดออกและการจัดรูปแบบอัจฉริยะ

หากต้องการถอดเสียงไฟล์เสียง ให้อัปโหลดเสียงและส่งไปยัง gemini-3.5-transcribe

Python

from google import genai

client = genai.Client()

audio_file = client.files.upload(file="path/to/sample.mp3")

interaction = client.interactions.create(
    model="gemini-3.5-transcribe",
    input=[
        {
            "type": "audio",
            "uri": audio_file.uri,
            "mime_type": audio_file.mime_type,
        }
    ],
)

print(interaction.output_text)

JavaScript

import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});

const audioFile = await client.files.upload({
  file: "path/to/sample.mp3",
  config: { mime_type: "audio/mp3" },
});

const interaction = await client.interactions.create({
  model: "gemini-3.5-transcribe",
  input: [
    {
      type: "audio",
      uri: audioFile.uri,
      mime_type: audioFile.mimeType,
    },
  ],
});

console.log(interaction.output_text);

REST

# First upload the file via the Files API, then pass its URI:
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3.5-transcribe",
    "input": [
      {
        "type": "audio",
        "uri": "YOUR_FILE_URI",
        "mime_type": "audio/mp3"
      }
    ]
  }'

ภาพรวม

Gemini 3.5 Transcribe ได้รับการเพิ่มประสิทธิภาพสำหรับงานแปลงเสียงพูดเป็นข้อความ โดยจะจัดการกับสำเนียงที่หลากหลาย เสียงรบกวนรอบข้าง และการสนทนาหลายภาษา

ความสามารถหลักๆ มีดังนี้

  • การรู้จำคำพูดอัตโนมัติ (ASR): ตรวจหาภาษาโดยอัตโนมัติในกว่า 85 ภาษา จัดการการสลับภาษาภายในประโยคและระหว่างประโยคโดยไม่ต้องกำหนดค่าด้วยตนเอง
  • คำศัพท์ที่กำหนดเอง: ช่วยให้ระบบจดจำคำศัพท์ ตัวย่อ และชื่อเฉพาะในโดเมนได้โดยส่งวลีได้สูงสุด 1,000 รายการ
  • การระบุผู้พูด: แยกแยะผู้พูดหลายคนและเชื่อมโยงส่วนที่พูดกับป้ายกำกับที่แตกต่างกัน
  • การประทับเวลาที่ระดับคำ: สร้างออฟเซ็ตเวลาเริ่มต้นและเวลาสิ้นสุดที่แน่นอนสำหรับแต่ละคำที่ระบบจดจำ
  • การถอดเสียงอัจฉริยะ: ล้างคำพูดที่ไม่มีความหมาย การพูดซ้ำ และใช้การจัดรูปแบบที่มีโครงสร้าง
  • การจัดรูปแบบและการทำให้เป็นมาตรฐาน: ใช้การใช้อักษรตัวพิมพ์ใหญ่ เครื่องหมายวรรคตอน และการทำให้ข้อความเป็นมาตรฐานแบบผกผัน เช่น การแปลง "ยี่สิบหกล้านดอลลาร์" เป็น "$26M"

สำหรับการให้เหตุผลเกี่ยวกับเสียงทั่วไปหรือการตอบคำถามเกี่ยวกับเนื้อหาเสียง ให้ใช้การทำความเข้าใจเสียง สำหรับการสังเคราะห์เสียงของการอ่านออกเสียงข้อความ ให้ใช้ Text-to-speech

การตรวจหาภาษาและคำแนะนำ

โดยค่าเริ่มต้น โมเดลจะตรวจจับภาษาที่พูดโดยอัตโนมัติ โดยจะสลับภาษาแบบไดนามิกเมื่อผู้พูดเปลี่ยนภาษา

หากต้องการใช้การตรวจหาอัตโนมัติ ให้ละเว้น language_codes หรือระบุรายการว่าง

Python

interaction = client.interactions.create(
    model="gemini-3.5-transcribe",
    input=[
        {
            "type": "audio",
            "uri": audio_file.uri,
            "mime_type": audio_file.mime_type,
        }
    ],
    generation_config={
        "transcription_config": {
            "language_codes": [],
        }
    },
)

JavaScript

const interaction = await client.interactions.create({
  model: "gemini-3.5-transcribe",
  input: [
    {
      type: "audio",
      uri: audioFile.uri,
      mime_type: audioFile.mimeType,
    },
  ],
  generation_config: {
    transcription_config: {
      language_codes: [],
    },
  },
});

REST

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3.5-transcribe",
    "input": [
      {
        "type": "audio",
        "uri": "YOUR_FILE_URI",
        "mime_type": "audio/mp3"
      }
    ],
    "generation_config": {
      "transcription_config": {
        "language_codes": []
      }
    }
  }'

หากทราบภาษาล่วงหน้า ให้ระบุรหัสภาษา BCP-47 ใน language_codes เพื่อปรับปรุงความแม่นยำของการถอดเสียง (ดูภาษาที่รองรับ)

Python

generation_config = {
    "transcription_config": {
        "language_codes": ["es-ES"],
    }
}

JavaScript

const generationConfig = {
  transcription_config: {
    language_codes: ["es-ES"],
  },
};

REST

{
  "generation_config": {
    "transcription_config": {
      "language_codes": ["es-ES"]
    }
  }
}

คำศัพท์ที่กำหนดเอง

คุณสามารถนำโมเดลการพูดไปยังคำที่ไม่ค่อยมีคนใช้ คำศัพท์เฉพาะทาง ชื่อแบรนด์ หรือคำนามเฉพาะได้ ระบุคำศัพท์ได้สูงสุด 1,000 คำในอาร์เรย์ custom_vocabulary (โดยปกติแล้วการระบุคำศัพท์สูงสุด 100 คำจะให้ผลลัพธ์ที่ดีที่สุด)

Python

interaction = client.interactions.create(
    model="gemini-3.5-transcribe",
    input=[
        {
            "type": "audio",
            "uri": audio_file.uri,
            "mime_type": audio_file.mime_type,
        }
    ],
    generation_config={
        "transcription_config": {
            "custom_vocabulary": ["Gemini", "Kubernetes", "BigQuery"],
        }
    },
)

JavaScript

const interaction = await client.interactions.create({
  model: "gemini-3.5-transcribe",
  input: [
    {
      type: "audio",
      uri: audioFile.uri,
      mime_type: audioFile.mimeType,
    },
  ],
  generation_config: {
    transcription_config: {
      custom_vocabulary: ["Gemini", "Kubernetes", "BigQuery"],
    },
  },
});

REST

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3.5-transcribe",
    "input": [
      {
        "type": "audio",
        "uri": "YOUR_FILE_URI",
        "mime_type": "audio/mp3"
      }
    ],
    "generation_config": {
      "transcription_config": {
        "custom_vocabulary": ["Gemini", "Kubernetes", "BigQuery"]
      }
    }
  }'

การแยกแยะเสียงผู้พูด

การระบุผู้พูดจะระบุเสียงที่แตกต่างกันในการบันทึกและติดแท็กแต่ละส่วนด้วยตัวระบุผู้พูด เช่น spk_1 หรือ spk_2 รองรับลำโพงสูงสุด 8 ตัว (การระบุแหล่งที่มาสำหรับลำโพงตั้งแต่ 3 ตัวขึ้นไปเป็นเวอร์ชันทดลอง)

เปิดใช้การแยกแยะเสียงผู้พูดโดยกำหนดค่า diarization_mode ภายใน mode ดังนี้

Python

interaction = client.interactions.create(
    model="gemini-3.5-transcribe",
    input=[
        {
            "type": "audio",
            "uri": audio_file.uri,
            "mime_type": audio_file.mime_type,
        }
    ],
    generation_config={
        "transcription_config": {
            "mode": {
                "type": "verbatim",
                "diarization_mode": "speaker",
            },
        }
    },
)

JavaScript

const interaction = await client.interactions.create({
  model: "gemini-3.5-transcribe",
  input: [
    {
      type: "audio",
      uri: audioFile.uri,
      mime_type: audioFile.mimeType,
    },
  ],
  generation_config: {
    transcription_config: {
      mode: {
        type: "verbatim",
        diarization_mode: "speaker",
      },
    },
  },
});

REST

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3.5-transcribe",
    "input": [
      {
        "type": "audio",
        "uri": "YOUR_FILE_URI",
        "mime_type": "audio/mp3"
      }
    ],
    "generation_config": {
      "transcription_config": {
        "mode": {
          "type": "verbatim",
          "diarization_mode": "speaker"
        }
      }
    }
  }'

การประทับเวลาระดับคำ

การประทับเวลาระดับคำจะระบุออฟเซ็ตเริ่มต้นและสิ้นสุดที่แน่นอนสำหรับทุกคำที่ระบบจดจำได้ในสตรีมเสียง

เปิดใช้การประทับเวลาโดยกำหนดค่า timestamp_granularities ภายใน mode ดังนี้

Python

interaction = client.interactions.create(
    model="gemini-3.5-transcribe",
    input=[
        {
            "type": "audio",
            "uri": audio_file.uri,
            "mime_type": audio_file.mime_type,
        }
    ],
    generation_config={
        "transcription_config": {
            "mode": {
                "type": "verbatim",
                "timestamp_granularities": ["word"],
            },
        }
    },
)

JavaScript

const interaction = await client.interactions.create({
  model: "gemini-3.5-transcribe",
  input: [
    {
      type: "audio",
      uri: audioFile.uri,
      mime_type: audioFile.mimeType,
    },
  ],
  generation_config: {
    transcription_config: {
      mode: {
        type: "verbatim",
        timestamp_granularities: ["word"],
      },
    },
  },
});

REST

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3.5-transcribe",
    "input": [
      {
        "type": "audio",
        "uri": "YOUR_FILE_URI",
        "mime_type": "audio/mp3"
      }
    ],
    "generation_config": {
      "transcription_config": {
        "mode": {
          "type": "verbatim",
          "timestamp_granularities": ["word"]
        }
      }
    }
  }'

คุณสามารถใช้ diarization_mode และ timestamp_granularities ร่วมกันใน mode เพื่อรับทั้งป้ายกำกับผู้พูดและการประทับเวลาคำได้โดยทำดังนี้

Python

generation_config = {
    "transcription_config": {
        "custom_vocabulary": ["Gemini"],
        "mode": {
            "type": "verbatim",
            "diarization_mode": "speaker",
            "timestamp_granularities": ["word"],
        },
    }
}

JavaScript

const generationConfig = {
  transcription_config: {
    custom_vocabulary: ["Gemini"],
    mode: {
      type: "verbatim",
      diarization_mode: "speaker",
      timestamp_granularities: ["word"],
    },
  },
};

REST

{
  "generation_config": {
    "transcription_config": {
      "custom_vocabulary": ["Gemini"],
      "mode": {
        "type": "verbatim",
        "diarization_mode": "speaker",
        "timestamp_granularities": ["word"]
      }
    }
  }
}

โหมดการถอดเสียงเป็นคำ

Gemini 3.5 Transcribe รองรับโหมดการถอดเสียงเป็นคำ 2 โหมดผ่านพารามิเตอร์ mode ดังนี้

  • verbatim (ค่าเริ่มต้น): แสดงข้อความถอดเสียงแบบคำต่อคำที่ตรงกันทุกประการของทุกสิ่งที่พูด โดยจะเก็บคำฟุ่มเฟือยดิบ ("เอ่อ", "อืม", "แบบว่า", "ก็") การพูดซ้ำ การหยุดชั่วคราว และการพูดติดขัด การประทับเวลาและการแยกแยะเสียงผู้พูดจะได้รับการกำหนดค่าภายในโหมดนี้ ({"type": "verbatim", ...})
  • smart (การถอดเสียงอัจฉริยะ): เพิ่มประสิทธิภาพข้อความถอดเสียงสำหรับการอ่านโดยใช้การประมวลผลหลังการประมวลผลอัจฉริยะ
    • การนำคำพูดที่ติดขัดออก: นำคำพูดที่ใช้เติมระหว่างการสนทนา อาการพูดติดอ่าง และการเริ่มต้นที่ไม่ถูกต้องออก
    • การแก้ไขตัวเองในบรรทัด: แก้ไขคำที่พูดผิดโดยตรง (เช่น "มาเจอกันวันอังคาร ไม่สิ วันพุธตอน 14:00 น." จะกลายเป็น "มาเจอกันวันพุธตอน 14:00 น.")
    • การจัดรูปแบบที่มีโครงสร้างอัตโนมัติ: จัดโครงสร้างความคิดที่พูดเป็นย่อหน้า รายการที่มีหมายเลข หัวข้อย่อย วันที่ สกุลเงิน และตัวเลขที่จัดรูปแบบโดยอัตโนมัติ
    • การแก้ไขไวยากรณ์: ใช้เครื่องหมายวรรคตอน ตัวพิมพ์ของประโยค และลำดับการพูดอย่างเป็นธรรมชาติ
เสียงพูด verbatim เอาต์พุต smart เอาต์พุต (การถอดเสียงอัจฉริยะ)
"เอ่อ สำหรับการประชุม ฉันคิดว่าเราควรเชิญ เอ่อ ขวัญใจและ เอ่อ ไม่ใช่ บัญชากับแคโรล" "เอ่อ สำหรับการประชุม ฉันคิดว่าเราควรเชิญอลิซ เอ่อ ไม่ใช่ บ็อบกับแครอล" "สำหรับการประชุม ฉันคิดว่าเราควรเชิญบ็อบและแครอล"
"รายการแรกตรวจสอบงบประมาณ รายการที่สองกำหนดไทม์ไลน์ รายการที่สามส่งสรุป" "first item review budget second item finalize timeline third item send recap" "1. ตรวจสอบงบประมาณ
2. สรุปไทม์ไลน์
3. ส่งสรุป"

Python

interaction = client.interactions.create(
    model="gemini-3.5-transcribe",
    input=[
        {
            "type": "audio",
            "uri": audio_file.uri,
            "mime_type": audio_file.mime_type,
        }
    ],
    generation_config={
        "transcription_config": {
            "mode": "smart",
        }
    },
)
print(interaction.output_text)

JavaScript

const interaction = await client.interactions.create({
  model: "gemini-3.5-transcribe",
  input: [
    {
      type: "audio",
      uri: audioFile.uri,
      mime_type: audioFile.mimeType,
    },
  ],
  generation_config: {
    transcription_config: {
      mode: "smart",
    },
  },
});
console.log(interaction.output_text);

REST

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3.5-transcribe",
    "input": [
      {
        "type": "audio",
        "uri": "YOUR_FILE_URI",
        "mime_type": "audio/mp3"
      }
    ],
    "generation_config": {
      "transcription_config": {
        "mode": "smart"
      }
    }
  }'

การแยกวิเคราะห์เอาต์พุตการถอดเสียงเป็นคำ

ระบบจะแสดงข้อความถอดเสียงทั้งหมดใน interaction.output_text

เมื่อเปิดใช้ timestamp_granularities หรือ diarization_mode API จะแสดงคำอธิบายประกอบระดับคำแบบละเอียดที่แนบมากับเนื้อหาการโต้ตอบด้วย

วิธีแยกและวนซ้ำการประทับเวลาของคำและการเปลี่ยนลำโพงมีดังนี้

Python

def extract_word_annotations(interaction):
    words = []
    for step in getattr(interaction, "steps", []) or []:
        for content in getattr(step, "content", []) or []:
            for annotation in getattr(content, "annotations", []) or []:
                if getattr(annotation, "type", None) == "word_info":
                    words.append(annotation)
    return words

words = extract_word_annotations(interaction)

for w in words:
    speaker = f"[{w.speaker}] " if getattr(w, "speaker", None) else ""
    start = getattr(w, "start_offset", "")
    end = getattr(w, "end_offset", "")
    timing = f"({start} -> {end}) " if start and end else ""
    print(f"{speaker}{timing}{w.text}")

JavaScript

function extractWordAnnotations(interaction) {
  const words = [];
  for (const step of interaction.steps ?? []) {
    for (const content of step.content ?? []) {
      for (const annotation of content.annotations ?? []) {
        if (annotation.type === "word_info") {
          words.push(annotation);
        }
      }
    }
  }
  return words;
}

const words = extractWordAnnotations(interaction);

for (const w of words) {
  const speaker = w.speaker ? `[${w.speaker}] ` : "";
  const timing = (w.start_offset && w.end_offset) ? `(${w.start_offset} -> ${w.end_offset}) ` : "";
  console.log(`${speaker}${timing}${w.text}`);
}

REST

{
  "id": "interactions/abc123xyz",
  "status": "completed",
  "steps": [
    {
      "id": "step_001",
      "type": "model_output",
      "content": [
        {
          "type": "text",
          "text": "Hello world",
          "annotations": [
            {
              "type": "word_info",
              "text": "Hello",
              "speaker": "spk_1",
              "start_offset": "0.100s",
              "end_offset": "0.450s"
            },
            {
              "type": "word_info",
              "text": "world",
              "speaker": "spk_1",
              "start_offset": "0.500s",
              "end_offset": "0.850s"
            }
          ]
        }
      ]
    }
  ]
}

ภาษาที่รองรับ

Gemini 3.5 Transcribe รองรับภาษาและรหัสภาษา BCP-47 ต่อไปนี้

ภาษา รหัส BCP-47 ภาษา รหัส BCP-47
อาฟรีกานส์ af-ZA ญี่ปุ่น ja-JP
อัมฮาริก am-ET ชวา jv-ID
อาหรับ (อียิปต์) ar-EG คาบูเวอร์เดียนู kea-CV
อาร์เมเนีย hy-AM กันนาดา kn-IN
อัสสัม as-IN คาซัค kk-KZ
อาร์เซอร์ไบจัน az-AZ เกาหลี ko-KR
เบลารุส be-BY คีร์กิซ ky-KG
เบงกาลี (บังกลาเทศ) bn-BD ลัตเวีย lv-LV
เบงกาลี (อินเดีย) bn-IN ลิงกาลา ln-CD
บอสเนีย bs-BA ลิทัวเนีย lt-LT
บัลแกเรีย bg-BG มาซีโดเนีย mk-MK
บัลแกเรีย (อโรมาเนีย) rup-BG มาเลย์ ms-MY
พม่า my-MM มาลายาลัม ml-IN
กวางตุ้ง (ตัวเต็ม) yue-Hant-HK มอลตา mt-MT
คาตาลัน ca-ES จีนกลาง (ตัวย่อ) cmn-Hans-CN
ซีบัวโน ceb มราฐี mr-IN
เขมรตอนกลาง km-KH มองโกเลีย mn-MN
โครเอเชีย hr-HR เนปาล ne-NP
เช็ก cs-CZ นอร์เวย์ nb-NO
เดนมาร์ก da-DK โอริยา or-IN
ดัตช์ nl-NL โปแลนด์ pl-PL
อังกฤษ (บริเตนใหญ่) en-GB โปรตุเกส (บราซิล) pt-BR
อังกฤษ (อินเดีย) en-IN โปรตุเกส (โปรตุเกส) pt-PT
อังกฤษ (สหรัฐอเมริกา) en-US ปัญจาบ pa-IN
เอสโตเนีย et-EE ปัญจาบ (อักษรกูร์มุคี) pa-Guru-IN
ฟาร์ซี fa-IR โรมาเนีย ro-RO
ฟิลิปปินส์ fil-PH รัสเซีย ru-RU
ฟินแลนด์ fi-FI เซอร์เบีย sr-RS
ฝรั่งเศส fr-FR ภาษาสินธี (อักษรอาหรับ) sd-Arab-IN
กาลิเชียน gl-ES สโลวัก sk-SK
จอร์เจีย ka-GE สโลวีเนีย sl-SI
เยอรมัน de-DE สเปน (ลาตินอเมริกา) es-419
กรีก el-GR สเปน (สหรัฐอเมริกา) es-US
คุชราต gu-IN สวาฮีลี (เคนยา) sw-KE
เฮาซา ha-NG สวีเดน sv-SE
ฮีบรู he-IL ทาจิก tg-TJ
ฮินดี hi-IN เตลูกู te-IN
ฮังการี hu-HU ไทย th-TH
ไอซ์แลนด์ is-IS ตุรกี tr-TR
อังกฤษ (อินเดีย) en-IN ยูเครน uk-UA
อินโดนีเซีย id-ID อุซเบก uz-UZ
อิตาลี it-IT เวียดนาม vi-VN

ข้อมูลอ้างอิงพารามิเตอร์

กำหนดค่าการถอดเสียงเป็นคำโดยการตั้งค่าฟิลด์ภายในออบเจ็กต์ transcription_config ใน generation_config ดังนี้

ช่อง ประเภท คำอธิบาย
language_codes อาร์เรย์ของสตริง รหัสภาษา BCP-47 (เช่น ["en-US"]) หากเว้นว่างหรือไม่มีข้อมูล ([]) โมเดลจะตรวจหาภาษาโดยอัตโนมัติและจัดการการสลับภาษา
custom_vocabulary อาร์เรย์ของสตริง คำที่กำหนดเอง ตัวย่อ หรือชื่อเฉพาะสูงสุด 1,000 รายการเพื่อปรับการจดจำเสียง
mode Object หรือ String การกำหนดค่าโหมดการถอดเสียงเป็นคำ ยอมรับ "smart" หรือออบเจ็กต์โหมดตรงตามคำ ({"type": "verbatim", ...}) ค่าเริ่มต้นคือการถอดเสียงตรงตามคำ
mode.type สตริง (โหมดตรงตามคำพูดเท่านั้น) ตัวระบุโหมด ตั้งค่าเป็น "verbatim" เสมอ
mode.timestamp_granularities อาร์เรย์ของสตริง (โหมดตามตัวอักษรเท่านั้น) รายละเอียดของการประทับเวลาที่จะแสดง ส่ง ["word"] เพื่อเปิดใช้การชดเชยจุดเริ่มต้นและจุดสิ้นสุดของคำ
mode.diarization_mode สตริง (โหมดตรงตามต้นฉบับเท่านั้น) โหมดการระบุผู้พูด ส่ง "speaker" เพื่อระบุและติดป้ายกำกับผู้พูดแต่ละคน

แนวทางปฏิบัติแนะนำ

  • จัดเตรียมเสียงที่ชัดเจน: ตรวจสอบว่าไฟล์บันทึกเสียงมีการแยกเสียงพูดที่ชัดเจนและหลีกเลี่ยงการตัดเสียงที่รุนแรง
  • ระบุคำแนะนำเกี่ยวกับภาษาเมื่อทราบ: หากทราบภาษาของเสียงล่วงหน้า ให้ระบุ language_codes เพื่อเพิ่มความแม่นยำให้สูงสุด
  • คำศัพท์ที่กำหนดเองเป้าหมาย: ใส่เฉพาะคำในโดเมน ชื่อแบรนด์ หรือคำนามเฉพาะที่แตกต่างกันใน custom_vocabulary แทนที่จะใช้คำทั่วไปในชีวิตประจำวัน
  • ใช้ Files API สำหรับไฟล์บันทึกขนาดใหญ่: สำหรับไฟล์ที่ยาวกว่า 2-3 วินาที ให้อัปโหลดไฟล์โดยใช้ client.files.upload และส่ง URI ของไฟล์ที่ส่งคืนไปยังโมเดล

ข้อจำกัด

  • ระยะเวลาเสียง: คำขอแบบเอกภาคมาตรฐานรองรับไฟล์เสียงได้นานสูงสุด 1 ชั่วโมง การประมวลผลเสียงจะจำกัดไว้ที่ 30 นาทีเมื่อเปิดใช้ฟีเจอร์ต่างๆ เช่น การระบุผู้พูดหรือการประทับเวลาที่ระดับคำ
  • การประทับเวลาที่ระดับคำ: การเปิดใช้การประทับเวลาที่ระดับคำอาจลดความแม่นยำในการถอดเสียงเป็นคำโดยรวม
  • การแยกแยะเสียงผู้พูด: การแยกแยะเสียงผู้พูดรองรับผู้พูดได้สูงสุด 8 คน การระบุแหล่งที่มาของลำโพงสำหรับลำโพง 3 ตัวขึ้นไปอยู่ในขั้นทดลอง
  • คำศัพท์ที่กำหนดเอง: คุณระบุคำได้สูงสุด 1,000 คำใน custom_vocabulary แต่โดยปกติแล้วจะให้ผลลัพธ์ที่ดีที่สุดเมื่อใช้คำไม่เกิน 100 คำ
  • ความเข้ากันได้ของโหมด: การถอดเสียงอัจฉริยะ ("smart") ไม่สามารถใช้ร่วมกับ timestamp_granularities หรือ diarization_mode ได้

ขั้นตอนถัดไป