Documentation

ArcwellStack Documentation

ArcwellStack is a voice AI platform for lifelike speech, real-time agents, and enterprise-ready voice workflows. This guide covers core concepts, API usage, and the product modules you can build with.

At a glance

  • Voice Studio: TTS with emotion, style, and pacing controls
  • Speech-to-Text: batch and streaming transcription with diarization
  • Agents Platform: real-time voice agents with tools and memory
  • Dubbing Studio: multi-language alignment and voice replacement
  • Voice Library: curated voices and brand voice management
  • Voice Cloning: consented cloning with review and watermarking
  • Platform: workspaces, RBAC, audit logs, usage, and billing

Quick start

  1. Create an account and workspace.
  2. Generate an API key in Settings → API Keys.
  3. Make your first TTS request.
curl -X POST https://api.arcwellstack.com/v1/voice/generate \
  -H "Authorization: Bearer $ARCWELLSTACK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"voice":"Nova","text":"Welcome to ArcwellStack","format":"wav"}'

To reduce perceived latency, use streaming generation for live experiences and conversational agents.

curl -N https://api.arcwellstack.com/v1/voice/stream \
  -H "Authorization: Bearer $ARCWELLSTACK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"voice":"Nova","text":"Streaming voice in real time"}'

Core concepts

Workspace A top-level container for teams, billing, and security policies.

Project An environment for a product or use case. Projects contain voices, agents, API keys, and usage limits.

Voice A TTS model configuration. Voices can be curated presets, brand voices, or consented clones.

Agent A real-time voice experience defined by a prompt, tools, and routing rules. Agents are attached to a project and can be versioned.

Job An asynchronous task such as a dubbing run, batch transcription, or a long-form synthesis.

SDKs

Official SDKs provide typed clients, streaming helpers, and retries.

pnpm add @arcwellstack/sdk
import { Arcwell } from '@arcwellstack/sdk';

const client = new Arcwell({
  apiKey: process.env.ARCWELLSTACK_API_KEY,
});

const audio = await client.voice.generate({
  voice: 'Nova',
  text: 'Build faster with ArcwellStack',
  format: 'wav',
});

Python SDK:

pip install arcwellstack
from arcwellstack import Arcwell

client = Arcwell(api_key=os.environ["ARCWELLSTACK_API_KEY"])

audio = client.voice.generate(
  voice="Nova",
  text="Build faster with ArcwellStack",
  format="wav",
)

Authentication

  • Use server-side API keys for backend calls.
  • Scope keys per project and rotate them regularly.
  • Never expose private keys in client apps.

Recommended environment variable:

ARCWELLSTACK_API_KEY=your_key_here

API basics

Base URL:

https://api.arcwellstack.com

Versioning:

  • All endpoints are under /v1/.
  • Backwards-incompatible changes ship in /v2/.

Standard headers:

  • Authorization: Bearer <api_key>
  • Content-Type: application/json
  • Idempotency-Key: <uuid> for create requests

Pagination:

  • limit and cursor are used for list endpoints.
  • Responses include next_cursor when more results are available.

Errors:

{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Too many requests",
    "request_id": "req_01H..."
  }
}

Voice Studio (Text-to-Speech)

Generate a voice sample

curl -X POST https://api.arcwellstack.com/v1/voice/generate \
  -H "Authorization: Bearer $ARCWELLSTACK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "voice":"Nova",
    "text":"Hello from ArcwellStack",
    "format":"wav",
    "style":"warm",
    "speed":1.0,
    "pitch":0.0
  }'

Supported controls

  • Style and emotion (warm, calm, energetic)
  • Speed, pitch, and pause controls
  • Pronunciation with SSML-style tags
  • Multi-speaker rendering for dialog

Best practices

  • Stream for live interactions and previews
  • Cache frequent prompts to reduce cost and latency
  • Use a fallback voice for high availability

Voice Library

  • Browse curated voices by language, gender, tone, and use case
  • Save favorites and build brand voice collections
  • Apply voice-level usage limits for teams

Voice Cloning

ArcwellStack supports consented cloning for brand or character voices.

Requirements:

  • Proof of consent for the source voice
  • Clean audio samples with minimal noise
  • Review workflow before production use

Safety:

  • Watermarking for cloned voices
  • Abuse detection and automated policy checks

Speech-to-Text (ASR)

Batch transcription

curl -X POST https://api.arcwellstack.com/v1/stt/transcribe \
  -H "Authorization: Bearer $ARCWELLSTACK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url":"https://example.com/audio.wav",
    "language":"en",
    "diarization":true,
    "timestamps":true
  }'

Streaming transcription

  • Low-latency tokens for real-time captions
  • Optional endpointing for turn detection
  • Speaker labels for multi-party calls

Agents Platform

Build interactive voice agents that can listen, reason, and respond with natural speech.

Key features:

  • Tool calling and webhook integrations
  • Barge-in and turn-taking controls
  • Memory and context policies per agent
  • Multi-agent routing and escalation rules

Create an agent session

curl -X POST https://api.arcwellstack.com/v1/agents/sessions \
  -H "Authorization: Bearer $ARCWELLSTACK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id":"agent_123",
    "input_audio_url":"https://example.com/user.wav",
    "response_format":"stream"
  }'

Dubbing Studio

Dubbing lets you replace speech while preserving timing and intent.

Workflow:

  1. Upload or link the source video/audio.
  2. Select target languages and voices.
  3. Run alignment and review the timing.
  4. Export mixed audio or a full video package.

Webhooks

Subscribe to events for long-running jobs and usage updates.

Common events:

  • job.completed
  • job.failed
  • usage.threshold_reached
  • billing.invoice.created

Signature verification:

import { verifySignature } from '@arcwellstack/sdk/webhooks';

const isValid = verifySignature({
  payload: rawBody,
  signature: headers['arcwell-signature'],
  secret: process.env.ARCWELLSTACK_WEBHOOK_SECRET,
});

Usage, billing, and limits

  • Usage is tracked by characters, audio minutes, and agent sessions.
  • Projects can set monthly quotas and alert thresholds.
  • Overage pricing and annual discounts are available on paid plans.

Rate limits:

  • Standard plans enforce request-per-minute limits.
  • Enterprise plans can request higher concurrency and dedicated capacity.

Security and compliance

ArcwellStack is designed for production and regulated workflows.

  • Encryption in transit and at rest
  • Workspace-level RBAC and audit logs
  • Data retention controls and deletion requests
  • SSO and SCIM provisioning on Enterprise
  • Dedicated processing regions and private networking options

Reliability and SLAs

  • Multi-region infrastructure and automatic failover
  • Status and incident updates in real time
  • SLA options available for Enterprise accounts

Migration guide

Moving from another TTS or voice platform?

  • Map voice IDs to ArcwellStack presets or clone your brand voice
  • Start with batch workloads, then move to streaming
  • Validate latency, cost, and voice quality before cutover

Support

  • Community and email support for all accounts
  • Priority support and onboarding for Enterprise
  • Architecture reviews for large or regulated deployments

If you need help, contact support or request a solution design session.