{"name":"MarketOS API","version":"1.0.0","description":"AI-powered marketing content generation API. BYOK (Bring Your Own Keys) — you provide your own AI provider API keys, we provide the orchestration.","documentation":"https://marketos.org/docs/api","pricing":{"model":"Hybrid BYOK","description":"MarketOS never marks up AI provider costs. Existing plan holders get API access included. API-only users pay a small per-request orchestration fee via x402.","plans":{"subscription":{"price":"$19.99/month","apiIncluded":true,"dailyQuota":1000},"lifetime":{"price":"$199 one-time","apiIncluded":true,"dailyQuota":1000}},"apiOnly":{"description":"No plan required. Pay per request via x402 protocol (USDC on Base).","fees":{"generate/marketing":"$0.05","generate/image":"$0.05","generate/content":"$0.05","generate/caption":"$0.01","scrape":"$0.01"}},"aiCosts":"Paid directly to Google via your own Gemini API key at zero markup."},"authentication":{"methods":[{"type":"plan-holder","description":"Existing MarketOS subscribers or lifetime license holders. API access included with your plan (1,000 requests/day).","header":"Authorization: Bearer sub_xxx or lt_xxx","setup":"Your plan token is available in your MarketOS account dashboard."},{"type":"bearer","description":"Register your API keys once, get a token. Keys are encrypted at rest.","header":"Authorization: Bearer mos_xxx","setup":"POST /api/api-keys/register with { licenseKey, apiKeys: { gemini } }"},{"type":"stateless","description":"Pass API keys per request. Keys are used in-memory, never stored.","header":"X-Api-Keys: <base64-encoded JSON>","example":"base64({ \"gemini\": \"AIza...\" })"},{"type":"x402","description":"Pay per request with USDC on Base. No account needed. Include X-Api-Keys header for AI provider keys.","header":"X-PAYMENT: <signed payment payload>","setup":"Send request without auth → receive 402 with payment details → pay → retry with X-PAYMENT header + X-Api-Keys."}],"requiredKeys":["gemini"],"optionalKeys":["jina"]},"endpoints":{"POST /api/v1/generate/marketing":{"description":"Full pipeline: parse intent → generate image → generate caption + hashtags. The one-shot endpoint.","params":{"prompt":"string (required) — Marketing brief","brandContext":"string — Brand summary from /api/v1/scrape","platform":"string — instagram | linkedin | twitter | tiktok | general","imageModel":"string — Imagen/Gemini model ID","aspectRatio":"string — 1:1 | 16:9 | 9:16 | 4:3 | 3:4","style":"string — Visual style description","language":"string — ISO language code or 'auto'","skipImage":"boolean — Skip image generation (faster)"}},"POST /api/v1/generate/caption":{"description":"Generate social media captions and hashtags.","params":{"prompt":"string (required)","platform":"string","brandContext":"string","hashtagThemes":"string[]","expanded":"boolean — Longer caption, more hashtags","language":"string"}},"POST /api/v1/generate/content":{"description":"Generate blog posts, SEO content, and 100+ content types.","params":{"topic":"string — Auto-generated if omitted","contentType":"string — See contentTypes below","wordCount":"string — short | medium | long | extended","brandContext":"string","language":"string"}},"POST /api/v1/generate/image":{"description":"Generate marketing images using Google Imagen/Gemini models.","params":{"prompt":"string (required)","model":"string — See imageModels below","aspectRatio":"string","numberOfImages":"number (1-4)","brandContext":"string","style":"string"}},"POST /api/v1/scrape":{"description":"Extract brand context from a URL. Use the returned content as brandContext in other endpoints.","params":{"url":"string (required)","existingContext":"string — Merge with existing brand context"}}},"contentTypes":{"blog":{"label":"Blog & Articles","types":["blog-standard","blog-opinion","blog-personal","blog-news","blog-roundup","blog-interview","blog-announcement"]},"seo":{"label":"SEO & Search","types":["seo-pillar","seo-cluster","seo-local","seo-longtail","seo-featured","seo-comparison","seo-alternatives","seo-best"]},"educational":{"label":"Educational","types":["edu-howto","edu-tutorial","edu-explainer","edu-beginner","edu-tips","edu-mistakes","edu-checklist"]},"lists":{"label":"Lists & Roundups","types":["list-numbered","list-tools","list-examples","list-statistics","list-trends"]},"faq":{"label":"Q&A & FAQ","types":["faq-general","faq-product","faq-technical"]},"aeo":{"label":"AI Engine Optimization","types":["aeo-answer","aeo-featured"]},"commercial":{"label":"Commercial","types":["com-landing","com-product","com-case-study"]},"thought-leadership":{"label":"Thought Leadership","types":["thought-opinion","thought-prediction"]},"email":{"label":"Email & Newsletter","types":["email-newsletter","email-welcome","email-promo"]}},"imageModels":[{"id":"imagen-4.0-generate-001","name":"Imagen 4","provider":"google"},{"id":"imagen-4.0-fast-generate-001","name":"Imagen 4 Fast","provider":"google"},{"id":"imagen-4.0-ultra-generate-001","name":"Imagen 4 Ultra","provider":"google"},{"id":"gemini-2.5-flash-image","name":"Gemini 2.5 Flash Image","provider":"google"},{"id":"gemini-3-pro-image-preview","name":"Gemini 3 Pro Image","provider":"google"}],"wordCounts":{"short":"~300 words","medium":"~600 words","long":"~1000 words","extended":"~1500 words"},"platforms":["instagram","linkedin","twitter","tiktok","general"],"rateLimit":{"requests":30,"window":"60 seconds","per":"token or IP"},"agentSkills":{"standard":"agentskills.io","skill":{"name":"marketos","url":"https://marketos.org/skills/marketos/SKILL.md","description":"Complete MarketOS API skill — auth, image generation, captions, brand context, full pipeline","references":["references/IMAGES.md","references/CAPTIONS.md","references/BRAND-CONTEXT.md","references/PIPELINE.md"]}}}