All Products
Search
Document Center

Object Storage Service:Penyesuaian nada dokumen cerdas

Last Updated:Aug 22, 2026

Fitur penyesuaian nada dokumen cerdas menyesuaikan nada dan struktur kalimat dokumen agar terdengar lebih profesional, santai, atau langsung.

Prasyarat

Proyek Intelligent Media Management (IMM) telah disambungkan ke bucket Object Storage Service (OSS). Untuk informasi selengkapnya tentang cara menyambungkan proyek melalui Konsol OSS, lihat Getting started. Untuk informasi selengkapnya tentang cara menyambungkan proyek dengan memanggil operasi API, lihat AttachOSSBucket.

Catatan penggunaan

  • Fitur penyesuaian nada dokumen cerdas hanya mendukung pemrosesan sinkron menggunakan parameter `x-oss-process`.

  • Anda harus mengirim permintaan menggunakan metode POST.

  • Akses anonim akan ditolak.

  • Anda harus memiliki izin yang diperlukan untuk menggunakan fitur ini. Untuk informasi selengkapnya, lihat permissions.

Parameter

Action: doc/rephrase

Tabel berikut menjelaskan parameter tersebut.

Parameter

Type

Wajib

Deskripsi

tone

string

Ya

Nada target untuk mengubah susunan dokumen. Nilai yang valid:

  • professional: lebih profesional

  • relaxed: lebih santai

  • Straightforward: Lebih langsung.

  • confident: lebih percaya diri

  • friendly: lebih ramah

content

string

Ya

Konten yang akan diubah susunannya. Konten harus dikodekan dalam Base64 yang aman untuk URL.

Catatan

Panjang maksimum adalah 19.500 byte.

format

string

Tidak

Metode pengembalian data. Nilai yang valid:

  • json (default): Mode reguler. Paket yang berisi hasil permintaan lengkap dikembalikan.

  • event-stream: Mode Server-Sent Events (SSE). Anda akan menerima beberapa paket. Setiap paket berisi data lengkap.

Tabel berikut menjelaskan parameter respons.

Parameter

Type

Deskripsi

RequestId

string

ID permintaan.

Output

struct

Hasil output.

Node anak: Text, FinishReason

Text

string

Hasil yang diperoleh dari pemrosesan permintaan.

Node induk: Output

FinishReason

string

Menunjukkan status saat ini dari proses generasi. Nilai yang valid:

  • null: Sedang menghasilkan.

  • stop: Proses generasi selesai.

Node induk: Output

Gunakan REST API

Catatan

Saat menggunakan REST API untuk mengubah susunan dokumen, Anda harus menentukan nama file. Nama file hanya berfungsi sebagai placeholder. Fitur ini menggunakan nilai parameter `content` sebagai teks yang akan diubah susunannya.

Gunakan mode reguler untuk mengubah susunan dokumen

Metode pemrosesan

  • File yang diproses: example.doc

  • Teks yang diubah susunannya: "Empat Novel Klasik Tiongkok, juga dikenal sebagai Empat Mahakarya Sastra Tiongkok, adalah empat novel klasik Tiongkok berbasis bab: 'Romance of the Three Kingdoms', 'Journey to the West', 'Water Margin', dan 'Dream of the Red Chamber'."

  • Nada target: straightforward

Contoh pemrosesan

POST /example.doc?x-oss-process HTTP/1.1
Host: doc-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e

x-oss-process=doc/rephrase,tone_straightforward,content_5Zub5aSn5ZCN6JGX77yM5Y2z5Zub5aSn5bCP6K-05ZCN6JGX77yM5piv5oyH44CK5LiJ5Zu95ryU5LmJ44CL44CB44CK6KW_5ri46K6w44CL44CB44CK5rC05rWS5Lyg44CL44CB44CK57qi5qW85qKm44CLNOmDqOS4reWbveWPpOWFuOeroOWbnuWwj-ivtOOAgg==

Contoh respons

