Canvora × nanoclaw

Le CLI de visuels de marque pour nanoclaw

nanoclaw garde la boucle agent minimale — Canvora garde la surface d'outils tout aussi minimale : une variable d'environnement, une commande en entrée, des visuels de marque finalisés en sortie.

Crédits gratuits, sans carte bancaire. Veillez à toujours garder un humain dans la boucle.

Toute la configuration

Terminal
# Installez les skills (ou utilisez le CLI nu - les deux fonctionnent)
npx skills add canvora/canvora-mcp

# L'authentification tient en une variable d'environnement
export CANVORA_API_KEY=vd_...

# Test rapide
canvora credits --json

Voici ce que votre agent livre

Une génération, localisée deux fois. Même design, recomposé nativement en espagnol et en arabe — avec une écriture de droite à gauche composée correctement, pas de l'anglais inversé.

Le même visuel de marque généré en anglais, en espagnol et en arabe — design identique, composition RTL correcte

Généré avec les mêmes commandes que celles présentées sur cette page.

Comment ça marche

1. Lancer

La première ligne de stdout est l'id brut de la génération

Terminal
ID=$(canvora generate \
  --input "Trois habitudes des équipes distantes très efficaces..." \
  --format instagram_post --style minimal | head -1)

2. Suivre

Des vérifications de statut légères jusqu'à completed

Terminal
while true; do
  S=$(canvora status "$ID" --json | jq -r .status)
  [ "$S" = "completed" ] && break
  [ "$S" = "failed" ] && exit 1
  sleep 10
done

3. Livrer

Fichiers ou URL CDN, selon ce dont la boucle a besoin

Terminal
canvora download "$ID" --dir out/
canvora status "$ID" --json | jq -r '.outputs[].fileUrl'

Qu'est-ce que nanoclaw ?

nanoclaw est la version minimaliste de l'agent IA personnel : une boucle centrale minuscule et auditable qui s'appuie sur des outils externes bien élevés plutôt que sur de la complexité intégrée. Canvora épouse cette philosophie — tout le pipeline visuel tient en quatre commandes.

Surface minuscule

generate, status, download — la boucle essentielle tient en trois commandes. Tout sort en JSON avec --json ; la progression va sur stderr, les résultats sur stdout.

Aucun état à gérer

Pas de sessions, pas de SDK, pas de fichiers de config. La clé API vient de l'environnement ; les ids de génération sont de simples chaînes que votre boucle fait circuler.

Sûr en cas d'échec

Le solde est vérifié avant tout débit, les erreurs sont du JSON typé et les générations échouées sont remboursées automatiquement — une boucle minimale ne peut rien vider en silence.

L'outil agent complet, sur un seul écran

Voici l'intégration entière — sans bibliothèque intermédiaire

Terminal
#!/bin/sh
# outil nanoclaw : texte -> post instagram de marque -> URL du fichier
ID=$(canvora generate --input "$1" \
  --format instagram_post --brand "$BRAND_ID" | head -1)
until [ "$(canvora status "$ID" --json | jq -r .status)" = "completed" ]
do sleep 10; done
canvora status "$ID" --json | jq -r '.outputs[0].fileUrl'

Ajouter des langues sans ajouter de code

La même boucle minimale couvre tous les marchés

Terminal
# Une commande supplémentaire localise le visuel fini -
# même design, texte recomposé nativement :
canvora localize "$ID" --language tr
canvora localize "$ID" --language ar   # RTL correct, pas de l'anglais inversé

Pourquoi nanoclaw + Canvora

  • Boucle centrale en trois commandes : generate, status, download
  • stdout pour les données, stderr pour la progression — les pipes s'enchaînent proprement
  • Pas de SDK, pas de session, pas de config : une variable d'environnement et de simples chaînes
  • Erreurs JSON typées et solde vérifié avant débit — sûr dans les boucles sans supervision
  • localize et variations étendent la boucle sans nouveau code d'intégration

Référence des commandes

Ajoutez --json à n'importe quelle commande pour une sortie structurée, exploitable par la machine. La progression va sur stderr, les résultats sur stdout.

CommandeDescription
canvora generateCréez des visuels depuis --idea, --input texte, --url ou --file-url ; choisissez formats, marque, style, langue
canvora status <id>Vérifiez une génération ; --json renvoie le statut et les URL des fichiers de sortie
canvora download <id>Enregistrez les fichiers de sortie dans un répertoire
canvora localize <id>Même design, recomposé nativement dans une autre langue (RTL compris)
canvora variations <id>Des variantes d'une génération terminée
canvora edit <outputId>Retouchez un visuel avec une instruction en langage naturel
canvora formatsListez les ids des 100+ formats
canvora brandsListez les kits de marque (couleurs, polices, logo, ton)
canvora creditsAffichez le solde de crédits

Plus de 100 formats, un seul moteur

Chaque format a une composition et des zones de sécurité adaptées à sa plateforme — votre agent choisit par id.

Carrousel Instagram

Jusqu'à 20 slides, de l'accroche au CTA

Carrousel LinkedIn

Posts documents à faire défiler

Pitch Deck

Des séries de slides cohérentes

Post et Story Instagram

Formats feed et vertical

Carte statistique

Un chiffre, mis en scène pour marquer les esprits

Infographie

Visuels de données et de processus

En-tête de blog et image OG

La surface de lancement

Créations publicitaires

Publicités display et sociales

Voir tous les formats et outils →

FAQ

Pourquoi la génération est-elle asynchrone ? +

La génération visuelle est un vrai travail ; un appel bloquant immobiliserait la boucle de l'agent et ferait tomber les shells en timeout. Lancez le job, capturez l'id sur stdout, interrogez status. Le schéma tient en trois lignes de sh, montrées ci-dessus, et il ne bloque jamais.

Combien coûte chaque appel ? +

Crédits fixes : 10 par visuel unitaire, 15 par slide de carrousel ou de deck. canvora credits --json renvoie le solde ; une requête qui le dépasse échoue avant tout débit, avec l'écart exact dans l'erreur.

Que se passe-t-il si la boucle meurt en pleine génération ? +

Rien n'est perdu : la génération continue côté serveur et l'id reste interrogeable. En cas d'échec, les crédits sont remboursés automatiquement. Relancer le script démarre un nouveau job distinct — conservez donc l'id si vous préférez reprendre là où vous en étiez.

Y a-t-il autre chose à installer que le CLI ? +

Non. @canvora/cli est un simple binaire Node ; jq, dans les exemples, n'est là que par confort. L'installation des skills ajoute des workflows prêts à l'emploi, mais le CLI nu suffit à tout faire.

Fonctionne aussi avec

Le prochain appel d'outil de votre agent est un studio de design.

Créez un compte gratuit, définissez une clé, et laissez nanoclaw livrer des visuels fidèles à votre marque.