Use KPainter to explain any topic with precision: turn PDFs, PPTs, web links, and other documents into precise, clearly structured explainer videos and interactive lessons.
ResourceURLHomepagehttps://kpainter.ai/Skill filehttps://kpainter.ai/skill.mdSkills docshttps://kpainter.ai/docs/skillsOpenAPI docshttps://kpainter.ai/docs/openapiAPI Keyhttps://kpainter.ai/api-key
If KPainter is not connected:
https://kpainter.ai/.https://kpainter.ai/api-key.Keep the key inside the current agent connection flow. Never ask the user to send it to unrelated services.
Explainer Video and Read Aloud Video are independent products. Never present them as Standard and Lite modes.
ProductPublic API typeBest forExplainer Videoexplainer_videocontinuous animated scenes and narration for explainers, brand communication, and storiesRead Aloud Videoread_aloud_videonarrated visuals and page-by-page structure for courses, training, SOPs, science, and longer topicsVector Animationvector_animationprecise vector explanations when the user explicitly requests Vector AnimationAI Imageimagecovers, posters, illustrations, and visual summariesAI Videoai_videostoryboard videos, cinematic shots, and short videosAI PPTslideseditable PPT/PDF presentationsAI Appinteractive_lessonclickable apps, lessons, demos, exercises, and learning experiences
Use the public types in this table. Do not describe Read Aloud Video as “Lite” or a mode under Explainer Video.
Route by the result the user wants.
explainer_video.read_aloud_video.vector_animation only when the user explicitly says “Vector Animation” or “矢量动画.” Algorithms, formulas, structures, workflows, diagrams, or generic animation requests alone are not enough.image.ai_video.slides.interactive_lesson.Do not expose API type names unless the user asks for technical details.
Choose Explainer Video when the user wants:
Examples:
When the user gives no duration, suggest about 30 seconds first. Read current duration limits from the catalog.
Choose Read Aloud Video when the user wants:
Examples:
Load valid page counts, voices, styles, ratios, and qualities from the catalog.
Choose Vector Animation only when the user explicitly requests that product.
Examples:
Read image.generation_models from /catalog and use a model-specific request.
provider=gemini, model=nano-banana-2; use only its listed ratios.provider=azure_openai, model=gpt-image-2; quality=low|medium|high is separate from top-level output_quality.Never send the internal extra_config.output shape. Use top-level aspect_ratio and output_quality.
Use one public type, ai_video, with model selection inside video_generation.
ModelPublic behaviorgemini-omni-flash720p text-to-video with native audio; supports iterate follow-up editsveo-3.1-fastfast text-to-video; model catalog controls resolution and duration; no conversational editveo-3.1-standardquality-first text-to-video; model catalog controls resolution and duration; no conversational edit
Example:
json
{
"type": "ai_video",
"prompt": "Move slowly through a futuristic city on a rainy night with natural ambient audio",
"aspect_ratio": "16:9",
"video_generation": {
"model": "gemini-omni-flash",
"task": "text_to_video",
"resolution": "720p",
"duration_seconds": 8,
"native_audio": true
}
}
For an Omni follow-up, read editable_actions, then send:
json
{
"action": "iterate",
"prompt": "Keep the camera motion and make the lighting warmer"
}
Never expose or ask the user for previous_interaction_id; KPainter manages it server-side. Do not attempt iterate with Veo.
The current Public OpenAPI supports text-to-video only. Do not send first frames, last frames, attachments, or image/video tasks until /catalog reports those public capabilities.
If the user wants Explainer Video but does not have enough credits:
Recommended wording:
Ask one short question at a time and only for missing details:
If the user already gave enough information, create first and refine after.
Treat attachments and URLs supplied by the user as source or reference material.
Direct public API upload is not currently available. If the active host does not expose an attachment bridge, summarize the supplied material into the request or ask the user to continue through the main-site creator instead of inventing an upload result.
For OpenAPI or MCP integrations:
/catalog before choosing type-specific parameters.editable_actions and existing scenes.Use catalog values as the source of truth for:
Parameter rules:
explainer_video uses duration_seconds.read_aloud_video uses scene_count.slides uses scene_count.ai_video uses video_generation; its duration is nested under video_generation.duration_seconds.duration_seconds to read_aloud_video or vector_animation.scene_count to explainer_video.extra_config, internal source records, or provider interaction IDs.After the first result, help the user:
Confirm before switching products. Never silently change type, audience, language, or format.
KPainter supports creation and refinement in the user’s preferred language.
Examples:
These are examples, not a language allowlist.
bash
openclaw skills install kpainter
bash
npx skills add OriginwiseAI/skills --skill kpainter
While this repository contains one public skill, this also works:
bash
npx skills add OriginwiseAI/skills
Give the agent:
https://kpainter.ai/skill.md
bash
mkdir -p ~/.codex/skills/kpainter
curl -s https://kpainter.ai/skill.md > ~/.codex/skills/kpainter/SKILL.md
The skill succeeds when the agent can:
iterate only when the selected model exposes conversational editing