MishkanMishkan

Kit de marque

Le format du fichier que le Studio importe.

Mis à jour le 2026-10-05

Le kit de marque, c'est ce qui fait qu'un reel ou un carrousel fabriqué « Depuis un article » est le vôtre : votre nom, vos couleurs, votre logo, votre voix, et la ligne éditoriale que vous tenez. Il y a un kit par identité — votre compte personnel, et chacun de vos comptes business.

On peut le remplir à la main dans l'app. Mais une ligne éditoriale de deux pages ne se colle pas dans un champ de téléphone : un kit se prépare aussi sur un ordinateur, en un seul fichier JSON, puis s'importe. Cette page décrit ce fichier.

Importer un kit

Dans l'app : nouvelle publication → Studio → Depuis un article → Kit de marque → Importer un kit, puis choisissez le fichier .json (Fichiers, iCloud Drive, AirDrop…). Vérifiez le résultat, puis touchez Terminé — rien n'est enregistré avant.

  • Le kit va à l'identité sous laquelle vous publiez à ce moment-là. Changez d'identité d'abord pour remplir le kit d'un compte business.
  • Il reste sur l'appareil. Un kit n'est jamais envoyé à Mishkan et n'est pas synchronisé entre vos appareils : importez le fichier sur chacun.
  • L'import d'un fichier existe sur iPhone pour l'instant. Sur Android, le kit se remplit à la main.

Le fichier

Un seul objet JSON, en UTF-8, avec l'extension .json. Tous les champs sont optionnels : ce que le fichier ne dit pas reste tel quel. Un fichier qui ne porte que la ligne ne touche pas aux couleurs.

{
  "line": "We write for parents of the community: concrete, warm, never alarmist."
}

Les champs inconnus sont ignorés. Un champ du mauvais type (un nombre là où on attend du texte, un dégradé qui n'est pas une liste) rend tout le fichier illisible — l'app le dit et ne change rien.

La marque

ChampTypeSens
wordmarkstringle nom posé sur les visuels
handlestringle compte, rappelé sur la dernière slide (@…)
inkstringl'encre : le voile sombre sous le texte, #rrggbb. Par défaut #0b0b0b
accentstringla couleur chaude, par petites touches — le mot qui se dit, les filets. Par défaut #f2c14e
gradientstring[3]le fond des slides, du plus clair au plus sombre. Exactement trois couleurs, sinon ignoré

La ligne éditoriale

ChampTypeSens
languagestringfr | en | he — la langue de publication. Toute autre valeur est ignorée
linestringla ligne éditoriale, en texte libre : qui parle, à qui, avec quel regard. Vide : une ligne neutre
registersstringles registres à faire tourner d'une publication à l'autre (société, culture…)
ctastringla dernière ligne du carrousel : où lire la suite
searchesobject[]les veilles enregistrées : { "query", "edition" }. edition est l'édition de Google Actualités, fr | en | he ; absente, la langue du kit

La ligne est votre consigne au modèle, dans vos mots, aussi longue qu'il le faut. Les règles de format et les garde-fous factuels (exactitude, source toujours affichée, pas de haine) s'y ajoutent dans tous les cas : un kit ne peut pas les éteindre.

Les veilles s'ajoutent, elles ne remplacent rien : importer un kit n'efface pas celles que vous avez enregistrées à la main, et une veille déjà présente n'est pas doublée.

Illustrations et voix

ChampTypeSens
artStylestringcomment dessiner les illustrations. Vide : une affiche sérigraphiée dans vos couleurs
imageModelstringgoogle/<id du modèle> ou openai/<id du modèle>, par exemple openai/gpt-image-1. Chaîne vide : retour à l'automatique
voiceIDstringl'identifiant de la voix ElevenLabs du compte

Ces champs ne font que nommer un choix : le travail se fait avec VOS clés, gardées sur l'appareil. Un modèle auquel votre clé n'a pas droit retombe sur le choix automatique ; sans clé d'image les slides prennent vos cartes de marque, et sans clé ElevenLabs le reel est muet et sous-titré.

Logo, police, musique

Les trois fichiers voyagent dans le JSON, chacun sous la forme d'un objet qui porte ses octets en base64 :

{ "name": "Kontora-Bold", "mime": "font/otf", "data": "<base64>" }
ChampTypeSens
namestringoptionnel. Le nom de famille de la police, ou le titre affiché pour la musique
mimestringobligatoire. Le type MIME du fichier
datastringobligatoire. Les octets, en base64 standard, sur une seule ligne. Vide : le fichier est ignoré
ChampTypeSens
logofileimage/png (transparent, de préférence) ou image/svg+xml. Dessiné tel quel, à la taille qu'il faut à la mise en page
fontfilela police des titres : font/otf, font/ttf, font/woff ou font/woff2. Absente : celle du système
musicfileaudio/mpeg (mp3), audio/wav ou audio/mp4 (m4a). Bouclée et mixée sous la voix

Un logo, une police ou une musique importés remplacent ceux en place. N'utilisez qu'une police et un morceau que vous avez le droit de publier.

Ce qu'un fichier ne touche jamais

  • La mémoire du compte — ce qu'il a déjà fabriqué, rappelé au modèle pour qu'il ne refasse ni le même sujet ni le même angle. Elle raconte ce que CE téléphone a publié, pas ce qu'un fichier prétend.
  • Vos clés (Anthropic, OpenAI, Google AI Studio, ElevenLabs). Un fichier de kit ne contient aucun secret et peut passer d'une personne à l'autre.
  • Les kits de vos autres identités.

Un exemple complet

{
  "wordmark": "Beit Yaakov",
  "handle": "@beityaakov",
  "ink": "#0b0b0b",
  "accent": "#f2c14e",
  "gradient": ["#5b5b5b", "#333333", "#141414"],
  "language": "fr",
  "line": "Qui parle, à qui, avec quel regard…",
  "registers": "vie de la communauté, fêtes, étude, entraide",
  "cta": "La suite sur beityaakov.example",
  "artStyle": "flat screen-printed poster, thick grain, two inks",
  "imageModel": "google/gemini-3.1-flash-image",
  "voiceID": "<ElevenLabs voice id>",
  "searches": [
    { "query": "communauté juive Lyon", "edition": "fr" },
    { "query": "site:timesofisrael.com education", "edition": "en" }
  ],
  "logo":  { "mime": "image/png", "data": "<base64>" },
  "font":  { "name": "Kontora-Bold", "mime": "font/otf", "data": "<base64>" },
  "music": { "name": "Morning theme", "mime": "audio/mpeg", "data": "<base64>" }
}

Pour fabriquer le fichier depuis un dossier, avec jq :

jq -n \
  --arg line "$(cat line.txt)" \
  --arg logo "$(base64 < logo.png | tr -d '\n')" \
  --arg font "$(base64 < Title.otf | tr -d '\n')" \
  --arg music "$(base64 < theme.mp3 | tr -d '\n')" \
  '{
    wordmark: "Beit Yaakov",
    accent: "#f2c14e",
    line: $line,
    logo:  { mime: "image/png",  data: $logo },
    font:  { name: "Title", mime: "font/otf", data: $font },
    music: { name: "Theme", mime: "audio/mpeg", data: $music }
  }' > kit.json