HTTP/1.1 200 OK
Server: AliyunOSS
Date: Thu, 10 Aug 2023 11:09:00 GMT
Content-Type: application/json;charset=UTF-8
Connection: close
Vary: Accept-Encoding
x-oss-request-id: 65969DD74479D83039EBE00E
x-oss-server-time: 2010
Content-Encoding: gzip

{
  "RequestId":"65969DD74479D83039EBE00E",
  "Output":{
      "Text":"China's Four Great Classical Novels, which are four very famous novels, refer to these four ancient Chinese epic chapter-based novels: 'Romance of the Three Kingdoms', 'Journey to the West', 'Water Margin', and 'Dream of the Red Chamber'.",
      "FinishReason":"stop"
   }
}

Gunakan SSE untuk mengubah susunan dokumen

Metode pemrosesan

  • File yang diproses: example.doc

  • Teks yang diubah susunannya: "Empat Novel Klasik Tiongkok, juga dikenal sebagai Empat Mahakarya Sastra Tiongkok, adalah empat novel klasik Tiongkok berbasis bab: 'Romance of the Three Kingdoms', 'Journey to the West', 'Water Margin', dan 'Dream of the Red Chamber'."

  • Nada target: straightforward

  • Metode respons: event-stream

Contoh pemrosesan

POST /example.doc?x-oss-process HTTP/1.1
Host: doc-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e

x-oss-process=doc/rephrase,tone_straightforward,format_event-stream,content_5Zub5aSn5ZCN6JGX77yM5Y2z5Zub5aSn5bCP6K-05ZCN6JGX77yM5piv5oyH44CK5LiJ5Zu95ryU5LmJ44CL44CB44CK6KW_5ri46K6w44CL44CB44CK5rC05rWS5Lyg44CL44CB44CK57qi5qW85qKm44CLNOmDqOS4reWbveWPpOWFuOeroOWbnuWwj-ivtOOAgg==

Contoh respons

HTTP/1.1 200 OK
Server: AliyunOSS
Date: Thu, 10 Aug 2023 11:20:11 GMT
Content-Type: text/event-stream;charset=UTF-8
Transfer-Encoding: chunked
Connection: close
x-oss-request-id: 65969D744479D83837AEE00E
x-oss-server-time: 587

id: 0
event: Result
data: {"RequestId":"65969D744479D83837AEE00E","Output":{"Text":"China's","FinishReason":"null"}}

id: 1
event: Result
data: {"RequestId":"65969D744479D83837AEE00E","Output":{"Text":"China's Four Great","FinishReason":"null"}}

id: 2
event: Result
data: {"RequestId":"65969D744479D83837AEE00E","Output":{"Text":"China's Four Great Classical","FinishReason":"null"}}

id: 3
event: Result
data: {"RequestId":"65969D744479D83837AEE00E","Output":{"Text":"China's Four Great Classical Novels, which are four","FinishReason":"null"}}

id: 4
event: Result
data: {"RequestId":"65969D744479D83837AEE00E","Output":{"Text":"China's Four Great Classical Novels, which are four very famous novels, refer to 'Romance of the Three","FinishReason":"null"}}

id: 5
event: Result
data: {"RequestId":"65969D744479D83837AEE00E","Output":{"Text":"China's Four Great Classical Novels, which are four very famous novels, refer to 'Romance of the Three Kingdoms' and 'Journey to the West","FinishReason":"null"}}

id: 6
event: Result
data: {"RequestId":"65969D744479D83837AEE00E","Output":{"Text":"China's Four Great Classical Novels, which are four very famous novels, refer to 'Romance of the Three Kingdoms', 'Journey to the West', 'Water Margin', and","FinishReason":"null"}}

id: 7
event: Result
data: {"RequestId":"65969D744479D83837AEE00E","Output":{"Text":"China's Four Great Classical Novels, which are four very famous novels, refer to 'Romance of the Three Kingdoms', 'Journey to the West', 'Water Margin', and 'Dream of the Red Chamber', these four classic ancient Chinese","FinishReason":"null"}}

