Vos workflows.
Nos outils.
Intégrez 3DE dans vos scripts et automatisations, avec une API commune et des limites claires.
Clé disponible après connexion avec ChatGPT. Vous pouvez demander davantage d’appels depuis votre espace ; les augmentations sont examinées manuellement.
Connecter votre IA
MCP · Streamable HTTPDonnez à votre assistant accès aux outils 3DE, directement depuis votre conversation. Le serveur MCP utilise votre clé API existante.
https://freetools.3de-scs.be/api/mcp- Créez votre clé
Ouvrez votre espace développeurs, connectez-vous avec ChatGPT et créez une clé pour votre assistant. Copiez-la : elle ne sera affichée qu’une fois.
- Ajoutez le serveur
Dans les réglages MCP de votre client, ajoutez l’adresse ci-dessus avec le transport Streamable HTTP. Configurez l’en-tête
Authorizationavec la valeurBearer 3de_live_…, en utilisant votre clé complète. - Essayez un outil
Reconnectez le serveur si nécessaire, puis demandez à votre assistant d’utiliser 3DE. Il découvre les outils et leurs paramètres automatiquement.
Une première demande à essayerUtilise 3DE pour vérifier le contraste entre #2456C5 et #FFFFFF. Donne-moi aussi les valeurs RGB et HSL.
Voir les paramètres de connexion
Exemple générique : adaptez ces paramètres au format de votre client et remplacez le jeton d’exemple par votre clé. Aucune clé réelle n’est incluse ci-dessous.
{
"url": "https://freetools.3de-scs.be/api/mcp",
"transport": "streamable-http",
"headers": {
"Authorization": "Bearer 3de_live_REPLACE_WITH_YOUR_KEY"
}
}Les outils disponibles en MCP
- Gaming et réseau
Sensibilité, FOV, FPS, sous-réseaux IPv4/IPv6, débits, transferts et recherche DNS.
- Texte
Analyser, nettoyer, comparer et trier des textes ; calculer des empreintes SHA.
- Données
Traiter du JSON et du CSV, encoder ou décoder du Base64, nettoyer des URL.
- Calculs et couleurs
Calculer des pourcentages, des dates et des timestamps ; convertir des unités et des couleurs, vérifier le contraste.
- QR et usage
Générer un QR code en SVG et consulter votre quota restant.
Entrées jusqu’à 1 Mio selon l’outil, résultats MCP jusqu’à 256 Kio. Pour les contenus volumineux, fractionnez la demande ou utilisez l’API REST.
Compatibilité. Votre client doit prendre en charge un serveur MCP distant et un en-tête Bearer personnalisé. Cette version ne propose pas de connexion OAuth.
Même compte, mêmes quotas. Les appels de traitement MCP et REST partagent les limites de votre compte. Consulter votre usage ne consomme pas de quota de traitement.
Traitement distant. Les données envoyées par votre assistant sont traitées sur nos serveurs, sans conservation du contenu. La recherche DNS transmet le domaine à Cloudflare. Les autres nouveaux outils du site restent locaux. Les fichiers PDF, images et audio passent par l’API REST, sans téléversement de fichiers dans ce MCP. Le test de réflexes reste réservé au navigateur.
Compresser un PDF
Envoyez un PDF brut avec votre clé Bearer. La réponse contient directement le PDF allégé (200 pages maximum).
POST https://freetools.3de-scs.be/api/v1/pdf/compress?level=balancedcurl --fail-with-body \
'https://freetools.3de-scs.be/api/v1/pdf/compress?level=strong' \
-H "Authorization: Bearer $THREEDE_API_KEY" \
-H 'Content-Type: application/pdf' \
--data-binary @document.pdf \
--output document-compresse.pdflight : optimisation sans perte · balanced : compromis (défaut) · strong : réduction accrue des images compatibles.
Le texte et les tracés sont conservés. Les images non compatibles ou dépassant 2 millions de pixels restent intactes. Le gain dépend du contenu du PDF.
Compresser une image
JPEG, PNG et WebP fixes. Envoyez les octets avec le Content-Type correspondant ; la réponse est directement l’image.
POST https://freetools.3de-scs.be/api/v1/images/compress?format=webp&quality=76curl --fail-with-body \
'https://freetools.3de-scs.be/api/v1/images/compress?format=webp&quality=76' \
-H "Authorization: Bearer $THREEDE_API_KEY" \
-H 'Content-Type: image/jpeg' \
--data-binary @photo.jpg \
--output photo.webpformat : original (défaut), jpeg, png ou webp. quality : entier de 10 à 95, 76 par défaut, pour JPEG/WebP. Le PNG reste sans perte. Sans gain dans le même format, l’original est retourné ; une conversion peut augmenter la taille.
Redimensionner une image
POST https://freetools.3de-scs.be/api/v1/images/resize?width=1200&format=webpUtilisez la même requête binaire avec width ou height pour conserver les proportions. Les deux axes ensemble imposent la taille exacte. Ou utilisez percent=50 (de 1 à 400), sans axes. Les options format et qualité sont identiques à la compression.
Limites API images : 20 Mio, 2 millions de pixels et 4 000 px par côté, en entrée comme en sortie pour les dimensions. Les applications locales acceptent jusqu’à 24 millions de pixels. Les animations sont refusées. L’orientation des photos est appliquée, la transparence conservée en PNG/WebP et remplacée par du blanc en JPEG.
Les réponses indiquent les dimensions dans X-Image-Width et X-Image-Height, les tailles dans X-Input-Bytes et X-Output-Bytes. X-Image-Unchanged: true indique que l’original, avec ses métadonnées, est conservé. Sinon les métadonnées sont retirées. Un redimensionnement peut produire un fichier plus lourd.
Toutes les autres opérations
PDF, images, archives, audio et données : la même clé et les mêmes quotas pour tous les outils. Une tentative admise compte pour un appel. Les API reçoivent explicitement vos fichiers ; les applications du répertoire les traitent sur votre appareil. La recherche DNS transmet uniquement le domaine demandé au résolveur Cloudflare.
PDF (7)
| Point d’accès | Fonction et limites |
|---|---|
POST /api/v1/pdf/merge | Fusionner des PDF Authentification Bearer et admission persistante communes à tous les traitements. 20 MiB maximum pour la requête entière, enveloppe multipart comprise, et 200 pages maximum. Une tentative admise consomme une unité de chaque quota même en cas de fichier invalide. Résultat dans un nouveau document ; les formulaires interactifs, signets et signatures numériques ne sont pas préservés. |
POST /api/v1/pdf/from-images | Convertir des images en PDF Authentification Bearer et admission persistante communes à tous les traitements. 20 MiB maximum pour la requête entière, enveloppe multipart comprise, et 200 pages maximum. Une tentative admise consomme une unité de chaque quota même en cas de fichier invalide. Résultat dans un nouveau document ; les formulaires interactifs, signets et signatures numériques ne sont pas préservés. JPEG/PNG fixes uniquement, 2 000 000 pixels par image, 4 000 000 pixels cumulés, 12 000 pixels par côté. Une image par page A4 avec marge de 24 points, orientation selon les dimensions affichées. EXIF 1–8 appliqué sans réencodage du JPEG. |
POST /api/v1/pdf/organize | Extraire, réordonner et tourner des pages PDF Authentification Bearer et admission persistante communes à tous les traitements. 20 MiB maximum pour la requête entière, enveloppe multipart comprise, et 200 pages maximum. Une tentative admise consomme une unité de chaque quota même en cas de fichier invalide. Résultat dans un nouveau document ; les formulaires interactifs, signets et signatures numériques ne sont pas préservés. |
POST /api/v1/pdf/watermark | Ajouter un filigrane texte au PDF Traitement explicite serveur, identité/quota/bail de capacité communs. Requête limitée à 20 MiB, multipart compris ; PDF déverrouillé de 200 pages maximum. Paramètres inconnus/répétés refusés. Coordonnées selon page affichée après rotation/CropBox ; une page ou un placement hors limites donne 400 invalid_request. Les modifications peuvent invalider une signature numérique existante. Le résultat peut être plus lourd. Texte latin centré, taille réduite si nécessaire ; pas de saut de ligne ni emoji. |
POST /api/v1/pdf/number | Numéroter les pages du PDF Traitement explicite serveur, identité/quota/bail de capacité communs. Requête limitée à 20 MiB, multipart compris ; PDF déverrouillé de 200 pages maximum. Paramètres inconnus/répétés refusés. Coordonnées selon page affichée après rotation/CropBox ; une page ou un placement hors limites donne 400 invalid_request. Les modifications peuvent invalider une signature numérique existante. Le résultat peut être plus lourd. |
POST /api/v1/pdf/sign | Ajouter une signature visuelle PNG au PDF Traitement explicite serveur, identité/quota/bail de capacité communs. Requête limitée à 20 MiB, multipart compris ; PDF déverrouillé de 200 pages maximum. Paramètres inconnus/répétés refusés. Coordonnées selon page affichée après rotation/CropBox ; une page ou un placement hors limites donne 400 invalid_request. Les modifications peuvent invalider une signature numérique existante. Le résultat peut être plus lourd. Signature visuelle uniquement, sans certificat ni garantie cryptographique. |
POST /api/v1/pdf/inspect | Inspecter les métadonnées et pages PDF PDF brut, 20 Mio et 200 pages maximum, PDF chiffrés refusés. Métadonnées limitées à 4 096 caractères chacune. Dimensions MediaBox non tournées en points et millimètres ; rotation séparée. Authentification et quotas partagés ; traitement distant explicite sans conservation du contenu. |
QR (1)
| Point d’accès | Fonction et limites |
|---|---|
POST /api/v1/qr/generate | Créer un QR code statique SVG Traitement serveur explicite. Chaque tentative authentifiée admise consomme une unité des quotas communs par compte; refus de capacité avant admission non compté. Aucun contenu conservé ou journalisé. Identité Bearer et en-têtes de quota communs. Corps JSON limité à 16 384 octets (ou limite du compte si inférieure). Contenu encodé limité à 2 000 octets UTF-8, incluant les champs générés WIFI/vCard; dépassement du contenu: 400 invalid_request. Correction M, marge blanche de 4 modules. Les champs Wi-Fi et vCard sont échappés. Format SVG uniquement dans cette API; PNG disponible dans l’interface locale. Les URL doivent commencer par http:// ou https://. Les caractères Unicode incomplets sont refusés au lieu d’être remplacés dans le QR. |
Texte (5)
| Point d’accès | Fonction et limites |
|---|---|
POST /api/v1/text/analyze | Compter les mots et caractères Traitement serveur explicite. Chaque tentative authentifiée admise consomme une unité des quotas communs par compte; refus de capacité avant admission non compté. Aucun contenu conservé ou journalisé. Identité Bearer et en-têtes de quota communs. Le corps JSON entier, syntaxe et échappements inclus, est limité à 1 048 576 octets (ou limite du compte si inférieure). Un mauvais type de champ ou option retourne 400 invalid_request. Les caractères sont des points de code Unicode, pas des graphèmes. |
POST /api/v1/text/clean | Nettoyer les espaces et sauts de ligne Traitement serveur explicite. Chaque tentative authentifiée admise consomme une unité des quotas communs par compte; refus de capacité avant admission non compté. Aucun contenu conservé ou journalisé. Identité Bearer et en-têtes de quota communs. Le corps JSON entier, syntaxe et échappements inclus, est limité à 1 048 576 octets (ou limite du compte si inférieure). Un mauvais type de champ ou option retourne 400 invalid_request. Les caractères sont des points de code Unicode, pas des graphèmes. Le nettoyage uniformise toujours CRLF et CR en LF. Toutes les options omises prennent leur défaut. Le résultat signale changed=false quand aucun changement n’est nécessaire. |
POST /api/v1/text/diff | Comparer deux textes ligne par ligne Traitement serveur explicite, sans conservation ni journalisation du contenu. Authentification Bearer et quotas par compte partagés entre toutes les clés et tous les outils. Chaque tentative admise coûte une unité ; un refus de capacité avant admission ne consomme rien. Corps JSON entier limité à 1 048 576 octets, ou limite du compte si inférieure. Le dépassement du corps donne 413 file_too_large ; un champ invalide ou une limite métier dépassée donne 400 invalid_request. Limites : 1 000 lignes par texte, 200 000 unités UTF-16 au total, un million de paires de lignes. Comparaison par plus longue sous-séquence commune. CRLF/CR normalisés en LF ; espaces et ligne vide finale conservés. beforeLine existe pour equal/remove ; afterLine pour equal/add. Un texte vide représente zéro ligne. |
POST /api/v1/text/base64 | Encoder ou décoder du texte UTF-8 Base64 Traitement serveur explicite, sans conservation ni journalisation du contenu. Authentification Bearer et quotas par compte partagés entre toutes les clés et tous les outils. Chaque tentative admise coûte une unité ; un refus de capacité avant admission ne consomme rien. Corps JSON entier limité à 1 048 576 octets, ou limite du compte si inférieure. Le dépassement du corps donne 413 file_too_large ; un champ invalide ou une limite métier dépassée donne 400 invalid_request. Base64 standard strict, padding requis lorsque nécessaire, bits de padding canoniques. Refuse espaces, préfixe data:, alphabet URL-safe et contenu décodé non UTF-8. Préserve un BOM UTF-8 encodé. Les paires Unicode incomplètes sont refusées à l’encodage. Texte vide accepté. Base64 n’est pas du chiffrement. |
POST /api/v1/text/sort | Trier et dédoublonner une liste Texte UTF-8 limité à 16 Kio et 2 000 lignes. Tri naturel stable, langue explicite fr/en. Doublons selon casse et espaces choisis, accents conservés. En ordre reverse, inversion des lignes restantes. Corps JSON limité à 16 384 octets ou à la limite du compte si inférieure. Authentification et quotas partagés ; aucune conservation du contenu. |
Images (6)
| Point d’accès | Fonction et limites |
|---|---|
POST /api/v1/images/convert | Convertir une image Image fixe JPEG, PNG ou WebP brute, 20 MiB, 2 000 000 pixels et 4 000 px par côté. HEIC réservé à l’outil local (415 via API). Orientation EXIF appliquée. Réencodage systématique sans métadonnées d’origine ; JPEG/WebP avec perte, PNG sans perte, JPEG sur fond blanc. Résultat éventuellement plus lourd. Quotas/admission et capacité partagés avec les autres outils. Paramètres inconnus ou répétés refusés. |
POST /api/v1/images/blur | Flouter ou masquer une zone Image fixe JPEG, PNG ou WebP brute, 20 MiB, 2 000 000 pixels et 4 000 px par côté. HEIC réservé à l’outil local (415 via API). Orientation EXIF appliquée. Réencodage systématique sans métadonnées d’origine ; JPEG/WebP avec perte, PNG sans perte, JPEG sur fond blanc. Résultat éventuellement plus lourd. Quotas/admission et capacité partagés avec les autres outils. Paramètres inconnus ou répétés refusés. |
POST /api/v1/images/strip-metadata | Supprimer les métadonnées d’une image Image fixe JPEG, PNG ou WebP brute, 20 MiB, 2 000 000 pixels et 4 000 px par côté. HEIC réservé à l’outil local (415 via API). Orientation EXIF appliquée. Réencodage systématique sans métadonnées d’origine ; JPEG/WebP avec perte, PNG sans perte, JPEG sur fond blanc. Résultat éventuellement plus lourd. Quotas/admission et capacité partagés avec les autres outils. Paramètres inconnus ou répétés refusés. |
POST /api/v1/images/crop | Recadrer une image Image brute fixe JPEG/PNG/WebP ; 20 MiB, 2 000 000 pixels, 4 000 px par côté. Orientation EXIF appliquée, métadonnées retirées au réencodage. Identité/admission/quota/bail de capacité communs. Les paramètres inconnus/répétés sont refusés. Région ou boîte de texte hors image : 422 invalid_image. JPEG sur blanc ; PNG sans perte, JPEG/WebP avec qualité et perte possible. Carré/cercle : dimensions égales. Cercle : PNG avec coins transparents ; format png sélectionné si absent, autre format explicite refusé400. |
POST /api/v1/images/watermark | Ajouter un filigrane texte à une image Image brute fixe JPEG/PNG/WebP ; 20 MiB, 2 000 000 pixels, 4 000 px par côté. Orientation EXIF appliquée, métadonnées retirées au réencodage. Identité/admission/quota/bail de capacité communs. Les paramètres inconnus/répétés sont refusés. Région ou boîte de texte hors image : 422 invalid_image. JPEG sur blanc ; PNG sans perte, JPEG/WebP avec qualité et perte possible. Texte latin Roboto ; boîte réservée de text.length × fontSize pixels et ceil(fontSize × 1.5) pixels de hauteur, entièrement dans l’image. |
POST /api/v1/images/palette | Extraire une palette de couleurs JPEG/PNG/WebP fixes bruts, 10 Mio, 2 millions de pixels et 4 000 px par côté maximum. Échantillon de 256 px maximum par côté, quantification 5 bits/canal, alpha <128 ignoré. 2–12 couleurs ; leurs pourcentages ne totalisent pas nécessairement 100 %. Résultat approximatif pouvant différer du navigateur. Authentification et quotas partagés ; traitement distant explicite sans conservation du contenu. |
Données (2)
| Point d’accès | Fonction et limites |
|---|---|
POST /api/v1/data/json | Valider, formater ou minifier du JSON Traitement serveur explicite, sans conservation ni journalisation du contenu. Authentification Bearer et quotas par compte partagés entre toutes les clés et tous les outils. Chaque tentative admise coûte une unité ; un refus de capacité avant admission ne consomme rien. Corps JSON entier limité à 1 048 576 octets, ou limite du compte si inférieure. Le dépassement du corps donne 413 file_too_large ; un champ invalide ou une limite métier dépassée donne 400 invalid_request. JSON texte limité à 1 Mio, profondeur 128. La sortie text est limitée à 8 Mio. Le formatage conserve la représentation lexicale des nombres, des chaînes et des clés dupliquées ; il ne les réécrit pas via JSON.stringify. validate retourne le texte original sans modification. |
POST /api/v1/data/csv | Convertir CSV et JSON Traitement serveur explicite, sans conservation ni journalisation du contenu. Authentification Bearer et quotas par compte partagés entre toutes les clés et tous les outils. Chaque tentative admise coûte une unité ; un refus de capacité avant admission ne consomme rien. Corps JSON entier limité à 1 048 576 octets, ou limite du compte si inférieure. Le dépassement du corps donne 413 file_too_large ; un champ invalide ou une limite métier dépassée donne 400 invalid_request. 10 000 lignes de données, 200 colonnes et 100 000 cellules, en-tête compris. CSV vers JSON exige des en-têtes non vides uniques et un nombre de cellules identique par ligne. Les valeurs CSV restent des chaînes, les guillemets doublés et champs multilignes sont pris en charge. Un BOM UTF-8 initial du CSV est retiré. JSON vers CSV exige un tableau non vide d’objets à valeurs scalaires ; colonnes = union des propriétés dans l’ordre de rencontre, null/absent deviennent vides. Les grands entiers hors précision sûre sont refusés : les fournir comme chaînes. Sortie CSV CRLF sans BOM. protectFormulas est désactivé par défaut ; l’activer modifie explicitement certaines cellules et en-têtes. Résultat limité à 8 Mio. Les propriétés JSON dupliquées sont refusées, y compris lorsque leurs noms utilisent des échappements Unicode équivalents. |
Liens (1)
| Point d’accès | Fonction et limites |
|---|---|
POST /api/v1/urls/clean | Retirer les paramètres de suivi connus Traitement serveur explicite, sans conservation ni journalisation du contenu. Authentification Bearer et quotas par compte partagés entre toutes les clés et tous les outils. Chaque tentative admise coûte une unité ; un refus de capacité avant admission ne consomme rien. Corps JSON entier limité à 1 048 576 octets, ou limite du compte si inférieure. Le dépassement du corps donne 413 file_too_large ; un champ invalide ou une limite métier dépassée donne 400 invalid_request. Supprime utm_* et les noms gclid,fbclid,dclid,msclkid,mc_cid,mc_eid,igshid,gbraid,wbraid,ttclid,twclid,li_fat_id,vero_id,oly_anon_id,oly_enc_id,mkt_tok,sc_cid,srsltid,yclid,_ga,_gl, sans distinction de casse après décodage du nom. Préserve les paramètres inconnus, leur ordre, leur encodage et le fragment. Les noms retirés sont listés pour chaque occurrence. N’ouvre aucun lien. Ne garantit pas la validité d’un lien signé après retrait ni la suppression de tout suivi. |
Calculs (4)
| Point d’accès | Fonction et limites |
|---|---|
POST /api/v1/calculate/percentage | Calculer un pourcentage, une variation ou une remise Traitement serveur explicite, sans conservation ni journalisation du contenu. Authentification Bearer et quotas par compte partagés entre toutes les clés et tous les outils. Chaque tentative admise coûte une unité ; un refus de capacité avant admission ne consomme rien. Corps JSON entier limité à 1 048 576 octets, ou limite du compte si inférieure. Le dépassement du corps donne 413 file_too_large ; un champ invalide ou une limite métier dépassée donne 400 invalid_request. of : value × percent / 100. proportion : part / whole × 100. change : (to − from) / abs(from) × 100 ; cette convention est explicite pour départ négatif. discount : price − price × percent / 100. Zéro accepté sauf dénominateur nul, prix non négatif, remise 0–100. Nombres finis et résultats finis obligatoires. Précision IEEE-754, sans arrondi monétaire automatique. |
POST /api/v1/calculate/date | Calculer une durée ou décaler une date Traitement serveur explicite, sans conservation ni journalisation du contenu. Authentification Bearer et quotas par compte partagés entre toutes les clés et tous les outils. Chaque tentative admise coûte une unité ; un refus de capacité avant admission ne consomme rien. Corps JSON entier limité à 1 048 576 octets, ou limite du compte si inférieure. Le dépassement du corps donne 413 file_too_large ; un champ invalide ou une limite métier dépassée donne 400 invalid_request. Dates réelles AAAA-MM-JJ entre 0001 et 9999. difference calcule end − start en jours UTC signés, sans inclusion supplémentaire de la borne de fin. add applique les mois avant les jours, avec jour ramené au dernier jour du mois cible si nécessaire, puis jours calendaires UTC. Deltas entiers ; résultat hors plage refusé. Les heures et fuseaux ne sont pas acceptés. |
POST /api/v1/calculate/timestamp | Convertir une date Unix Années 0001–9999, timestamps entiers en secondes ou millisecondes. Dates ISO UTC avec Z, millisecondes facultatives. Pas de fuseau local implicite. Corps JSON limité à 16 384 octets ou à la limite du compte si inférieure. Authentification et quotas partagés ; aucune conservation du contenu. |
POST /api/v1/calculate/units | Convertir des unités physiques Longueurs mm/cm/m/km/in/ft/yd/mi ; masses g/kg/oz/lb ; températures C/F/K ; vitesses m/s, km/h, mph, kn. Valeurs positives sauf températures au-dessus du zéro absolu. Corps JSON limité à 16 384 octets ou à la limite du compte si inférieure. Authentification et quotas partagés ; aucune conservation du contenu. |
Couleurs (1)
| Point d’accès | Fonction et limites |
|---|---|
POST /api/v1/colors/analyze | Convertir les couleurs et mesurer le contraste WCAG Traitement serveur explicite, sans conservation ni journalisation du contenu. Authentification Bearer et quotas par compte partagés entre toutes les clés et tous les outils. Chaque tentative admise coûte une unité ; un refus de capacité avant admission ne consomme rien. Corps JSON entier limité à 1 048 576 octets, ou limite du compte si inférieure. Le dépassement du corps donne 413 file_too_large ; un champ invalide ou une limite métier dépassée donne 400 invalid_request. Alpha, rgba/hsla, transparence et couleurs nommées refusés. sRGB 8 bits : RGB entiers 0–255 ; HSL converti puis arrondi aux canaux entiers. HSL retourné arrondi à deux décimales. Ratio calculé selon luminance sRGB WCAG avec seuil 0.04045 ; conformité évaluée AVANT tout arrondi d’affichage. AA normal ≥4.5, AA large ≥3, AAA normal ≥7, AAA large ≥4.5. Le ratio seul n’est pas un audit complet. |
Fichiers (5)
| Point d’accès | Fonction et limites |
|---|---|
POST /api/v1/archives/create | Créer une archive ZIP Authentification Bearer, compte, admission et quotas communs. Chaque tentative admise consomme une unité, succès ou erreur. Requête entière limitée à 20 MiB (20 971 520 octets), enveloppe multipart comprise, ou limite du compte si inférieure. Pas de conservation des fichiers, pas de cache, pas de déduplication ni relance automatique. Au plus 100 fichiers/entrées. Noms UTF-8/ASCII de 240 octets maximum ; chemins absolus, traversal, liens symboliques, noms ambigus/collisions insensibles à la casse, ZIP chiffrés et ZIP64 refusés. Le ZIP de sortie utilise le mode stockage : aucun gain de compression garanti ; sa taille peut dépasser légèrement 20 MiB du fait des en-têtes ZIP. |
POST /api/v1/archives/extract | Extraire et normaliser une archive ZIP Authentification Bearer, compte, admission et quotas communs. Chaque tentative admise consomme une unité, succès ou erreur. Requête entière limitée à 20 MiB (20 971 520 octets), enveloppe multipart comprise, ou limite du compte si inférieure. Pas de conservation des fichiers, pas de cache, pas de déduplication ni relance automatique. Au plus 100 fichiers/entrées. Noms UTF-8/ASCII de 240 octets maximum ; chemins absolus, traversal, liens symboliques, noms ambigus/collisions insensibles à la casse, ZIP chiffrés et ZIP64 refusés. Le ZIP de sortie utilise le mode stockage : aucun gain de compression garanti ; sa taille peut dépasser légèrement 20 MiB du fait des en-têtes ZIP. Décompression bornée à 20 MiB cumulés, contrôlée avant allocation puis pendant chaque expansion. Formats d’entrée stockage et Deflate. CRC32 et tailles validés. Renvoie un ZIP normalisé contenant les fichiers décompressés, en mode stockage ; aucun JSON/base64. Noms et dossiers non vides conservés, dossiers vides/commentaires/attributs/timestamps retirés. |
POST /api/v1/files/rename | Renommer des copies de fichiers dans un ZIP Authentification Bearer, compte, admission et quotas communs. Chaque tentative admise consomme une unité, succès ou erreur. Requête entière limitée à 20 MiB (20 971 520 octets), enveloppe multipart comprise, ou limite du compte si inférieure. Pas de conservation des fichiers, pas de cache, pas de déduplication ni relance automatique. Au plus 100 fichiers/entrées. Noms UTF-8/ASCII de 240 octets maximum ; chemins absolus, traversal, liens symboliques, noms ambigus/collisions insensibles à la casse, ZIP chiffrés et ZIP64 refusés. Le ZIP de sortie utilise le mode stockage : aucun gain de compression garanti ; sa taille peut dépasser légèrement 20 MiB du fait des en-têtes ZIP. Ordre du nom : préfixe, numéro suivi de tiret si activé, nom sans extension après remplacement littéral sensible à la casse, suffixe, extension originale. Numérotation dans l’ordre de transmission. Les contenus ne changent pas ; pas de renommage sur le système du client. |
POST /api/v1/text/hash | Calculer une empreinte de texte UTF-8 SHA-256, SHA-384 ou SHA-512. Aucun nettoyage ni normalisation du texte. Le résultat vérifie une égalité de contenu et ne certifie pas l’origine d’un fichier. Corps JSON limité à 16 384 octets ou à la limite du compte si inférieure. Authentification et quotas partagés ; aucune conservation du contenu. |
POST /api/v1/files/hash | Calculer une empreinte de fichier Octets bruts application/octet-stream, 20 Mio maximum. SHA-256 par défaut, SHA-384 et SHA-512 disponibles. Fichier vide accepté. Aucune preuve de provenance. Authentification et quotas partagés ; traitement distant explicite sans conservation du contenu. |
Audio (2)
| Point d’accès | Fonction et limites |
|---|---|
POST /api/v1/audio/trim | Découper un WAV PCM Authentification Bearer, compte, admission et quotas communs. Chaque tentative admise consomme une unité, succès ou erreur. Requête entière limitée à 20 MiB (20 971 520 octets), enveloppe multipart comprise, ou limite du compte si inférieure. Pas de conservation des fichiers, pas de cache, pas de déduplication ni relance automatique. WAV RIFF PCM entier 8/16/24/32 bits ou IEEE float32, 1–2 canaux, fréquence source de 8 à 96 kHz, 10 minutes maximum. Les WAV extensibles/compressés ou à blocs data multiples sont refusés. Sortie PCM16 limitée à 20 MiB, fréquence/canaux conservés sauf options. Le passage stéréo vers mono moyenne les canaux ; mono vers stéréo duplique le canal. Filtrage passe-bas avant toute réduction de fréquence ; interpolation linéaire lors d’une augmentation. Métadonnées retirées. |
POST /api/v1/audio/convert | Convertir fréquence et canaux d’un WAV PCM Authentification Bearer, compte, admission et quotas communs. Chaque tentative admise consomme une unité, succès ou erreur. Requête entière limitée à 20 MiB (20 971 520 octets), enveloppe multipart comprise, ou limite du compte si inférieure. Pas de conservation des fichiers, pas de cache, pas de déduplication ni relance automatique. WAV RIFF PCM entier 8/16/24/32 bits ou IEEE float32, 1–2 canaux, fréquence source de 8 à 96 kHz, 10 minutes maximum. Les WAV extensibles/compressés ou à blocs data multiples sont refusés. Sortie PCM16 limitée à 20 MiB, fréquence/canaux conservés sauf options. Le passage stéréo vers mono moyenne les canaux ; mono vers stéréo duplique le canal. Filtrage passe-bas avant toute réduction de fréquence ; interpolation linéaire lors d’une augmentation. Métadonnées retirées. |
Gaming (3)
| Point d’accès | Fonction et limites |
|---|---|
POST /api/v1/gaming/sensitivity | Calculer une sensibilité souris équivalente Conserve DPI × sensibilité dans le même jeu. Le coefficient yaw facultatif permet le calcul des cm/360 ; aucune équivalence entre jeux implicite. Corps JSON limité à 16 384 octets ou à la limite du compte si inférieure. Traitement distant sans conservation du contenu ; authentification et quotas partagés. |
POST /api/v1/gaming/fov | Convertir un champ de vision Projection rectilinéaire, angles en degrés. Vérifiez si votre jeu utilise un angle horizontal ou vertical. Corps JSON limité à 16 384 octets. Authentification et quotas partagés ; aucune conservation du contenu. |
POST /api/v1/gaming/frame-time | Convertir FPS et temps par image Conversion mathématique, sans mesure de performances ni de latence. Le rapport images/rafraîchissement est théorique. Corps JSON limité à 16 384 octets. Authentification et quotas partagés ; aucune conservation du contenu. |
Réseau (5)
| Point d’accès | Fonction et limites |
|---|---|
POST /api/v1/network/subnet | Calculer un sous-réseau IPv4 IPv4 uniquement. Préfixe entier 0–32 ; /31 suppose une liaison point à point RFC 3021, /32 représente une adresse. broadcast vaut null pour /31 et /32. Corps JSON limité à 16 384 octets ou à la limite du compte si inférieure. Traitement distant sans conservation du contenu ; authentification et quotas partagés. |
POST /api/v1/network/transfer | Estimer un temps de transfert Estimation sans mesure réseau. MB/GB/TB sont décimaux ; MiB/GiB binaires. Mbps/Gbps expriment des bits par seconde ; MB/s et MiB/s des octets. efficiency vaut 100 par défaut. Corps JSON limité à 16 384 octets ou à la limite du compte si inférieure. Traitement distant sans conservation du contenu ; authentification et quotas partagés. |
POST /api/v1/network/ipv6 | Calculer un sous-réseau IPv6 IPv6 compressée, complète ou avec suffixe IPv4. Sans identifiant de zone. Sorties hexadécimales normalisées ; nombre exact d’adresses renvoyé en chaîne décimale. Aucun broadcast ni soustraction de deux adresses. Corps JSON limité à 16 384 octets. Authentification et quotas partagés ; aucune conservation du contenu. |
POST /api/v1/network/bandwidth | Convertir des unités de débit Conversion de débits théoriques ; un octet vaut huit bits. Préfixes décimaux ou binaires explicites, sans test réseau. Corps JSON limité à 16 384 octets. Authentification et quotas partagés ; aucune conservation du contenu. |
POST /api/v1/network/dns | Interroger les enregistrements DNS Le domaine est envoyé exclusivement au résolveur Cloudflare par DNS over HTTPS. Aucun site résolu n’est visité. Délai 5 s, réponse 64 Kio, 128 réponses/autorités maximum par section. Statuts DNS dont NXDOMAIN renvoyés dans data ; indisponibilité du résolveur : 503. Corps JSON limité à 16 384 octets ou à la limite du compte si inférieure. Authentification et quotas partagés ; aucune conservation du contenu. |
Les paramètres, exemples et schémas des réponses sont dans la spécification OpenAPI. Vérifiez le statut HTTP avant d’enregistrer une réponse comme fichier.
Fonctions réservées au navigateur
PDF vers images et extraction audio des vidéos dépendent des moteurs du navigateur et n’ont pas d’API serveur. Les API audio acceptent le WAV PCM pris en charge ; les interfaces peuvent aussi décoder les formats reconnus par votre navigateur. HEIC et export QR PNG restent également locaux. Les différences de tailles et formats figurent dans chaque opération.
Le testeur de manette et le test de réflexes utilisent le matériel et les événements du navigateur : ils ne disposent pas d’API REST ou MCP distante.
Créer un QR code
curl --silent --show-error --fail-with-body \
'https://freetools.3de-scs.be/api/v1/qr/generate' \
-H "Authorization: Bearer $THREEDE_API_KEY" \
-H 'Content-Type: application/json' \
--data '{"kind":"url","url":"https://example.com"}'La réponse réussie contient un SVG. Pour un QR Wi-Fi ou un contact, adaptez les champs selon le schéma. Le téléchargement PNG est disponible dans l’outil local.
Analyser un texte
curl --silent --show-error --fail-with-body \
'https://freetools.3de-scs.be/api/v1/text/analyze' \
-H "Authorization: Bearer $THREEDE_API_KEY" \
-H 'Content-Type: application/json' \
--data '{"text":"Bonjour le monde"}'Les textes et fichiers ne sont pas conservés. Pour le nettoyage de texte, utilisez /text/clean avec les options souhaitées.
Consulter votre usage
GET https://freetools.3de-scs.be/api/v1/usageCe point d’accès nécessite la même clé et ne consomme pas votre quota de traitement. Les réponses indiquent les appels restants et les prochaines remises à zéro.
Les quotas sont appliqués atomiquement côté serveur à toutes les clés du compte. La journée commence à 00:00 UTC ; la limite minute utilise des fenêtres fixes.
Des réponses prévisibles
| Statut | Signification |
|---|---|
| 400 | Paramètres ou données invalides |
| 401 / 403 | Clé invalide, révoquée ou compte suspendu |
| 413 / 415 / 422 | Fichier trop lourd, format non accepté ou fichier impossible à traiter |
| 429 | Quota atteint ; respectez l’en-tête Retry-After |
| 503 | Capacité temporairement occupée ; réessayez après Retry-After |
Chaque réponse possède un identifiant X-Request-Id. Les erreurs applicatives sont des objets JSON avec error.code et error.message. Les tentatives admises sont décomptées, même lorsqu’elles produisent une erreur. Les POST ne sont pas dédupliqués automatiquement.
Confidentialité et disponibilité
L’API traite votre fichier sur le serveur, en mémoire, puis renvoie le résultat. Aucun fichier ni contenu traité n’est enregistré dans notre base ou notre stockage de fichiers. Les clés sont stockées sous forme d’empreintes ; l’identité du compte, les compteurs et les demandes de quota sont conservés pour gérer l’accès.
Le service limite les traitements simultanés par un verrou temporaire et peut refuser une requête si elle est occupée. Elle nécessite une connexion internet et s’utilise côté serveur : aucune ouverture CORS des clés dans les pages publiques.
Pour garder les fichiers sur votre appareil, utilisez nos applications locales, gratuites et sans clé.