Sample code for 30+ languages & platforms
Swift

OpenAI (ChatGPT) Create Transcription

See more OpenAI ChatGPT Examples

Show how to transcribe audio to text.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    let http = CkoHttp()!

    // Implements the following CURL command:

    // curl https://api.openai.com/v1/audio/transcriptions \
    //   -H "Authorization: Bearer $OPENAI_API_KEY" \
    //   -H "Content-Type: multipart/form-data" \
    //   -F file="@/path/to/file/audio.mp3" \
    //   -F model="whisper-1"

    // Use the following online tool to generate HTTP code from a CURL command
    // Convert a cURL Command to HTTP Source Code

    let req = CkoHttpRequest()!
    req.httpVerb = "POST"
    req.path = "/v1/audio/transcriptions"
    req.contentType = "multipart/form-data"
    success = req.addFile(forUpload2: "file", path: "qa_data/mp3/Conversation-with-39-year-old-male-Virginia_afccal000227_001_00-03-37.mp3", contentType: "audio/mpeg")

    req.addParam(name: "model", value: "whisper-1")

    req.addHeader(name: "Expect", value: "100-continue")
    // This is NOT a real key.  Change the "sk-vi...." to your own key.
    req.addHeader(name: "Authorization", value: "Bearer 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")

    let resp = CkoHttpResponse()!
    success = http.httpSReq(domain: "api.openai.com", port: 443, ssl: true, request: req, response: resp)
    if success == false {
        print("\(http.lastErrorText!)")
        return
    }

    let sbResponseBody = CkoStringBuilder()!
    resp.getBodySb(sb: sbResponseBody)

    let jResp = CkoJsonObject()!
    jResp.loadSb(sb: sbResponseBody)
    jResp.emitCompact = false

    print("Response Body:")
    print("\(jResp.emit()!)")

    var respStatusCode: Int = resp.statusCode.intValue
    print("Response Status Code = \(respStatusCode)")
    if respStatusCode >= 400 {
        print("Response Header:")
        print("\(resp.header!)")
        print("Failed.")
        return
    }

    // Sample JSON response:
    // (Sample code for parsing the JSON response is shown below)

    // {
    //   "text": "Imagine the wildest idea that you've ever had, and you're curious about how it might scale to something that's a 100, a 1,000 times bigger. This is a place where you can get to do that."
    // }

    // Sample code for parsing the JSON response...
    // Use the following online tool to generate parsing code from sample JSON:
    // Generate Parsing Code from JSON

    var text: String? = jResp.string(of: "text")

}