id: 8
event: Result
data: {"RequestId":"65969D744479D83837AEE00E","Output":{"Text":"China's Four Great Classical Novels, which are four very famous novels, refer to 'Romance of the Three Kingdoms', 'Journey to the West', 'Water Margin', and 'Dream of the Red Chamber', these four classic ancient Chinese epic novels.","FinishReason":"null"}}

id: 9
event: Result
data: {"RequestId":"65969D744479D83837AEE00E","Output":{"Text":"China's Four Great Classical Novels, which are four very famous novels, refer to 'Romance of the Three Kingdoms', 'Journey to the West', 'Water Margin', and 'Dream of the Red Chamber', these four classic ancient Chinese epic novels.","FinishReason":"stop"}}

Gunakan SDK

Contoh kode berikut menunjukkan cara mengubah susunan dokumen menggunakan kit pengembangan perangkat lunak (SDK) umum. Untuk menggunakan SDK lain, sesuaikan kode berdasarkan contoh ini.

Java

Diperlukan Java SDK versi 3.17.4 atau yang lebih baru.

import com.aliyun.oss.*;
import com.aliyun.oss.common.auth.*;
import com.aliyun.oss.common.comm.SignVersion;
import com.aliyun.oss.common.utils.BinaryUtil;
import com.aliyun.oss.common.utils.IOUtils;
import com.aliyun.oss.model.GenericResult;
import com.aliyun.oss.model.ProcessObjectRequest;

import java.io.IOException;
import java.util.Formatter;

public class Demo {
    public static void main(String[] args) throws ClientException, com.aliyuncs.exceptions.ClientException {
        // Tetapkan yourEndpoint ke endpoint wilayah tempat bucket Anda berada.
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // Tentukan ID wilayah Alibaba Cloud, misalnya cn-hangzhou.
        String region = "cn-hangzhou";
        // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // Tentukan nama bucket.
        String bucketName = "examplebucket";
        // Tentukan nama file, yang hanya digunakan sebagai placeholder. Konten file ini tidak dibaca selama proses penyesuaian nada dokumen cerdas.
        String key ="example.docx";
        // Tentukan konten teks yang akan diubah susunannya.
        String content = "yourTxt";
        String encodeContent = BinaryUtil.toBase64String(content.getBytes()).replaceAll("\\+","-")
                .replaceAll("/","_").replaceAll("=","");

        // Buat instance OSSClient.
        // Setelah instance OSSClient tidak lagi diperlukan, panggil metode shutdown untuk melepaskan sumber daya.
        ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
        clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
        OSS ossClient = OSSClientBuilder.create()
                .endpoint(endpoint)
                .credentialsProvider(credentialsProvider)
                .clientConfiguration(clientBuilderConfiguration)
                .region(region)
                .build();

        try {

            StringBuilder sbStyle = new StringBuilder();
            Formatter styleFormatter = new Formatter(sbStyle);
            // Bangun instruksi pemrosesan untuk penyesuaian nada dokumen cerdas.
            styleFormatter.format("doc/rephrase,tone_straightforward,content_%s",
                    encodeContent);
            System.out.println(sbStyle.toString());
            ProcessObjectRequest request = new ProcessObjectRequest(bucketName, key, sbStyle.toString());
            GenericResult processResult = ossClient.processObject(request);
            String json = IOUtils.readStreamAsString(processResult.getResponse().getContent(), "UTF-8");
            processResult.getResponse().getContent().close();
            System.out.println(json);
        } catch (OSSException oe) {
            System.out.println("Terjadi OSSException, yang berarti permintaan Anda sampai ke OSS, "
                    + "tetapi ditolak dengan respons error karena suatu alasan.");
            System.out.println("Pesan Error:" + oe.getErrorMessage());
            System.out.println("Kode Error:" + oe.getErrorCode());
            System.out.println("ID Permintaan:" + oe.getRequestId());
            System.out.println("ID Host:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Terjadi ClientException, yang berarti klien mengalami "
                    + "masalah internal serius saat mencoba berkomunikasi dengan OSS, "
                    + "misalnya tidak dapat mengakses jaringan.");
            System.out.println("Pesan Error:" + ce.getMessage());
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
    }
}

PHP

Diperlukan PHP SDK versi 2.7.0 atau yang lebih baru.

<?php
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel. 
$ak = getenv('OSS_ACCESS_KEY_ID');
$sk = getenv('OSS_ACCESS_KEY_SECRET');
// Tentukan nama bucket, misalnya examplebucket.
$bucket = 'examplebucket';
// Tentukan nama file, yang hanya digunakan sebagai placeholder. Konten file ini tidak dibaca selama proses penyesuaian nada dokumen cerdas.
$objectKey = 'example.docx';
// Tentukan konten teks yang akan diubah susunannya.
$txt = "yourTxt";

$base64url = str_replace(['+', '/', '='], ['-', '_', ''], base64_encode($txt));
// Bangun instruksi untuk penyesuaian nada dokumen cerdas.
$body = sprintf("x-oss-process=doc/rephrase,tone_straightforward,content_%s", $base64url);

$httpVerb = 'POST';
$contentMd5 = base64_encode(md5($body, true));
$contentType = '';
$date = gmdate('D, d M Y H:i:s T');
$stringToSign = $httpVerb . "\n" . $contentMd5 . "\n" . $contentType . "\n" . $date . "\n" . "/{$bucket}/{$objectKey}?x-oss-process";
$signature = base64_encode(hash_hmac('sha1', $stringToSign, $sk, true));

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://{$bucket}.oss-cn-hangzhou.aliyuncs.com/{$objectKey}?x-oss-process");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Date: ' . $date,
    'Authorization: OSS ' . $ak . ':' . $signature,
    'Content-Type: ' . $contentType,
    'Content-Md5:' . $contentMd5,
));
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);

