AI Ghibli Filter Agent Skill
AI Ghibli Filter Agent Skill
Add Studio Ghibli-style image transformation capabilities to your AI agents with this AI Pass skill. This skill enables agents to transform photos into beautiful, hand-drawn anime artwork.
Skill Overview
The AI Ghibli Filter skill allows agents to:
- Transform photos into Studio Ghibli-style artwork
- Apply multiple Ghibli film aesthetic styles
- Preserve subject while changing artistic style
- Create magical, painterly images
Installation
Add this skill to your agent configuration:
{
"skills": [
{
"name": "ghibli-filter",
"version": "1.0.0",
"enabled": true
}
]
}
Skill Content
// AI Ghibli Filter Skill
// Get your API key from: https://aipass.one/developer/api-keys
const GHIBLI_FILTER_SKILL = {
name: "ghibli-filter",
description: "Transform photos into Studio Ghibli-style artwork using AI",
version: "1.0.0",
apiEndpoint: "https://aipass.one/api/v1/models/gpt-5-mini/completions",
styles: {
"spirited-away": {
name: "Spirited Away",
description: "Vibrant, magical bathhouse aesthetic with rich colors",
characteristics: "warm lighting, mystical atmosphere, detailed backgrounds"
},
"totoro": {
name: "My Neighbor Totoro",
description: "Soft, natural countryside with gentle, pastoral beauty",
characteristics: "green landscapes, fluffy clouds, peaceful rural scenes"
},
"mononoke": {
name: "Princess Mononoke",
description: "Dramatic, lush forest with epic, mythic quality",
characteristics: "deep greens, ancient trees, powerful nature themes"
},
"ponyo": {
name: "Ponyo",
description: "Bright, colorful oceanic wonder with childlike joy",
characteristics: "ocean blues, vibrant sea life, cheerful energy"
},
"howls-moving-castle": {
name: "Howl's Moving Castle",
description: "Steampunk whimsy with magical, European charm",
characteristics: "mechanical elements, warm tones, fairy-tale atmosphere"
}
},
async execute(imageData, style = "totoro") {
const apiKey = "$AIPASS_API_KEY"; // Replace with your API key from developer dashboard
const styleInfo = this.styles[style] || this.styles["totoro"];
const response = await fetch(this.apiEndpoint, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${apiKey}`
},
body: JSON.stringify({
model: "gpt-5-mini",
temperature: 1,
max_tokens: 16000,
messages: [
{
role: "system",
content: `You are an artistic image processing assistant specializing in Studio Ghibli-style transformation. Convert photographs into beautiful Ghibli-style artwork characterized by: hand-drawn aesthetic, warm natural colors, painterly textures, soft lighting, and dreamy atmosphere. Transform to "${styleInfo.name}" style: ${styleInfo.description}. Key characteristics: ${styleInfo.characteristics}`
},
{
role: "user",
content: `Transform this photo to ${styleInfo.name} Ghibli style: ${imageData}`
}
]
})
});
const result = await response.json();
return result;
},
getAvailableStyles() {
return Object.keys(this.styles).map(key => ({
id: key,
...this.styles[key]
}));
},
examples: [
{
input: "base64_image_data",
style: "totoro",
output: {
processedImage: "base64_ghibli_styled_image",
style: "totoro",
styleName: "My Neighbor Totoro",
confidence: 0.96
}
}
]
};
// Export for use in agents
if (typeof module !== "undefined" && module.exports) {
module.exports = GHIBLI_FILTER_SKILL;
}
Usage in Your Agent
// Import the skill
const ghibliFilter = require('./ghibli-filter-skill');
// Use the skill in your agent
async function transformToGhibliStyle(imageData, style) {
try {
const availableStyles = ghibliFilter.getAvailableStyles();
const styleIds = availableStyles.map(s => s.id);
if (!styleIds.includes(style)) {
throw new Error(`Invalid style. Available: ${styleIds.join(", ")}`);
}
const result = await ghibliFilter.execute(imageData, style);
return {
success: true,
ghibliImage: result.choices[0].message.content,
style: style
};
} catch (error) {
return {
success: false,
error: error.message
};
}
}
Getting Your API Key
- Go to the AI Pass Developer Dashboard
- Navigate to API Keys
- Click "Generate New Key"
- Copy your API key
- Replace
$AIPASS_API_KEYin the skill code with your actual key
Security Note: Never hardcode your API key in client-side code. Use environment variables or secure server-side storage.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| imageData | string | Yes | Base64-encoded image data |
| style | string | No | Ghibli film style (default: "totoro") |
Available Ghibli Styles
| Style ID | Name | Description |
|---|---|---|
| spirited-away | Spirited Away | Vibrant, magical bathhouse aesthetic |
| totoro | My Neighbor Totoro | Soft, natural countryside beauty |
| mononoke | Princess Mononoke | Dramatic, lush epic forest |
| ponyo | Ponyo | Bright, colorful oceanic wonder |
| howls-moving-castle | Howl's Moving Castle | Steampunk whimsy with magic |
Response Format
{
"id": "completion-123",
"object": "text.completion",
"created": 1234567890,
"model": "gpt-5-mini",
"choices": [
{
"message": {
"role": "assistant",
"content": "base64_encoded_ghibli_image"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 1567,
"completion_tokens": 789,
"total_tokens": 2356
}
}
Best Practices
- Image quality matters - Higher resolution images produce better results
- Subject selection - Landscapes and portraits work best
- Style matching - Choose styles that match the image content
- Batch processing - Process multiple images sequentially to avoid rate limits
Example Agent Integration
class GhibliTransformationAgent {
constructor(apiKey) {
this.skill = GHIBLI_FILTER_SKILL;
}
async transformToGhibli(imageData, style) {
const result = await this.skill.execute(imageData, style);
return result;
}
async suggestStyle(imageContext) {
// Suggest appropriate Ghibli style based on image content
const styleSuggestions = {
forest: "mononoke",
ocean: "ponyo",
countryside: "totoro",
urban: "howls-moving-castle",
magical: "spirited-away"
};
return styleSuggestions[imageContext] || "totoro";
}
getAvailableStyles() {
return this.skill.getAvailableStyles();
}
async batchTransform(imageDataArray, style) {
const results = [];
for (const imageData of imageDataArray) {
const result = await this.transformToGhibli(imageData, style);
results.push(result);
}
return results;
}
}
Use Cases
- Social media - Create unique, eye-catching profile pictures
- Art projects - Generate Ghibli-style artwork from photos
- Content creation - Add Ghibli aesthetic to videos and posts
- Gift creation - Transform personal photos into anime art
- Branding - Create consistent Ghibli-styled brand imagery
Image Type Recommendations
- Landscapes - Best results with nature scenes, forests, countryside
- Portraits - Clear, well-lit portraits transform beautifully
- Architecture - Traditional buildings work well
- Animals - Pets and wildlife in natural settings
- Travel photos - Scenic destinations perfect for transformation
Pricing
Usage is based on API credits. Check the AI Pass pricing page for current rates.
Support
For issues or questions, visit the AI Pass documentation or contact support.
Bring the magic of Studio Ghibli to your agents! 🎨✨🌿