Dia2 2B
Dia2 2B is a 2 billion parameter streaming text-to-speech model from Nari Labs designed for real-time conversational AI. It begins generating audio immediately from partial text input, supports multi-speaker dialogue via speaker tags, voice cloning from a few seconds of reference audio, and non-verbal cues like laughter, sighs, and coughs. Released under Apache 2.0 for commercial use.
API Options
Platform-level options for task execution and delivery.
-
taskType
string required value: audioInference -
Identifier for the type of task being performed
-
taskUUID
string required UUID v4 -
UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.
-
outputType
string default: URL -
Audio output type.
Allowed values 3 values
-
outputFormat
string default: MP3 -
Specifies the file format of the generated output. The available values depend on the task type and the specific model's capabilities.
- `MP3`: Compressed audio, smaller file size.
- `WAV`: Uncompressed, high-quality audio.
- `FLAC`: Lossless compression.
- `OGG`: Open-source compressed audio format (Vorbis codec).
Allowed values 4 values
-
audioSettings
object -
Audio encoding settings for controlling the bitrate, number of channels, and sample rate of the generated audio. Only applicable for lossy output formats (
MP3andOGG). When using lossless formats (WAVorFLAC), this parameter must not be provided.The available sample rates and valid bitrate ranges depend on the output format. For
OGG, bitrate limits also vary by the number of channels.MP3 bitrate limits
Bitrate limits for MP3 are the same regardless of mono or stereo.
Sample Rate Min Bitrate Max Bitrate 8,000 Hz 8 kbps 64 kbps 11,025 Hz 8 kbps 64 kbps 12,000 Hz 8 kbps 64 kbps 16,000 Hz 8 kbps 160 kbps 22,050 Hz 8 kbps 160 kbps 24,000 Hz 8 kbps 160 kbps 32,000 Hz 32 kbps 320 kbps 44,100 Hz 32 kbps 320 kbps 48,000 Hz 32 kbps 320 kbps OGG bitrate limits — Mono (1 channel)
Sample Rate Min Bitrate Max Bitrate 8,000 Hz 8 kbps 40 kbps 12,000 Hz 16 kbps 48 kbps 16,000 Hz 16 kbps 96 kbps 24,000 Hz 16 kbps 80 kbps 48,000 Hz 32 kbps 224 kbps OGG bitrate limits — Stereo (2 channels)
Sample Rate Min Bitrate Max Bitrate 8,000 Hz 16 kbps 80 kbps 12,000 Hz 16 kbps 96 kbps 16,000 Hz 24 kbps 192 kbps 24,000 Hz 32 kbps 160 kbps 48,000 Hz 48 kbps 256 kbps Lossless formats: When
outputFormatis set toWAVorFLAC, theaudioSettingsparameter is not available since these formats produce uncompressed or lossless audio with no configurable encoding settings.Properties 3 properties
-
audioSettings»bitratebitrate
integer min: 8 -
Audio bitrate in kbps.
-
audioSettings»channelschannels
integer default: 2 -
Number of audio channels. 1 for mono, 2 for stereo.
Allowed values 2 values
-
audioSettings»sampleRatesampleRate
integer -
Audio sample rate in Hz.
-
-
webhookURL
string URI -
Specifies a webhook URL where JSON responses will be sent via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.
Learn more 1 resource
- Webhooks PLATFORM
- Webhooks
-
deliveryMethod
string default: sync -
Determines how the API delivers task results.
Allowed values 2 values
- Returns complete results directly in the API response.
- Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse.
Learn more 1 resource
- Task Polling PLATFORM
-
uploadEndpoint
string URI -
Specifies a URL where the generated content will be automatically uploaded using the HTTP PUT method. The raw binary data of the media file is sent directly as the request body. For secure uploads to cloud storage, use presigned URLs that include temporary authentication credentials.
Common use cases:
- Cloud storage: Upload directly to S3 buckets, Google Cloud Storage, or Azure Blob Storage using presigned URLs.
- CDN integration: Upload to content delivery networks for immediate distribution.
// S3 presigned URL for secure upload https://your-bucket.s3.amazonaws.com/generated/content.mp4?X-Amz-Signature=abc123&X-Amz-Expires=3600 // Google Cloud Storage presigned URL https://storage.googleapis.com/your-bucket/content.jpg?X-Goog-Signature=xyz789 // Custom storage endpoint https://storage.example.com/uploads/generated-image.jpgThe content data will be sent as the request body to the specified URL when generation is complete.
-
ttl
integer min: 60 -
Time-to-live (TTL) in seconds for generated content. Only applies when
outputTypeisURL.
-
includeCost
boolean default: false -
Include task cost in the response.
-
numberResults
integer min: 1 max: 4 default: 1 -
Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
Inputs
Input resources for the task (images, audio, etc). These must be nested inside the inputs object.
inputs object.-
inputs»audiosaudios
array of strings min items: 1max items: 2 -
Voice reference audio samples for speaker cloning (UUID, URL, or Base64). audios[0] = Speaker 1 ([S1]), audios[1] = Speaker 2 ([S2]). Internally transcribed with Whisper for alignment.
Generation Parameters
Core parameters for controlling the generated content.
-
model
string required value: runware:dia2@2b -
Identifier of the model to use for generation.
Learn more 3 resources
-
negativePrompt
string min: 2 max: 3000 -
Prompt to guide what to exclude from generation. Ignored when guidance is disabled (CFGScale ≤ 1).
Learn more 1 resource
-
seed
integer min: 0 max: 2147483647 -
Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.
-
CFGScale
float min: 1 max: 30 step: 0.01 default: 3 -
Guidance scale representing how closely the output will resemble the prompt. Higher values produce results more aligned with the prompt.
Learn more 1 resource
Settings
Technical parameters to fine-tune the inference process. These must be nested inside the settings object.
settings object.-
settings»temperaturetemperature
float min: 0 max: 5 default: 0.6 -
Sampling temperature for text token generation. Lower = more coherent, higher = more variety. 0 = greedy decoding.
-
settings»audioTemperatureaudioTemperature
float min: 0 max: 5 default: 0.8 -
Sampling temperature for audio token generation. Lower = cleaner audio, higher = more expressive. 0 = greedy decoding.
-
settings»includePrefixincludePrefix
boolean default: false -
Whether to include prefix audio in the final output or trim it.
-
settings»topKtopK
integer min: 1 max: 500 default: 50 -
Top-K sampling for both text and audio tokens. Limits selection to K most likely tokens per step.