$response = curl_exec($ch);

$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($response === false) {
    echo "Error: " . curl_error($ch);
} else {
    if ($httpcode == 200) {
        var_dump($response);
    } else {
        echo "Error: Kode HTTP " . $httpcode;
    }
}

Go

Diperlukan Go SDK versi 3.0.2 atau yang lebih baru.

package main

import (
	"encoding/base64"
	"encoding/json"
	"fmt"
	"io"
	"os"
	"strings"

	"github.com/aliyun/aliyun-oss-go-sdk/oss"
)

type TextData struct {
	RequestId string `json:"RequestId"`
	Output    struct {
		Text         string `json:"Text"`
		FinishReason string `json:"FinishReason"`
	} `json:"Output"`
}

func main() {
	// Dapatkan kredensial akses temporary dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID, OSS_ACCESS_KEY_SECRET, dan OSS_SESSION_TOKEN telah disetel.
	provider, err := oss.NewEnvironmentVariableCredentialsProvider()
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	// Buat instance OSSClient.
	client, err := oss.New("https://oss-cn-hangzhou.aliyuncs.com", "", "", oss.SetCredentialsProvider(&provider), oss.AuthVersion(oss.AuthV4), oss.Region("cn-hangzhou"))
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	// Tentukan nama bucket, misalnya examplebucket.
	bucketName := "examplebucket"
	bucket, err := client.Bucket(bucketName)
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	params := make(map[string]interface{})
	params["x-oss-process"] = nil
        // Tentukan konten teks yang akan diubah susunannya.
	txt := "yourTxt"
        // Bangun instruksi pemrosesan untuk penyesuaian nada dokumen cerdas.
	data := fmt.Sprintf("x-oss-process=doc/rephrase,tone_straightforward,content_%v", base64.URLEncoding.EncodeToString([]byte(txt)))
        // example.docx adalah file dalam bucket yang digunakan sebagai placeholder. Konten file ini tidak dibaca selama proses penyesuaian nada dokumen cerdas.
	response, err := bucket.Do("POST", "example.docx", params, nil, strings.NewReader(data), nil)
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	defer response.Body.Close()
	jsonData, err := io.ReadAll(response.Body)
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	var text TextData
	err = json.Unmarshal(jsonData, &text)
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	fmt.Printf("RequestId:%v\n", text.RequestId)
	fmt.Printf("Text:%v\n", text.Output.Text)
	fmt.Printf("FinishReason:%v\n", text.Output.FinishReason)
}