File size: 6,193 Bytes
f5ec497
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
{% extends "base.html" %}

{% block title %}TTSFM - Free Text-to-Speech for Python{% endblock %}

{% block content %}
<!-- Hero Section -->
<section class="hero-section">
    <div class="container">
        <div class="row align-items-center min-vh-75">
            <div class="col-lg-8 mx-auto text-center">
                <div class="hero-content">
                    <div class="badge bg-primary text-white mb-3 px-3 py-2">
                        <i class="fas fa-code me-2"></i>Python Package
                    </div>
                    <h1 class="display-4 fw-bold mb-4">
                        Free Text-to-Speech for Python
                    </h1>
                    <p class="lead mb-4">
                        Access free text-to-speech using openai.fm's service. No API keys required,
                        just install and use immediately.
                    </p>
                    <div class="d-flex flex-wrap gap-3 justify-content-center">
                        <a href="{{ url_for('playground') }}" class="btn btn-primary btn-lg">
                            <i class="fas fa-play me-2"></i>Try Demo
                        </a>
                        <a href="{{ url_for('docs') }}" class="btn btn-outline-secondary btn-lg">
                            <i class="fas fa-book me-2"></i>Documentation
                        </a>
                        <a href="https://github.com/dbccccccc/ttsfm" class="btn btn-outline-secondary btn-lg" target="_blank" rel="noopener noreferrer">
                            <i class="fab fa-github me-2"></i>GitHub
                        </a>
                    </div>
                </div>
            </div>
        </div>
    </div>
</section>

<!-- Features Section -->
<section class="py-5" style="background-color: #f8fafc;">
    <div class="container">
        <div class="row">
            <div class="col-12 text-center mb-5">
                <h2 class="fw-bold mb-4">Key Features</h2>
                <p class="lead text-muted">
                    Simple, free, and powerful text-to-speech for Python developers.
                </p>
            </div>
        </div>

        <div class="row g-4">
            <div class="col-lg-4">
                <div class="text-center">
                    <div class="feature-icon text-white rounded-circle d-inline-flex align-items-center justify-content-center mb-3" style="width: 4rem; height: 4rem; background-color: #2563eb;">
                        <i class="fas fa-key"></i>
                    </div>
                    <h5 class="fw-bold">No API Keys</h5>
                    <p class="text-muted">Completely free service with no registration or API keys required.</p>
                </div>
            </div>

            <div class="col-lg-4">
                <div class="text-center">
                    <div class="feature-icon text-white rounded-circle d-inline-flex align-items-center justify-content-center mb-3" style="width: 4rem; height: 4rem; background-color: #10b981;">
                        <i class="fas fa-bolt"></i>
                    </div>
                    <h5 class="fw-bold">Easy to Use</h5>
                    <p class="text-muted">Simple Python API with both sync and async support for all use cases.</p>
                </div>
            </div>

            <div class="col-lg-4">
                <div class="text-center">
                    <div class="feature-icon text-white rounded-circle d-inline-flex align-items-center justify-content-center mb-3" style="width: 4rem; height: 4rem; background-color: #64748b;">
                        <i class="fas fa-microphone-alt"></i>
                    </div>
                    <h5 class="fw-bold">Multiple Voices</h5>
                    <p class="text-muted">Access to various voice options and audio formats for your needs.</p>
                </div>
            </div>
        </div>
    </div>
</section>

<!-- Quick Start Section -->
<section class="py-5">
    <div class="container">
        <div class="row">
            <div class="col-12 text-center mb-5">
                <h2 class="fw-bold mb-4">Getting Started</h2>
                <p class="lead text-muted">
                    Install TTSFM and start generating speech with just a few lines of code.
                </p>
            </div>
        </div>

        <div class="row g-4">
            <div class="col-lg-6">
                <div class="card h-100">
                    <div class="card-body">
                        <h5 class="card-title">
                            <i class="fas fa-download me-2 text-primary"></i>Installation
                        </h5>
                        <pre class="bg-light p-3 rounded"><code>pip install ttsfm</code></pre>
                        <small class="text-muted">Requires Python 3.8+</small>
                    </div>
                </div>
            </div>

            <div class="col-lg-6">
                <div class="card h-100">
                    <div class="card-body">
                        <h5 class="card-title">
                            <i class="fas fa-play me-2 text-success"></i>Basic Usage
                        </h5>
                        <pre class="bg-light p-3 rounded"><code>from ttsfm import TTSClient

client = TTSClient()
response = client.generate_speech(
    text="Hello, world!",
    voice="alloy"
)
response.save_to_file("hello.wav")</code></pre>
                        <small class="text-muted">No API keys required</small>
                    </div>
                </div>
            </div>
        </div>

        <div class="row mt-4">
            <div class="col-12 text-center">
                <div class="d-flex justify-content-center gap-3 flex-wrap">
                    <a href="{{ url_for('playground') }}" class="btn btn-primary">
                        <i class="fas fa-play me-2"></i>Try Demo
                    </a>
                    <a href="{{ url_for('docs') }}" class="btn btn-outline-primary">
                        <i class="fas fa-book me-2"></i>Documentation
                    </a>
                </div>
            </div>
        </div>
    </div>
</section>


{% endblock %}