Créer un ZIP de fichiers texte
Créez un ZIP téléchargeable en collant du texte dans jusqu’à 50 entrées nommées. L’outil conserve les sous-dossiers relatifs sûrs et fonctionne localement ; les PDF, images et autres fichiers binaires ne sont pas encore acceptés.
Lancer gratuitement
Plusieurs fichiers, une seule archive
Regroupez configurations, journaux, CSV, notes de code et autres textes dans un seul téléchargement. Ajoutez une ligne par entrée, indiquez un chemin relatif sûr, collez le texte puis téléchargez le ZIP.
Un seul téléchargement, sans réduction de taille
Chaque entrée contient un nom ou chemin relatif et du texte UTF-8. Le format ZIP store regroupe les octets sans réduire leur taille.
Création locale dans le navigateur
Le navigateur accepte jusqu’à 50 entrées texte et les traite localement. L’API accepte le même contrat {name, content} à $0.002 la requête. L’envoi binaire n’est pas encore disponible.
Cas d’usage
Exporter des données textuelles
Une application regroupe un CSV, un manifeste JSON et un résumé texte.
Regrouper les textes d’un projet
Une équipe rassemble README, licence et configuration dans des sous-dossiers sûrs.
Archiver des journaux texte
Un traitement quotidien regroupe jusqu’à 50 journaux texte.
Questions fréquentes
Puis-je regrouper plusieurs fichiers à la fois ?
Oui, jusqu’à 50 entrées texte nommées.
L’archive est-elle plus légère que les fichiers séparés ?
Non. Le mode store regroupe le contenu sans réduire sa taille.
Mes fichiers sont-ils envoyés ailleurs ?
Le texte saisi reste dans le navigateur. Ce formulaire n’accepte pas de fichiers binaires.
Combien coûte la création d’une archive ?
Gratuit dans le navigateur. L’usage programmable, pour l’automatiser, est facturé $0.002 la requête.
Combien d’entrées texte puis-je archiver ?
Jusqu’à 50 entrées texte. Les PDF, images et autres fichiers binaires ne sont pas encore acceptés.
Faut-il un compte ?
Non, aucune inscription n’est demandée.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/data/zip \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"files":[{"name":"a.txt","content":"hola"}]}'const res = await fetch("https://api.kit.forhosting.com/data/zip", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"files": [
{
"name": "a.txt",
"content": "hola"
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/zip",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"files": [
{
"name": "a.txt",
"content": "hola"
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/zip", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"files":[{"name":"a.txt","content":"hola"}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"files":[{"name":"a.txt","content":"hola"}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/zip", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"files": [
{
"name": "a.txt",
"content": "hola"
}
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.zip",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 25 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |