File size: 6,582 Bytes
729ba5e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
# BackgroundFX Pro Examples

Welcome to the BackgroundFX Pro examples collection! This directory contains practical, production-ready code examples in multiple programming languages and for various use cases.

## πŸš€ Quick Start

1. **Get your API key** from [BackgroundFX Pro Dashboard](https://app.backgroundfx.pro)
2. **Set environment variable**: `export BACKGROUNDFX_API_KEY=your-api-key`
3. **Choose your language** and run the examples

## πŸ“ Directory Structure

```
examples/
β”œβ”€β”€ python/              # Python examples
β”œβ”€β”€ javascript/          # JavaScript/Node.js examples
β”œβ”€β”€ go/                  # Go examples
β”œβ”€β”€ curl/               # cURL command examples
β”œβ”€β”€ integrations/       # Platform integrations
β”œβ”€β”€ notebooks/          # Jupyter notebooks
β”œβ”€β”€ docker/             # Docker configurations
└── use-cases/          # Industry-specific examples
```

## 🐍 Python Examples

### Basic Usage
```python
cd python
pip install -r requirements.txt
python basic_usage.py
```

**Available Examples:**
- `basic_usage.py` - Core API operations
- `batch_processing.py` - Process multiple images
- `video_processing.py` - Video background removal
- `webhook_handler.py` - Handle webhooks
- `async_processing.py` - Asynchronous operations

## 🟨 JavaScript Examples

### Node.js
```bash
cd javascript/node
npm install
node basic_usage.js
```

### Browser/React
```bash
cd javascript/browser
# Open react_component.jsx in your React app
# Or open vanilla_js.html in a browser
```

**Available Examples:**
- `basic_usage.js` - Core API operations
- `express_integration.js` - Express.js server
- `websocket_client.js` - Real-time updates
- `react_component.jsx` - React component

## 🐹 Go Examples

```bash
cd go
go mod download
go run basic_usage.go
```

**Available Examples:**
- `basic_usage.go` - Core API operations
- `gin_integration.go` - Gin framework integration

## πŸ”— cURL Examples

```bash
cd curl
chmod +x *.sh
./basic_commands.sh
```

**Available Scripts:**
- `basic_commands.sh` - Essential API calls
- `batch_upload.sh` - Batch processing
- `webhook_test.sh` - Webhook testing

## πŸ”Œ Platform Integrations

### WordPress Plugin
```php
cd integrations/wordpress
# Copy to wp-content/plugins/
# Activate in WordPress admin
```

### Shopify App
```javascript
cd integrations/shopify
npm install
npm run dev
```

### Next.js
```typescript
cd integrations/nextjs
# Copy components to your Next.js app
```

### Flask
```python
cd integrations/flask
pip install -r requirements.txt
python app.py
```

## πŸ““ Jupyter Notebooks

Interactive notebooks for learning and experimentation:

```bash
cd notebooks
jupyter notebook
```

**Available Notebooks:**
- `getting_started.ipynb` - Interactive tutorial
- `model_comparison.ipynb` - Compare different models
- `batch_analysis.ipynb` - Batch processing analysis
- `custom_training.ipynb` - Train custom models

## 🐳 Docker Examples

### Simple Setup
```bash
cd docker/simple
docker-compose up
```

### Full Stack
```bash
cd docker/full-stack
docker-compose up -d
```

### Kubernetes
```bash
cd docker/kubernetes
kubectl apply -f deployment.yaml
```

## πŸ’Ό Use Cases

### E-commerce
Automated product photography workflow:
```python
cd use-cases/e-commerce
python product_automation.py
```

**Features:**
- Batch process product catalogs
- Generate platform-specific sizes
- Create marketing variations
- Shopify/WooCommerce integration

### Social Media
Content creation automation:
```python
cd use-cases/social-media
python instagram_stories.py
```

**Features:**
- Story templates
- Batch processing
- Auto-resizing
- Filter effects

### Real Estate
Property image enhancement:
```python
cd use-cases/real-estate
python property_images.py
```

**Features:**
- Virtual staging
- Sky replacement
- Batch processing
- MLS compliance

### Photography
Professional photo editing:
```python
cd use-cases/photography
python portrait_processing.py
```

**Features:**
- Portrait enhancement
- Wedding batch processing
- Background replacement
- Color grading

## πŸ”‘ API Key Setup

### Environment Variable (Recommended)
```bash
export BACKGROUNDFX_API_KEY=your-api-key-here
```

### Configuration File
Create `.env` file:
```
BACKGROUNDFX_API_KEY=your-api-key-here
BACKGROUNDFX_API_URL=https://api.backgroundfx.pro/v1
```

### In Code
```python
client = BackgroundFXClient(api_key="your-api-key-here")
```

## πŸ“Š Performance Tips

### Batch Processing
- Use batch endpoints for multiple images
- Process in parallel when possible
- Implement retry logic with exponential backoff

### Quality Settings
- `low` - Fast processing, good for previews
- `medium` - Balanced quality/speed
- `high` - Professional quality
- `ultra` - Maximum quality

### Model Selection
- `rembg` - Fast, general purpose
- `u2net` - High quality, good for products
- `sam2` - Best quality, slower
- `auto` - Let API choose

## πŸ”§ Common Issues

### Rate Limiting
```python
# Implement exponential backoff
import time

def retry_with_backoff(func, max_retries=3):
    for i in range(max_retries):
        try:
            return func()
        except RateLimitError:
            wait_time = 2 ** i
            time.sleep(wait_time)
    raise Exception("Max retries exceeded")
```

### Large Files
```python
# Compress before upload
from PIL import Image

def compress_image(path, max_size_mb=10):
    img = Image.open(path)
    img.thumbnail((4096, 4096))
    img.save(path, optimize=True, quality=85)
```

### Memory Management
```python
# Process in chunks for large batches
def process_in_chunks(images, chunk_size=10):
    for i in range(0, len(images), chunk_size):
        chunk = images[i:i+chunk_size]
        process_batch(chunk)
```

## πŸ“š Additional Resources

- [API Documentation](https://api.backgroundfx.pro/docs)
- [Developer Portal](https://developers.backgroundfx.pro)
- [Community Forum](https://forum.backgroundfx.pro)
- [Video Tutorials](https://youtube.com/@backgroundfx)

## 🀝 Contributing

We welcome contributions! To add new examples:

1. Fork the repository
2. Create your example following the existing structure
3. Add documentation
4. Submit a pull request

## πŸ“„ License

All examples are provided under the MIT License. Feel free to use them in your projects!

## πŸ†˜ Support

- **Email**: support@backgroundfx.pro
- **Discord**: [Join our community](https://discord.gg/backgroundfx)
- **GitHub Issues**: [Report issues](https://github.com/backgroundfx/examples/issues)

---

**Happy coding!** πŸŽ‰ Build amazing things with BackgroundFX Pro!