eWeWasl Docs
Api reference

Creator Tools

AI content generation, Studio image tools, media library, and link-in-bio — over the API and MCP.

Beyond posting and ads, eWasl exposes its creator toolkit over the API and MCP: the AI writer, the Studio image tools, your media library, and your link-in-bio page. Each is gated by its own API-key scope.

AI content writer

POST/api/v1/content/generate
content:create

Generate brand-voice-aware post copy. Returns text only — pass the result to POST /posts to publish. Non-streaming.

promptstringRequired
What to write — e.g. "3 Instagram captions for a coffee-shop launch". Max 2000 chars.
platformstringRequired
Optimise for a platform: facebook instagram twitter linkedin tiktok youtube pinterest snapchat threads bluesky telegram.
tonestringRequired
professional · casual · engaging · humorous · inspirational (defaults to your brand tone).
maxLengthintegerRequired
Soft character cap (50–2000).
language'ar' | 'en'Required
Output language. Auto-detected from the prompt if omitted.
contextstringRequired
Optional extra context for the writer.

Response Example

{ "data": { "text": "☕️ افتتاح جديد! تعالوا نحتفل …", "language": "ar" } }

MCP tool: generate_content.

Studio — AI image tools

Both tools take a public https image URL (so non-browser agents can use them) and return processed image URLs. fal.ai-backed, plan-gated, rate-limited.

POST/api/v1/studio/bg-remove
studio

Remove an image background → transparent PNG.

imageUrlstringRequired
Public https URL of the source image.

Response Example

{ "data": { "url": "https://fal.media/…/out.png", "contentType": "image/png", "width": 1024, "height": 1024 } }
POST/api/v1/studio/smart-resize
studio

Content-aware resize/crop to one or more target sizes while preserving the subject.

imageUrlstringRequired
Public https URL of the source image.
targetSizesarrayRequired
1–4 of { width, height } (each 32–4096 px).

MCP tools: remove_background, smart_resize_image.

Media library

GET/api/v1/media
media:read

List your uploaded assets, newest first. Use the returned url as media input to create_post or the Studio tools. (Uploads stay in the app.)

typestringRequired
Filter: image · video · all.
searchstringRequired
Filter by file name.
limitintegerOptional
Default: 20
Page size (1–100).
pageintegerOptional
Default: 1
Page number.

MCP tool: list_media.

GET/api/v1/links/bio
links:read
PATCH/api/v1/links/bio
links:write

Read or update your public link-in-bio page. PATCH is an upsert — send the full config. Slug-squatting and the avatar host are validated server-side.

profileNamestringRequired
Display name.
biostringRequired
Short bio.
linksarrayRequired
[{ id, title, url }].
layoutstringRequired
Layout preset "0""5".
slugstringRequired
Custom URL slug.
avatarUrlstringRequired
Avatar URL (must be an allowed eWasl/Supabase host).
themeConfigobjectRequired
{ bgColor, textColor, buttonColor, buttonTextColor, preset }.

MCP tools: get_link_in_bio, update_link_in_bio.

Status codes

200 Success.
403 Missing scope, or not on a Professional/Enterprise plan.
422 Validation error.
502 Upstream AI / image provider error — safe to retry.

On this page