Pass a JSON string to the nui_initialize method's parameters parameter to configure these settings.Parameter example: The following JSON string is an example and does not list all parameters. Add parameters as needed in your code:
Replace {WorkspaceId} with your actual Workspace ID.
apikey
String
Yes
API Key.
service_mode
String
Yes
The operating mode. For non-real-time speech recognition, set this parameter to "1".
device_id
String
Yes
A unique string that identifies the end user. You can use an in-app user ID or a client-generated unique device identifier. This ID is mainly used for log tracing and troubleshooting.
debug_path
String
No
The path for log files. This parameter takes effect only when you call nui_initialize with save_log set to YES. In this case, you must specify the log file path. Otherwise, an error occurs. Up to two log files are retained locally.
max_log_file_size
int
No
The maximum log file size in bytes. This parameter takes effect only when you call nui_initialize with save_log set to YES. Default: 104857600 (100 * 1024 * 1024 bytes, or 100 MiB).
log_track_level
int
No
The filtering level for logs sent through the logging callback (onFileTransLogTrackCallback). Default: 2. Valid values: - 0: LOG_LEVEL_VERBOSE - 1: LOG_LEVEL_DEBUG - 2: LOG_LEVEL_INFO - 3: LOG_LEVEL_WARNING - 4: LOG_LEVEL_ERROR - 5: LOG_LEVEL_NONE (disables this feature). Note: log_track_level and level (configured through nui_initialize method) jointly determine which logs are delivered. The numeric level of a log must be greater than or equal to both log_track_level and level for the log to be delivered. For example, if log_track_level is set to 2 (INFO) and level is set to 3 (WARNING), only WARNING and higher-severity logs (numeric level >= 3) are delivered.
Use nui_file_trans_start to configure all recognition parameters.Parameter example: The following JSON string is an example and does not list all parameters. Add parameters as needed in your code:
The audio format. Set this parameter to the actual format. Supported formats include wav, mp3, opus. For details, see Audio specifications.
nls_config.sample_rate
string
No
The audio sample rate in Hz. For example, 16000 indicates a sample rate of 16 kHz. For details, see Audio specifications.
nls_config.vocabulary_id
string
No
The precompiled vocabulary ID. Create a vocabulary in advance and pass its ID during recognition to use its hotwords. Use this option when the vocabulary is known, relatively stable, and reused across requests. For usage instructions, see Precompiled hotwords.
nls_config.instant_vocabulary
object
No
Instant hotwords. Pass key-value pairs. The key is the hotword text (string) and the value is its weight (integer). You do not need to create a vocabulary in advance. Valid weights are [1, 5] or 50. Within [1, 5], a higher weight makes the model more likely to output the word. A weight of 50 specifies a super hotword and significantly increases recall. You can specify up to 50 super hotwords. Use this option for temporary, session-level hotword optimization. When both instant and precompiled hotwords are configured, the system merges them. If the merged list exceeds 2000 entries, it randomly selects 2000 entries. For usage instructions, see Instant hotwords.
For models and limits that apply to instant hotwords, see Instant hotwords.
Copy
{ "张三": 5, "李四": 5}
nls_config.language_hints
array[string]
No
The language codes for recognition. If the language is unknown in advance, omit this parameter to let the model detect it automatically. For Qwen-Audio-3.0-ASR-Flash models, up to four values are supported. If more are specified, only the first four take effect. For Fun-ASR-Flash models, only one value is supported. If multiple values are specified, only the first takes effect.
The list of messages. It contains the audio to recognize and optional conversation context to improve recognition. See the following descriptions.
messages parameters:
Context improves the recognition accuracy of specialized terms. For usage instructions, see Context enhancement.Constraints: Context messages (input_text and text types) are limited to five each. If the limit is exceeded, only the five most recent messages are retained. The total context text length per turn (the sum of the user and assistanttext field lengths) must not exceed 400 characters. Each character counts as one. Excess characters are truncated from the end.
When context is included, messages messages must follow a specific order. Arrange context messages by conversation turn. Within each turn, user (input_text type) must precede the corresponding assistant (text type). The input_audiouser message containing input audio must be placed at the end of messages .
Parameter
Type
Required
Description
role
string
Yes
The message role. Valid values:
user (required): A user message. When type is input_audio, it represents the audio to recognize. When type is input_text, it represents recognition results from previous turns or a domain-specific vocabulary (optional context).
assistant (optional context): Large language model responses from previous turns.
content
array[object]
Yes
The list of message content. See the following descriptions.
content parameters:
Parameter
Type
Required
Description
type
string
Yes
The content type. Each request requires at least one input_audio message. Valid values:
input_audio (required): The audio input to recognize (role is user). You must also provide the input_audio object.
input_text (optional context): Recognition results of user speech from previous turns or a domain-specific vocabulary (role is user). You must also provide the text field.
text (optional context): Large language model responses from previous turns (role is assistant). You must also provide the text field.
input_audio
object
No
Required when type is input_audio.
input_audio.data
string
Yes
The audio data to recognize. For supported audio formats, file size limits, duration limits, and other input requirements, see Audio specifications. The following two input methods are supported:
Audio file URL: Pass a publicly accessible audio file URL.
Base64 Data URI: Pass Base64-encoded audio as a Data URI. Concatenate the data:{MIME_TYPE};base64, prefix with the Base64-encoded audio data. Supported MIME types include audio/wav, audio/mp3.
Required when type is input_text, provide recognition results of user speech from previous turns or a domain-specific vocabulary. When type is text, provide large language model responses from previous turns. Text length is counted in characters, with each character counting as one. The total length of all messages' text fields in each context turn must not exceed 400 characters. Excess characters are truncated from the end.
Whether to save logs locally. If set to YES, use Connection and control parameters to set debug_path to specify the path, and use max_log_file_size to set the file size.
Return valueReturns an error code. See Error codes.
Use this method to set or update nls_config separately. You do not need to call this method if all parameters are provided in nui_file_trans_start in a single call.Method signature
Release all internal SDK resources and forcibly stop all ongoing tasks. After this call, the SDK instance becomes unavailable. To use it again, call nui_initialize to initialize it again.Method signature
Copy
- (NuiResultCode) nui_release;
Return valueReturns an error code. See Error codes.