Référence API · v1JSON + multipart

Intégrez la broderie à votre produit.

Une API REST pratique pour la numérisation privée d’images et la conversion réelle de fichiers machine. Cette page est le guide complet de démarrage rapide, la référence des points d’accès et le guide des erreurs.

URL de base

https://embroideryfileconverter.com/api/developer/v1

Authentification

Clé Bearer

Débit

60/min

Tâches

Asynchrone

Les clés sont limitées en portée, expirent, peuvent être révoquées immédiatement et ne sont affichées qu’une seule fois. Conservez-les sur votre serveur — ne les intégrez jamais dans du code navigateur ou client mobile.

Démarrage rapide

Votre première tâche en trois étapes.

01

Créer une clé

Sélectionnez uniquement les capacités nécessaires à votre service et stockez le secret dans un gestionnaire de secrets côté serveur.

02

Envoyer la source

Envoyez des données de formulaire multipart avec le workflow, le format de sortie et un fichier source privé.

03

Interroger la tâche

Utilisez le workflow et l’ID de tâche renvoyés jusqu’à ce que le statut soit terminé ou échoué.

Créer une tâche de conversion · Shell
curl -X POST https://embroideryfileconverter.com/api/developer/v1/jobs \
  -H "Authorization: Bearer $EFC_API_KEY" \
  -H "Accept: application/json" \
  -F "workflow=conversion" \
  -F "format=dst" \
  -F "[email protected]"

Authentification

Clés Bearer limitées en portée.

Envoyez la clé dans l’en-tête Authorization à chaque requête. Une clé n’accède qu’aux tâches de son propriétaire et uniquement aux capacités sélectionnées lors de sa création.

formats:read
usage:read
jobs:read
jobs:write
En-tête Authorization
Authorization: Bearer efc_live_...
Accept: application/json

Côté serveur uniquement

N’intégrez pas de clé de développeur dans une page web, un binaire de bureau distribué ou une application mobile. Proxyez les requêtes via votre backend.

Besoin d’un accès utilisateur délégué ?

Les clients IA doivent utiliser MCP avec OAuth et PKCE au lieu de recevoir une clé API de développeur.

POST /jobs

Choisissez le workflow correspondant à la source.

workflow=conversion

Fichier machine existant

Envoyez un fichier PES, DST, JEF ou un autre format de broderie lisible et choisissez un format de sortie inscriptible différent.

Requis
workflow, format, file
Taille maximale du fichier
50 MB
workflow=digitising

Illustration JPG, PNG, SVG ou WebP

Générez un aperçu de points à partir d’une illustration. La largeur finie et le nombre maximal de couleurs de fil sont requis.

Champs supplémentaires
width_mm, colour_count
Plages valides
10–300 mm · 1–24 couleurs
Taille maximale du fichier
20 MB

Fichiers uniques et lots

Utilisez file pour une source ou files[] pour jusqu’à 10 sources. Le traitement gratuit limité peut n’accepter qu’un fichier par requête. Chaque lot utilise un workflow et un format de sortie partagés.
202 Accepted
{
  "message": "Processing started.",
  "job": {
    "id": "01JEXAMPLEJOBID000000000",
    "status": "queued",
    "workflow": "conversion"
  },
  "jobs": [
    {
      "id": "01JEXAMPLEJOBID000000000",
      "status": "queued",
      "workflow": "conversion"
    }
  ],
  "freeUsage": {
    "previewRemaining": 2,
    "creditBalance": 0
  }
}

La création est asynchrone

HTTP 202 signifie que la tâche privée a été acceptée, pas que le fichier machine est prêt. Conservez à la fois job.id et job.workflow; le workflow sélectionne l’itinéraire de statut.

queuedEn attente d’un worker
processingLe moteur est en cours d’exécution
completedInspecter les sorties et avertissements
failedLire failureCode et failureReason

Interrogation et fichiers

Lisez le résultat, pas seulement le statut.

Une réponse terminée inclut des métriques analysées, des avertissements, des événements, des artefacts d’aperçu et des fichiers de sortie. Les URL signées sont de courte durée ; interrogez à nouveau la tâche lorsqu’une URL expire.

Obtenir une tâche de traitement · Shell
curl https://embroideryfileconverter.com/api/developer/v1/jobs/conversion/01JEXAMPLEJOBID000000000 \
  -H "Authorization: Bearer $EFC_API_KEY" \
  -H "Accept: application/json"

Métriques

Nombre de points, dimensions et mesures spécifiques au moteur.

Avertissements

Notes de compatibilité ou de production que votre interface doit afficher.

Fichiers privés

Les URL signées durent 10 minutes et continuent d’appliquer la propriété et l’état de déverrouillage.

Le déverrouillage peut consommer un droit

Inspectez d’abord job.unlock ou GET /usage. L’appel du point de terminaison de déverrouillage peut consommer un quota d’abonnement ou des crédits de traitement existants. Les comptes internes peuvent déverrouiller gratuitement. Cela n’ouvre pas de paiement ni d’achat de crédits.

Référence des points d’accès

La surface v1 complète.

OpenAPI JSON
GET/formats

Sources lisibles, sorties inscriptibles et avertissements de compatibilité.

formats:read
GET/usage

Quota d’aperçus, crédits, coûts des workflows et dates de réinitialisation.

usage:read
GET/jobs

Les 50 tâches de traitement privées les plus récentes du compte.

jobs:read
POST/jobs

Créer une tâche d’aperçu de conversion ou de numérisation d’image.

jobs:write
GET/jobs/conversion/{id}

Inspecter une tâche de conversion appartenant au compte et ses sorties.

jobs:read
GET/jobs/digitising/{id}

Inspecter une tâche de numérisation appartenant au compte et ses sorties.

jobs:read
POST/jobs/{workflow}/{id}/retry

Remettre en file une tâche échouée tant que sa source privée existe.

jobs:write
POST/jobs/{workflow}/{id}/unlock

Déverrouiller une tâche terminée à l’aide du quota ou de crédits existants.

jobs:write

Réponses de liste

GET /formats renvoie data[] et artworkInputs[]. GET /jobs renvoie data[] plus freeUsage et est limité aux 50 tâches les plus récentes.

Réponses de nouvelle tentative

La nouvelle tentative n’accepte qu’une failed tâche dont la source n’a pas expiré. Une nouvelle tentative réussie renvoie HTTP 202 avec la tâche réinitialisée à queued.

Erreurs et limites de débit

Échouez clairement. Réessayez délibérément.

401

Clé manquante, invalide, expirée ou révoquée

403

Capacité manquante ou ressource appartenant à un autre utilisateur

404

Tâche ou fichier privé introuvable

409

L’état de la tâche ne permet pas cette action

410

L’envoi de la source a expiré

422

Champs, fichier, format invalides ou quota insuffisant

429

Limite de débit dépassée

Erreur de validation 422
{
  "message": "The format field is invalid.",
  "errors": {
    "format": [
      "Choose an output format different from every detected source format."
    ]
  }
}

60 requêtes par minute

La limite générale s’applique par clé API, avec un plafond réseau distinct. Les routes d’envoi, de traitement et de déverrouillage sont soumises à des contrôles anti-abus plus stricts.

Gérer HTTP 429

Respectez Retry-After et utilisez un backoff exponentiel avec jitter. N’interrogez pas en continu les tâches terminées ou échouées.

Vous développez pour un agent IA ?

Utilisez OAuth + MCP, pas une clé API.

Le guide de l’agent inclut la configuration de connexion, les URL de découverte, OAuth PKCE, tous les schémas d’outils et des exemples JSON-RPC prêts à copier.

Ouvrir la documentation MCP