Public API (v1)#
A v1 REST API to read your project, generate content, schedule posts, and receive signed webhooks : reserved for Pro, Agency and Enterprise plans.
/api/public/v1/…) and will also be reachable from api.gliiz.com once that subdomain is wired up: same routes, same keys.Open Account Settings → API (the Workspaces page, not a project's own settings), pick the project to scope it to, create the key, then copy it immediately. The full secret is only shown once.
Call /me to confirm the project, remaining AI credits and connected social accounts. This is your smoke test.
Create an HTTPS webhook before long generations: finished jobs arrive without aggressive polling.
Generate copy/flyer, retrieve the asset from /assets or a webhook, then schedule it with /posts.
export GLIIZ_API_BASE="https://www.gliiz.com/api/public/v1"
export GLIIZ_API_KEY="gliiz_your_secret_key"
curl "$GLIIZ_API_BASE/me" \
-H "Authorization: Bearer $GLIIZ_API_KEY"Generate a key from Account Settings → API (Owner or Admin, Pro/Agency/Enterprise plan on the chosen project). A key is scoped to exactly one project and shown in full only once at creation. Send it as a Bearer token on every request:
curl https://www.gliiz.com/api/public/v1/me \
-H "Authorization: Bearer gliiz_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"All v1 routes use JSON, and webhooks deliver signed JSON to you. Keep the key server-side only: never expose it in a browser, public mobile app, or embedded script.
const GLIIZ_API_BASE = "https://www.gliiz.com/api/public/v1";
async function gliiz(path: string, init: RequestInit = {}) {
const res = await fetch(`${GLIIZ_API_BASE}${path}`, {
...init,
headers: {
"Authorization": `Bearer ${process.env.GLIIZ_API_KEY}`,
"Content-Type": "application/json",
...init.headers,
},
});
const json = await res.json().catch(() => ({}));
if (!res.ok) throw new Error(json.error ?? `Gliiz API error ${res.status}`);
return json;
}The easiest path is deliberately linear: verify the project, generate copy, generate or reuse a visual, then schedule. Webhooks let you receive long-running generations without keeping a connection open.
// 1) Vérifier le projet et les crédits
const me = await gliiz("/me");
console.log(me.project.name, me.credits?.remaining);
// 2) Générer des légendes adaptées à la marque du projet
const copy = await gliiz("/generate/copy", {
method: "POST",
body: JSON.stringify({
prompt: "Annonce le lancement de notre nouvelle offre premium",
platforms: ["instagram", "linkedin"],
contentKind: "image"
}),
});
// 3) Générer un visuel IA. La réponse est souvent async: gardez le jobId.
const flyer = await gliiz("/generate/flyer", {
method: "POST",
body: JSON.stringify({
prompt: "Flyer premium pour le lancement d'une offre marketing IA",
format: "portrait",
outputQuality: "2k",
modelTier: "standard",
variantCount: 1
}),
});
// 4) Si besoin, connecter un compte réseau social (générer l'URL OAuth sécurisée)
const connection = await gliiz("/social/connect", {
method: "POST",
body: JSON.stringify({ platform: "linkedin" }),
});
console.log("Connect URL:", connection.connect_url);
// 5) Quand l'asset est disponible (via webhook ou /assets), planifier le post
await gliiz("/posts", {
method: "POST",
body: JSON.stringify({
content_item_id: "content-item-uuid",
caption: copy.copy.linkedin.caption,
platforms: ["linkedin"],
scheduled_at: "2026-09-01T09:00:00.000Z"
}),
});VIBE & Turbo
The API is not a second conversational brain: it triggers the same engines as Studio/VIBE, but without a chat thread. Use VIBE or Turbo for conversation; use the API for system integrations.
Team
A key is created by an Owner/Admin and remains bound to one project. It uses the project owner's credit pool, not the human user calling your server.
Video
Video generation exists in Studio/VIBE/Turbo. It is not yet exposed in public v1 API keys; fetch already-created videos through /assets.
| Method & path | What it does |
|---|---|
GET /api/public/v1/me | Project, full brand identity, credit cost per generation type, credit balance, and connected social accounts with their id. |
GET /api/public/v1/assets | List generated assets (flyers, copy, video), newest first. ?limit, ?before for pagination. |
GET /api/public/v1/analytics | Latest per-platform stats (followers, reach, engagement). ?period=<days>. |
POST /api/public/v1/generate/copy | Generate AI captions/hashtags for one or more platforms. |
POST /api/public/v1/generate/flyer | Generate an AI flyer/visual. Runs the same engine as Studio. |
GET/POST /api/public/v1/social/connect | List connectable platforms or generate secure OAuth authorization URL to link a social account. |
POST /api/public/v1/posts | Schedule a post from an existing asset or a media URL. |
GET/POST /api/public/v1/webhooks | List or create HMAC-signed webhook subscriptions. |
DELETE /api/public/v1/webhooks/:id | Disable a webhook without deleting its delivery history. |
POST /api/public/v1/webhooks/test | Send a webhook.test event to your active subscriptions. |
GET /api/public/v1/meVerify the key, project and creditsCall this route when your integration starts. It confirms that the key is valid, points to the right project, and still has usable credits.
| Authorization | header | Bearer gliiz_... |
| project | response | id, name and creation date for the key-scoped project. |
| credits | response | monthly_limit, used, purchased_balance, remaining. |
| connected_accounts | response | platform, name, type and active state for connected social accounts. |
{
"project": { "id": "uuid", "name": "Acme", "created_at": "2026-08-12T10:00:00Z" },
"credits": { "monthly_limit": 200, "used": 42, "purchased_balance": 25, "remaining": 183 },
"connected_accounts": [
{ "platform": "instagram", "account_name": "acme", "account_type": "business", "active": true }
]
}GET /api/public/v1/assets?limit=20&before=2026-08-12T10:00:00ZList generated assetsUse /assets to fetch visuals, videos and content already created in the project. Pagination uses next_cursor: send it back as before to request the next page.
| limit | query, 1-100 | Number of assets returned. Default: 20. |
| before | query ISO date | Time cursor returned by next_cursor. |
| asset_kind | response | image | video | flyer | copy |
| asset_url / flyer_png_url | response | Media URL to display, download or schedule. |
curl "$GLIIZ_API_BASE/assets?limit=10" \
-H "Authorization: Bearer $GLIIZ_API_KEY"GET /api/public/v1/analytics?period=30Read social analyticsReturns the latest available analytics snapshot per platform over the requested period. Values depend on permissions granted by each social network.
| period | query, 1-365 | Number of days analyzed. Default: 30. |
| followers_count | response | Known follower count at snapshot date. |
| reach | response | Available reach for the platform. |
| engagement_rate | response | Engagement rate stored by Gliiz. |
POST /api/public/v1/generate/copyGenerate captions and hashtagsThis route is synchronous: it responds directly with generated text. It automatically loads brand identity, tone, contact details and strategic hashtags from the key-scoped project.
| prompt | string, requis | Exact subject of the content to publish. |
| platforms | array | instagram | facebook | linkedin | tiktok | youtube |
| contentKind | image | video | Helps the AI avoid video wording for an image, or the reverse. |
| brandName/toneOfVoice/sector/pillars | optional | Light overrides if you call without full context; the project remains authoritative. |
{
"prompt": "Présente notre nouvelle offre premium pour PME",
"platforms": ["instagram", "linkedin"],
"contentKind": "image"
}POST /api/public/v1/generate/flyerGenerate an AI visualThis route creates a generation job. The normal response is 202 with jobId; receive completion through generation.completed, or list /assets later. Credits are checked before enqueueing.
| prompt | string, requis | Visual brief. Be concrete: subject, offer, mood, audience. |
| format | optional | square | portrait | story | landscape |
| outputQuality | optional | 2k | 4k |
| modelTier | optional | standard | premium |
| visualType | optional | typography | hybrid |
| variantCount | optional | 1 | 2 | 3 — DEFAULTS TO 2. Each variant is billed: send 1 if you only want one. |
| subjectUrls | optional | Public HTTPS reference images. |
| generationRequestId | optional | Client idempotency key to avoid duplicates. |
{
"prompt": "Flyer premium pour annoncer une offre marketing IA pour restaurants",
"format": "portrait",
"outputQuality": "2k",
"modelTier": "standard",
"visualType": "hybrid",
"variantCount": 1,
"generationRequestId": "launch-offer-2026-09-01"
}GET / POST /api/public/v1/social/connectConnect a social network or list integrationsEntry point to connect a social network account to your Gliiz project. GET lists all supported platforms with their status and already connected accounts. POST generates the secure OAuth authorization URL (with automatic continuation redirect back to Gliiz).
| GET /social/connect | query: ?platform= | Optional. Filters on a platform or lists all available integrations and active accounts. |
| POST /social/connect | body: { platform } | Required. Platform to connect: linkedin, linkedin_business, tiktok, youtube, google_ads, tiktok_ads, canva. |
| connect_url | response (POST) | Secure OAuth URL generated by Gliiz. Open it in a browser to complete account authorization. |
# 1. Générer l'URL d'autorisation OAuth pour LinkedIn
curl -X POST https://www.gliiz.com/api/public/v1/social/connect \
-H "Authorization: Bearer gliiz_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"platform": "linkedin"}'
# 2. Ou lister les plateformes connectables et comptes actifs
curl https://www.gliiz.com/api/public/v1/social/connect \
-H "Authorization: Bearer gliiz_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"// Réponse / Response POST (200 OK):
{
"platform": "linkedin",
"name": "LinkedIn Personnel",
"status": "ready",
"connect_url": "https://www.gliiz.com/api/auth/linkedin?projectId=prj_123456789",
"instructions": "Ouvrez cette URL dans votre navigateur pour autoriser Gliiz. Une fois le flux OAuth terminé, votre compte sera lié automatiquement à ce projet.",
"connected_accounts_count": 0
}POST /api/public/v1/postsSchedule a postSchedules an existing asset or media URL to one or more networks. If multiple accounts for a platform are connected, send account_by_platform to select the right account.
| content_item_id | uuid | Existing Gliiz asset. Recommended after generation. |
| media_url | url | Alternative: public URL when the asset does not exist in Gliiz yet. |
| caption | string, requis | Published text. Use copy.<platform>.caption for ready-to-publish output. |
| platforms | array, requis | instagram | facebook | linkedin | tiktok | youtube |
| scheduled_at | ISO datetime | UTC date. Default: now + 30 seconds. |
| account_by_platform | object | Map platform → social_account_id when needed. |
{
"content_item_id": "2f67a5b0-6b0b-47fb-84f0-a077e0d2dd9e",
"caption": "Votre légende prête à publier...",
"platforms": ["instagram", "facebook"],
"scheduled_at": "2026-09-01T09:00:00.000Z",
"account_by_platform": {
"instagram": "social-account-uuid"
}
}GET / POST /api/public/v1/webhooksManage outgoing webhooksWebhooks are the simplest way to integrate Gliiz with a CRM, CMS, ERP, e-commerce backend or internal tool. Create a subscription, store the secret, verify signatures, then process events.
| GET /webhooks | list | Lists active and disabled subscriptions for the project. |
| POST /webhooks | create | Creates an HTTPS subscription and returns secret once. |
| DELETE /webhooks/:id | disable | Disables without deleting delivery history. |
| POST /webhooks/test | test | Sends webhook.test to active subscriptions. |
project_id sent in a request body is ignored in favor of the key's own project. Generation requests count against that project owner's normal plan limits and rate limits, same as using the app itself.GET /api/public/v1/generate/jobs/{jobId}Track an asynchronous generationEvery generation (visual, image, video, motion control) answers 202 with a jobId. This route returns its state at any time: the direct alternative to a webhook, with no server to expose. One endpoint for every generation type.
| status | queued | running | completed | failed | canceled | Poll while the value is queued or running. A finished generation carries its result in result. |
| result | object | null | Present only on completed: holds the produced URLs and the generation's metadata. |
| error | string | null | Set on failed. Credits reserved for a failed generation are refunded automatically. |
POST /api/public/v1/generate/videoGenerate a videoGenerates a video from a prompt, or from a starting image if you supply one. Answers 202 with a jobId to track. The credit cost depends on the model, duration and resolution requested.
POST /api/public/v1/generate/imageGenerate an imageGenerates an image from the brief. The visual's nature is READ from the brief: a photo asked for in plain words receives no headline and no contact details, a flyer carries them. Answers 202 with a jobId.
POST /api/public/v1/generate/rewriteRewrite a textRewrites an existing text in the project brand's voice. Synchronous: the response carries the rewritten text directly.
POST /api/public/v1/generate/motion-controlAnimate a characterApplies the motion of a reference video to a character supplied as an image. Answers 202 with a jobId to follow on the tracking route above.
POST /api/public/v1/assets/importImport a file into the libraryCopies a file from a URL into the project's Gliiz storage, where it becomes publishable. The file stops depending on the source URL, which may expire.
GET · POST /api/public/v1/automationsList and create automationsGET lists the project's automations and their state. POST creates one. An automation created through the API NEVER publishes on its own: it prepares, and publishing stays subject to your approval.
GET /api/public/v1/posts/{queueItemId}Track a publicationState of a scheduled publication: pending, published, or failed with its reason. The id is the one returned by POST /posts.
When you create a webhook, Gliiz returns a whsec_… secret shown once. Every POST delivery includes X-Gliiz-Timestamp and X-Gliiz-Signature. Verify the HMAC-SHA256 signature over `${timestamp}.${body}` before processing the event.
curl "$GLIIZ_API_BASE/webhooks" \
-X POST \
-H "Authorization: Bearer $GLIIZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Production backend",
"url": "https://example.com/webhooks/gliiz",
"events": ["generation.completed", "generation.failed", "post.scheduled"]
}'{
"webhook": {
"id": "webhook-subscription-uuid",
"name": "Production backend",
"url": "https://example.com/webhooks/gliiz",
"events": ["generation.completed", "generation.failed", "post.scheduled"],
"created_at": "2026-08-12T10:00:00.000Z",
"secret": "whsec_copy_this_once"
}
}import crypto from "crypto";
const timestamp = request.headers["x-gliiz-timestamp"];
const signature = request.headers["x-gliiz-signature"];
const expected = "sha256=" + crypto
.createHmac("sha256", process.env.GLIIZ_WEBHOOK_SECRET!)
.update(`${timestamp}.${rawBody}`)
.digest("hex");
if (!crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected))) {
throw new Error("Invalid Gliiz webhook signature");
}{
"id": "evt_01J...",
"event": "generation.completed",
"created_at": "2026-08-12T10:02:14.000Z",
"project_id": "project-uuid",
"data": {
"api_key_id": "api-key-uuid",
"job_id": "generation-job-uuid",
"workflow": "flyer.v1",
"status": "completed",
"result": {
"contentItemId": "content-item-uuid",
"imageUrl": "https://..."
}
}
}Available events: generation.copy.completed, generation.flyer.queued, generation.completed, generation.failed, post.scheduled, webhook.test.
| generation.copy.completed | sync | A caption generation completed. |
| generation.flyer.queued | async | A visual generation job was accepted into the queue. |
| generation.completed | async | A generation job finished successfully. |
| generation.failed | async | A job failed or was canceled. |
| post.scheduled | sync | One or more posts were scheduled. |
| webhook.test | manual | Event sent by /webhooks/test. |
2xx quickly after signature verification. If processing is slow, put the event in your own queue and respond immediately. Gliiz logs the HTTP status, response snippet and delivery errors.API errors are deliberately simple: an HTTP status, a readable error field, and sometimes details/code for validation. Handle at least the statuses below.
| 400 | Bad Request | Invalid JSON payload or missing field. |
| 401 | Unauthorized | Missing, malformed, revoked or unknown key. |
| 402 | Payment Required | Not enough credits to start the generation. |
| 403 | Forbidden | Plan without API access, plan quota, or unauthorized action. |
| 404 | Not Found | Project, asset or webhook not found in the key scope. |
| 422 | Unprocessable Entity | Valid JSON but invalid business parameters. |
| 429 | Rate Limited | Too many requests or too many active jobs. |
| 500/503 | Server Error | Server incident or AI provider temporarily unavailable. |
{
"error": "Invalid post payload",
"details": {
"fieldErrors": {
"platforms": ["Array must contain at least 1 element(s)"]
}
}
}/assets.Platforms & Networks#
What you can do on each connected social network (publishing, comment replies, and DM replies), so you know what to expect before connecting an account.
| Platform | Publishing | Comment auto-reply | DM auto-reply |
|---|---|---|---|
| ⏳ Soon | ⏳ Soon | ⏳ Soon Messenger | |
| ⏳ Soon | ⏳ Soon | ⏳ Soon DM | |
| TikTok | ✅ Publishing | ❌ | ❌ |
| ✅ | ⚠️ Limited | ❌ | |
| YouTube | ✅ Video only | ❌ | ❌ |
| N/A | N/A | ✅ |
Capabilities above depend on the permissions each platform grants Gliiz at connection time and can change if a platform updates its policies. If a feature you expect is missing on a connected account, try reconnecting it from Settings → Accounts.
Claude, ChatGPT & Gemini (MCP)#
Generate, import and publish Gliiz content directly from your own Claude, ChatGPT or Gemini, without opening the app. One server (MCP, the standard protocol for both) serves both clients.
Limits by plan. Beyond these, every call (Claude, ChatGPT or Gemini) gets a 429 until the window resets:
| Plan | Max keys | Per minute | Per day |
|---|---|---|---|
| Starter | 1 | 20 | 300 |
| Pro | 3 | 60 | 3 000 |
| Agency | 7 | 120 | 8 000 |
| Enterprise | 20 | 240 | Unlimited |
The two columns don't measure the same thing: the per-minute limit caps a burst, the per-day limit caps sustained volume across the whole day. A Starter account sustaining 20/min without a break would exhaust its 300 requests in 15 minutes, then wait until the next day. They are not two ways of saying the same limit.
Shared by Claude and ChatGPT, you only create it once. Account Settings → API → Create a key. The full key (prefix gliiz_…) is shown only at that exact moment. Copy it right away: it will never be shown in full again (only an 8-character prefix stays visible, to recognize it in the list). If you lose it, revoke it and create a new one: revoking one key doesn't affect the others.
claude_desktop_config.json by hand, Claude Desktop only reads local servers there and ignores, with an error, any remote server placed in it.From Claude Desktop or claude.ai, the URL to paste into "Add custom connector":
https://www.gliiz.com/api/mcp/claudeClaude then opens a Gliiz page: sign in, pick the project to authorize, and you are done. No API key is involved in this path.
In a terminal, from any folder:
claude mcp add --transport http gliiz https://www.gliiz.com/api/mcp/claude \
--header "Authorization: Bearer gliiz_YOUR_API_KEY" \
--scope user--scope usermakes the connector available from any folder, not just the one you added it from, recommended for everyday use. Don't have Claude Code installed? The official command (macOS/Linux):
curl -fsSL https://claude.ai/install.sh | bashOnce registered, day-to-day use is no longer a sequence of commands: just type claude in a terminal, which opens a real conversation, and describe what you want in plain language (see step 3 below). No extra install, no restart needed beyond the command itself.
Video Tutorial: Connect Gliiz MCP to Claude Code & Claude Desktop
Five screens, in this exact order:
| 1 | Settings → Connectors → Advanced | Turn on "Developer mode". |
| 2 | Connectors → Add | "Add custom connector". |
| 3 | Name | Gliiz |
| 4 | Authentication | Pick OAuth. ChatGPT opens the Gliiz screen: sign in, pick the project, confirm. |
| 5 | Create | The connector appears in the list, ready to enable inside a conversation. |
Server URL (the "URL" field, screen 3), copy-paste directly:
https://www.gliiz.com/api/mcp/chatgptAuthentication (screen 4): pick "API key", then paste your key from step 1 into the field, no Bearer prefix, no space before or after:
gliiz_YOUR_API_KEYInside a conversation, open the tools picker (+ icon) and check "Gliiz". Activation is per conversation: a conversation already open before you added the connector won't see it retroactively, you need to open a new one or enable it manually in that same one.
Video Tutorial: Connect Gliiz MCP connector to ChatGPT in 2 minutes
Gemini has its own MCP surface, separate from Claude's and ChatGPT's. It serves the same tool set as ChatGPT — since Gemini generates images natively, gliiz_generate_flyer is not exposed to it: it imports what it created through gliiz_import_asset.
The MCP server URL to declare in Gemini:
https://www.gliiz.com/api/mcp/geminiIn a Gemini client that reads an MCP configuration file, declare the server like this. The key comes from step 1 above:
{
"mcpServers": {
"gliiz": {
"url": "https://www.gliiz.com/api/mcp/gemini",
"headers": {
"Authorization": "Bearer gliiz_VOTRE_CLE_API"
}
}
}
}To check that the key and URL answer, before even configuring the client:
curl -X POST https://www.gliiz.com/api/mcp/gemini \
-H "Authorization: Bearer gliiz_VOTRE_CLE_API" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'No special command to learn. Once the connector is enabled, you describe what you want in plain language, and the assistant decides ON ITS OWN whether to call a Gliiz tool, exactly as it would decide to use a web search if it needed one. You never need to write "use the Gliiz MCP" or name a tool:
| You write | The assistant calls | |
| "Write me an Instagram caption for our product launch" | gliiz_generate_copy | |
| "What are my stats for the last 30 days?" | gliiz_get_analytics | |
| "Here's an image I just generated, add it to my Gliiz library" | gliiz_import_asset |
For best results: give useful context in your sentence (target platform, desired tone, which project if you have several) rather than letting the assistant guess. If it's unsure between several tools or projects, it will ask before acting, it never silently improvises a publication or a credit spend.
Ask a question that forces the assistant to call a read-only tool, valid for both Claude and ChatGPT. No credits spent, no risk:
What's the AI credit balance on my Gliiz account, and which social accounts are connected?Expected behavior: the assistant announces it's calling a tool ("Gliiz", gliiz_get_account), then answers with your real balance and real accounts, the same numbers as Account Settings → API in the app. If it answers without ever mentioning a tool, or with an authentication error, redo step 1 (key mispasted, stray space, or a revoked key) then step 2/2-alt (restart missed on Claude, connector not checked in THIS conversation on ChatGPT, or plan still Free/Starter).
Claude gets the full creative studio (it has no native image or video generation). ChatGPT already generates images: it gets gliiz_import_asset instead, to bring what it just produced into your Gliiz library.
| Tool | Claude | ChatGPT | Gemini | What it does |
|---|---|---|---|---|
| gliiz_get_account | ✅ | ✅ | ✅ | Credit balance, connected social accounts. |
| gliiz_list_assets | ✅ | ✅ | ✅ | Lists the content library. |
| gliiz_get_analytics | ✅ | ✅ | ✅ | Per-platform statistics. |
| gliiz_generate_copy | ✅ | ✅ | ✅ | Brand copy (caption, hashtags). |
| gliiz_generate_flyer | ✅ | ❌ | ❌ | Visual via Gliiz's creative engine (ChatGPT already generates natively). |
| gliiz_generate_video | ✅ | ✅ | ✅ | Short video, always asynchronous: follow up with gliiz_check_generation_status. |
| gliiz_check_generation_status | ✅ | ✅ | ✅ | Progress of an in-flight video/visual generation. |
| gliiz_import_asset | ✅ | ✅ | ✅ | Drops a visual already generated (e.g. by ChatGPT) into the Gliiz library. |
| gliiz_publish_post | ✅ | ✅ | ✅ | Schedules a post, never immediate (see below). |
| gliiz_connect_social_account | ✅ | ✅ | ✅ | Secure link to connect an accepted and active social network (LinkedIn, TikTok, YouTube, etc.) or list networks. |
| gliiz_animate_character | ✅ | ✅ | ✅ | Transfers movement from a reference video onto a character/product (Kling motion control). |
| gliiz_rewrite_text | ✅ | ✅ | ✅ | Rewrites and adapts copy for a target platform and tone. |
| gliiz_list_automations | ✅ | ✅ | ✅ | Lists the project's automation flows and cadence. |
| gliiz_create_automation | ✅ | ✅ | ✅ | Creates a publishing automation (requires human approval). |
Real example, with gliiz_publish_post (the only tool marked destructiveHint): you write
Post to Instagram and LinkedIn: "We're hiring! Designer role open, link in bio."The assistant never publishes right away. It replies by proposing a scheduling time (at least 1 minute out, often picking a sensible slot itself, or asking you), waits for your confirmation in the conversation, and only then calls the tool. What you'll actually see: the post sits as pending_review in your Gliiz library until the scheduled time, visible from the app if you want to cancel it before it goes out, exactly like a post scheduled from the interface itself. For a generation (visual or video), expect a two-step reply: the assistant announces the start and, for video, must call gliiz_check_generation_status back itself a moment later, it never sits silently blocked waiting for the result.
Connecting a social network account from Claude, ChatGPT or Gemini
You can ask directly in the chat: "Connect my TikTok account", "Link my LinkedIn personal profile", or "Connect my YouTube channel". The assistant calls gliiz_connect_social_account and provides a direct, secure authorization link for the official provider. Once confirmed in your browser, the account is immediately linked to your Gliiz project.
Was this documentation helpful?
