Référence API
Utilisez ces points de terminaison REST de Prompt Converter Cloud. Authentifiez-vous avec une clé API Cloud après l’abonnement.
Authentification
Envoyez Authorization: Bearer pc_cloud_… ou l’en-tête X-Api-Key. Créez des clés sur la page Clés API après un abonnement Cloud actif. N’envoyez pas de JWT Supabase.
URL de base
En production, utilisez votre hôte Cloud, par exemple https://api.yourdomain.com. En local : http://localhost:5000.
Erreurs
Les requêtes en échec renvoient un objet JSON avec un code d’erreur lisible par machine et un message facultatif.
{
"error": "quota_exceeded",
"message": "Optional human-readable detail"
}
Convertir une invite
POST
/v1/convert
Convertit le texte brut en une invite optimisée pour le modèle choisi. Disponible sur tous les forfaits Cloud et compté dans le quota mensuel de conversions.
En-têtes
-
Authorizationstring facultatif - Clé API Cloud Bearer pc_cloud_…. Obligatoire si X-Api-Key n’est pas envoyé.
-
X-Api-Keystring facultatif - Clé API Cloud pc_cloud_…. Alternative à l’en-tête Authorization.
-
Content-Typestring obligatoire - Doit être application/json pour les corps JSON.
Paramètres du corps
-
rawInputstring obligatoire - Le texte à convertir ou à envoyer comme tour de chat.
-
targetModelstring facultatif - Clé de routage : gpt, claude, gemini ou grok. Par défaut gpt.
-
openAiResultModelstring facultatif - Identifiant de modèle OpenAI facultatif depuis GET /v1/models si targetModel est gpt.
-
claudeResultModelstring facultatif - Identifiant de modèle Anthropic facultatif depuis GET /v1/models si targetModel est claude.
-
geminiResultModelstring facultatif - Identifiant de modèle Gemini facultatif depuis GET /v1/models si targetModel est gemini.
-
grokResultModelstring facultatif - Identifiant de modèle xAI Grok facultatif depuis GET /v1/models si targetModel est grok.
Exemple de requête
curl -X POST https://api.yourdomain.com/v1/convert \
-H "Authorization: Bearer pc_cloud_..." \
-H "Content-Type: application/json" \
-d '{"rawInput":"Explain dependency injection in .NET","targetModel":"gpt"}'
Réponse de succès
{
"result": "You are a senior .NET architect...",
"targetModel": "gpt",
"resultModel": "gpt-5.6-luna"
}
Erreurs
400 raw_input_required, 401 missing_authorization / invalid_api_key, 403 subscription_required, 429 quota_exceeded, 502 provider_failed
Créer une complétion de chat
POST
/v1/chat
Exécute une complétion de chat en un tour avec les mêmes champs de modèle que convert. Growth et Business uniquement. Compte dans le quota de conversions.
En-têtes
-
Authorizationstring facultatif - Clé API Cloud Bearer pc_cloud_…. Obligatoire si X-Api-Key n’est pas envoyé.
-
X-Api-Keystring facultatif - Clé API Cloud pc_cloud_…. Alternative à l’en-tête Authorization.
-
Content-Typestring obligatoire - Doit être application/json pour les corps JSON.
Paramètres du corps
-
rawInputstring obligatoire - Le texte à convertir ou à envoyer comme tour de chat.
-
targetModelstring facultatif - Clé de routage : gpt, claude, gemini ou grok. Par défaut gpt.
-
openAiResultModelstring facultatif - Identifiant de modèle OpenAI facultatif depuis GET /v1/models si targetModel est gpt.
-
claudeResultModelstring facultatif - Identifiant de modèle Anthropic facultatif depuis GET /v1/models si targetModel est claude.
-
geminiResultModelstring facultatif - Identifiant de modèle Gemini facultatif depuis GET /v1/models si targetModel est gemini.
-
grokResultModelstring facultatif - Identifiant de modèle xAI Grok facultatif depuis GET /v1/models si targetModel est grok.
Exemple de requête
curl -X POST https://api.yourdomain.com/v1/chat \
-H "Authorization: Bearer pc_cloud_..." \
-H "Content-Type: application/json" \
-d '{"rawInput":"Explain dependency injection","targetModel":"gpt","openAiResultModel":"gpt-5.6-luna"}'
Réponse de succès
{
"result": "Dependency injection is a technique...",
"targetModel": "gpt",
"resultModel": "gpt-5.6-luna"
}
Erreurs
400 raw_input_required, 401 missing_authorization / invalid_api_key, 403 plan_required, 429 quota_exceeded, 502 provider_failed
Lister les modèles
GET
/v1/models
Renvoie les modèles chat, image et vidéo avec de courtes descriptions. Utilisez id comme *ResultModel ou modelId.
En-têtes
-
Authorizationstring facultatif - Clé API Cloud Bearer pc_cloud_…. Obligatoire si X-Api-Key n’est pas envoyé.
-
X-Api-Keystring facultatif - Clé API Cloud pc_cloud_…. Alternative à l’en-tête Authorization.
Paramètres de requête
-
kindstring facultatif - Filtre facultatif : chat, image ou video.
Exemple de requête
curl https://api.yourdomain.com/v1/models?kind=chat \ -H "Authorization: Bearer pc_cloud_..."
Réponse de succès
{
"models": [
{
"id": "gpt-5.6-luna",
"displayName": "GPT-5.6 Luna",
"provider": "openai",
"kind": "chat",
"description": "Chat model",
"targetModel": "gpt"
}
]
}
Erreurs
401 missing_authorization / invalid_api_key, 403 plan_required, 502 internal_error
Générer des images
POST
/v1/images
Génère des images de façon synchrone et renvoie des URL signées. Growth : 80 images par période ; Business : 300.
En-têtes
-
Authorizationstring facultatif - Clé API Cloud Bearer pc_cloud_…. Obligatoire si X-Api-Key n’est pas envoyé.
-
X-Api-Keystring facultatif - Clé API Cloud pc_cloud_…. Alternative à l’en-tête Authorization.
-
Content-Typestring obligatoire - Doit être application/json pour les corps JSON.
Paramètres du corps
-
promptstring obligatoire - Invite de génération. Ne doit pas être vide.
-
modelIdstring obligatoire - Identifiant de modèle depuis GET /v1/models pour le type correspondant.
-
aspectRatiostring facultatif - Rapport d’aspect facultatif, par exemple 1:1, 16:9, 9:16 ou 4:3.
-
countinteger facultatif - Nombre d’images facultatif (1–4) si le modèle le permet.
-
qualitystring facultatif - Qualité d’image OpenAI facultative : standard ou high.
Exemple de requête
curl -X POST https://api.yourdomain.com/v1/images \
-H "Authorization: Bearer pc_cloud_..." \
-H "Content-Type: application/json" \
-d '{"prompt":"A red balloon over a lake at dusk","modelId":"gpt-image-2","aspectRatio":"16:9"}'
Réponse de succès
{
"jobId": "11111111-1111-1111-1111-111111111111",
"status": "completed",
"kind": "image",
"modelId": "gpt-image-2",
"results": [
{
"storagePath": "user/job-0.png",
"signedUrl": "https://...",
"mimeType": "image/png"
}
]
}
Erreurs
400 prompt_required / model_not_allowed, 401 missing_authorization, 403 plan_required, 429 quota_exceeded, 502 provider_failed
Générer une vidéo
POST
/v1/videos
Démarre une tâche vidéo et renvoie HTTP 202 avec jobId. Interrogez GET /v1/videos/{jobId}. Growth : 20 vidéos ; Business : 50.
En-têtes
-
Authorizationstring facultatif - Clé API Cloud Bearer pc_cloud_…. Obligatoire si X-Api-Key n’est pas envoyé.
-
X-Api-Keystring facultatif - Clé API Cloud pc_cloud_…. Alternative à l’en-tête Authorization.
-
Content-Typestring obligatoire - Doit être application/json pour les corps JSON.
Paramètres du corps
-
promptstring obligatoire - Invite de génération. Ne doit pas être vide.
-
modelIdstring obligatoire - Identifiant de modèle depuis GET /v1/models pour le type correspondant.
-
aspectRatiostring facultatif - Rapport d’aspect facultatif, par exemple 1:1, 16:9, 9:16 ou 4:3.
-
durationSecondsinteger facultatif - Durée vidéo facultative en secondes (généralement 4 ou 8).
Exemple de requête
curl -X POST https://api.yourdomain.com/v1/videos \
-H "Authorization: Bearer pc_cloud_..." \
-H "Content-Type: application/json" \
-d '{"prompt":"A red balloon drifting over a lake","modelId":"sora-2","aspectRatio":"16:9","durationSeconds":8}'
Réponse de succès
{
"jobId": "22222222-2222-2222-2222-222222222222",
"status": "processing",
"kind": "video",
"modelId": "sora-2"
}
Erreurs
400 prompt_required / model_not_allowed, 401 missing_authorization, 403 plan_required, 429 quota_exceeded, 502 provider_failed
Interroger une tâche vidéo
GET
/v1/videos/{jobId}
Renvoie l’état d’une tâche vidéo appartenant au titulaire de la clé. Les tâches terminées incluent des URL signées.
En-têtes
-
Authorizationstring facultatif - Clé API Cloud Bearer pc_cloud_…. Obligatoire si X-Api-Key n’est pas envoyé.
-
X-Api-Keystring facultatif - Clé API Cloud pc_cloud_…. Alternative à l’en-tête Authorization.
Paramètres de chemin
-
jobIduuid obligatoire - Identifiant de tâche renvoyé par POST /v1/videos.
Exemple de requête
curl https://api.yourdomain.com/v1/videos/22222222-2222-2222-2222-222222222222 \ -H "Authorization: Bearer pc_cloud_..."
Réponse de succès
{
"jobId": "22222222-2222-2222-2222-222222222222",
"status": "completed",
"kind": "video",
"modelId": "sora-2",
"results": [
{
"storagePath": "user/job.mp4",
"signedUrl": "https://...",
"mimeType": "video/mp4"
}
]
}
Erreurs
400 job_id_required, 401 missing_authorization, 403 plan_required, 404 job_not_found
Obtenir l’usage
GET
/v1/usage
Renvoie l’usage des conversions et des médias pour la période Cloud en cours, y compris les limites.
En-têtes
-
Authorizationstring facultatif - Clé API Cloud Bearer pc_cloud_…. Obligatoire si X-Api-Key n’est pas envoyé.
-
X-Api-Keystring facultatif - Clé API Cloud pc_cloud_…. Alternative à l’en-tête Authorization.
Exemple de requête
curl https://api.yourdomain.com/v1/usage \ -H "Authorization: Bearer pc_cloud_..."
Réponse de succès
{
"used": 42,
"limit": 5000,
"planName": "growth",
"periodStart": "2026-07-01T00:00:00Z",
"periodEnd": "2026-08-01T00:00:00Z",
"imagesUsed": 3,
"imagesLimit": 80,
"videosUsed": 1,
"videosLimit": 20
}
Erreurs
401 missing_authorization / invalid_api_key, 502 internal_error
Contrôle de santé
GET
/v1/health
Sonde de disponibilité. Aucune clé API requise.
Exemple de requête
curl https://api.yourdomain.com/v1/health
Réponse de succès
{ "status": "ok" }
Erreurs
—