@cnvrt/sdk
v1.0.1
Published
Official JavaScript SDK for CNVRT media conversion API with x402 payment support
Maintainers
Readme
@cnvrt/sdk
Official JavaScript/TypeScript SDK for CNVRT media conversion API with x402 payment support.
Installation
npm install @cnvrt/sdkQuick Start
import { CNVRT } from '@cnvrt/sdk';
const cnvrt = new CNVRT({
network: 'base', // or 'solana'
baseUrl: 'https://api.cnvrt.ing'
});
// Convert media
const result = await cnvrt.convert({
url: 'https://youtube.com/watch?v=xyz',
format: 'mp3'
});
console.log('Download:', result.data.output.url);Features
- ✅ TypeScript Support - Full type safety
- ✅ Automatic Retry - Exponential backoff on errors
- ✅ Error Handling - Structured responses with suggested actions
- ✅ Network Switching - Easy Base/Solana switching
- ✅ All Endpoints - Convert, transcribe, analyze, validate, estimate
API
Constructor
const cnvrt = new CNVRT({
network?: 'base' | 'solana', // Default: 'base'
baseUrl?: string, // Default: 'https://api.cnvrt.ing'
autoRetry?: boolean, // Default: true
maxRetries?: number, // Default: 3
timeout?: number // Default: 60000
});Methods
Convert Media
await cnvrt.convert({
url: string,
format: string,
quality?: string,
network?: 'base' | 'solana'
});Transcribe Media
await cnvrt.transcribe({
url: string,
language?: string,
network?: 'base' | 'solana'
});Analyze Image
await cnvrt.analyzeImage({
image: string,
features?: string[],
detail?: 'low' | 'high' | 'auto'
});Validate (FREE)
await cnvrt.validate({
url: string,
format: string
});Estimate Cost (FREE)
await cnvrt.estimateCost({
url: string,
format: string,
features?: string[]
});Examples
With Validation
// 1. Validate (FREE)
const validation = await cnvrt.validate({
url: 'https://youtube.com/watch?v=xyz',
format: 'mp3'
});
if (!validation.data.valid) {
console.error('Invalid:', validation.data.errors);
return;
}
// 2. Estimate cost (FREE)
const estimate = await cnvrt.estimateCost({
url: 'https://youtube.com/watch?v=xyz',
format: 'mp3'
});
console.log(`Cost: $${estimate.data.totalCost} USDC`);
// 3. Convert (PAID)
const result = await cnvrt.convert({
url: 'https://youtube.com/watch?v=xyz',
format: 'mp3'
});Error Handling
const result = await cnvrt.convert({ url, format: 'mp3' });
if (!result.success) {
console.log('Error:', result.error.message);
console.log('Retryable:', result.error.retryable);
console.log('Suggested action:', result.error.suggestedAction);
}Network Switching
// Use Base network
cnvrt.setNetwork('base');
await cnvrt.convert({ url, format: 'mp3' });
// Switch to Solana
cnvrt.setNetwork('solana');
await cnvrt.convert({ url, format: 'mp3' });Documentation
License
MIT © CNVRT
