API Studii
Appelez n'importe quel outil Studii depuis votre propre serveur, script ou produit. Forfait Pro et plus.
Authentification
Émettez une clé sur /app/settings/api-keys. Transmettez-la à chaque requête comme jeton Bearer (ou via x-api-key) :
Authorization: Bearer stu_<your-key>Créer une tâche
Soumet une génération. Renvoie immédiatement l'identifiant de la tâche ; interrogezstatus_urljusqu'à ce que le statut soit completed ou failed.
POST https://studii.tech/api/v1/jobs
Authorization: Bearer stu_<your-key>
Content-Type: application/json
{
"tool": "studio",
"inputs": {
"mode": "image",
"source": "text",
"quality": "standard",
"aspect_ratio": "16:9",
"prompt": "A misty pine forest at dawn, shafts of golden light"
}
}Réponse 202 :
{
"id": "8a1f...",
"status": "queued",
"status_url": "https://studii.tech/api/v1/jobs/8a1f...",
"credits_charged": 8
}Interroger le statut
GET https://studii.tech/api/v1/jobs/<id>
Authorization: Bearer stu_<your-key>Réponse 200 :
{
"id": "8a1f...",
"status": "completed",
"output_url": "https://...supabase.co/.../outputs/<key>",
"output_kind": "image",
"tool": "studio",
"error": null,
"created_at": "2026-05-14T...",
"completed_at": "2026-05-14T...",
"credits_charged": 8
}Importer une image source
Les outils image-vers-image (virtual-staging, photo-restore, product-background, career-photo) nécessitent une image source. Flux en deux étapes :
Étape 1 — demandez une URL signée :
POST https://studii.tech/api/v1/uploads
Authorization: Bearer stu_<your-key>
Content-Type: application/json
{
"filename": "kitchen.jpg",
"content_type": "image/jpeg"
}Réponse 200 :
{
"object_key": "8a1f.../9c3e....jpg",
"signed_url": "https://...supabase.co/storage/v1/...?token=...",
"token": "...",
"expires_in": 7200
}Étape 2 — envoyez les octets en PUT (sans en-tête d'authentification, le content-type doit correspondre) :
curl -X PUT "$SIGNED_URL" \
-H "Content-Type: image/jpeg" \
--data-binary "@kitchen.jpg"Étape 3 — soumettez la tâche avec source_object_key défini sur l'object_key renvoyé :
POST https://studii.tech/api/v1/jobs
Authorization: Bearer stu_<your-key>
Content-Type: application/json
{
"tool": "virtual-staging",
"inputs": { "style": "modern", "room": "living" },
"source_object_key": "8a1f.../9c3e....jpg"
}Slugs des outils
studio— génération de texte ou image-vers-image / vidéovirtual-staging— nécessitesource_object_keyphoto-restore— nécessitesource_object_keyproduct-background— nécessitesource_object_keycareer-photo— nécessitesource_object_key(un portrait de face)
Erreurs
| Statut | Signification |
|---|---|
| 400 | Requête incorrecte — champ manquant ou entrées invalides |
| 401 | Clé d'API manquante, mal formée ou révoquée |
| 402 | Plus de crédits, ou plafond de dépense atteint |
| 403 | Le forfait n'autorise pas cet outil / cette combinaison |
| 404 | Tâche introuvable, ou appartenant à un autre utilisateur |
| 500 | Erreur serveur — réessai sûr |
Plafonds de dépense
Chaque clé peut avoir un plafond de crédits. Une fois le plafond atteint, les tâches renvoient 402. Les plafonds sont indicatifs — ils ne remboursent pas en cours de tâche. Utilisez un plafond bas sur les clés de production pour limiter les coûts incontrôlés.
Limites de débit
Pro : 60 requêtes/min par clé. Team et Business : 300/min. Augmentez-les via le support si besoin.