Install
openclaw skills install colors-cc-skillA native UI asset and color toolset for OpenClaw and other AI Agents. Generate SVG placeholders, animated gradients, theme-based palettes, and perform color...
openclaw skills install colors-cc-skillA high-performance, stateless Color API and toolset optimized for AI Agents (OpenClaw, Cursor, Cline, GPTs).
<img> or Markdown .# character must be encoded as %23 (e.g., start=%23FF003C).Generate dynamic, lightweight placeholders for UI mockups with various gradient and animation effects.
https://api.colors-cc.top/placeholderw: Width in pixels (default: 800, range: 50-4000)h: Height in pixels (default: 400, range: 50-4000)text: Center text, URL-encoded (default: "{width} x {height}", max: 100 chars)effect: Visual effect. Options: static (default), fluid, breathe, holographic, meshpalette: Comma-separated colors — HEX, RGB, or HSL (default: 2 random colors, range: 2-10 colors). e.g., %23FFD6A5,%23FFADADspeed: Animation duration in seconds for non-static effects (default: 10, range: 1-30)attribution: Include branding watermark (default: true). Set to false or 0 to disable. When enabled, adds a subtle "colors-cc.top" watermark (15% opacity) in bottom-right corner and HTML comment for viral sharing.<img src="https://api.colors-cc.top/placeholder?w=1200&h=630&text=Hero+Banner&palette=%23F06292,%2364B5F6" alt="Hero"><img src="https://api.colors-cc.top/placeholder?w=800&h=400&effect=holographic&palette=%2300FF41,%2300B8FF&speed=5" alt="Holo"><img src="https://api.colors-cc.top/placeholder?w=800&h=400&effect=mesh&palette=%23FFD6A5,%23FFADAD,%23E2A0FF&speed=8" alt="Mesh">Cache-Control: public, max-age=31536000, immutableGenerate dynamic SVG gradients with smooth color transitions and animations.
https://api.colors-cc.top/fluid-placeholderw, h, text, speed, attribution (same as above)palette: Comma-separated colors — HEX, RGB, or HSL (default: random, range: 2-10 colors)<img src="https://api.colors-cc.top/fluid-placeholder?w=1200&h=400&palette=%23FFD6A5,%23FFADAD,%23E2A0FF&speed=8&text=Animated+Hero" alt="Warm Gradient">Cache-Control: public, max-age=31536000, immutableGet a random HEX and RGB color with generation timestamp.
GET https://api.colors-cc.top/random{"hex": "#A1B2C3", "rgb": "rgb(161, 178, 195)", "timestamp": "2024-03-12T10:30:00.000Z"}Fetch high-quality color sets for design inspiration.
GET https://api.colors-cc.top/palette?theme={theme_name}cyberpunk, vaporwave, retro, monochrome{"theme": "cyberpunk", "colors": ["#FCEE09", "#00FF41", ...], "count": 5}fetch('https://api.colors-cc.top/palette?theme=vaporwave')Stateless conversion between HEX, RGB, HSL, and CMYK formats.
GET https://api.colors-cc.top/convert?hex={hex}|rgb={rgb}|hsl={hsl}|cmyk={cmyk}hex, rgb, hsl, or cmyk{"hex": "#FF5733", "rgb": "rgb(255, 87, 51)", "hsl": "hsl(10, 100%, 60%)", "cmyk": "cmyk(0%, 66%, 80%, 0%)"}https://api.colors-cc.top/convert?hex=%23FF5733{"error": "Invalid color format"} with status 400 if input is invalidGet all standard CSS color names mapped to their HEX values (~140 colors).
GET https://api.colors-cc.top/all-names{"AliceBlue": "#F0F8FF", "AntiqueWhite": "#FAEBD7", "Tomato": "#FF6347", ...}<section class="hero">
<!-- Animated hero banner with text -->
<img src="https://api.colors-cc.top/placeholder?w=1200&h=600&text=Hero+Section&effect=mesh&palette=%23FFD6A5,%23FFADAD,%23E2A0FF&speed=10" alt="Hero">
</section>
<div class="features">
<!-- Static placeholder images -->
<img src="https://api.colors-cc.top/placeholder?w=400&h=300&text=Feature+1&palette=%23F06292,%2364B5F6" alt="Feature 1">
<img src="https://api.colors-cc.top/placeholder?w=400&h=300&text=Feature+2&palette=%234DB6AC,%2381C784" alt="Feature 2">
</div>
const palette = await fetch('https://api.colors-cc.top/palette?theme=vaporwave')
.then(r => r.json())
const mockData = palette.colors.map((color, i) => ({
id: i,
name: `Item ${i+1}`,
color: color,
thumbnail: `https://api.colors-cc.top/placeholder?w=200&h=200&palette=${color.replace('#', '%23')},%23000000`
}))
async function getRandomColor() {
const res = await fetch('https://api.colors-cc.top/random')
const data = await res.json()
return data.hex
}
// Convert any color format to all formats
const result = await fetch('https://api.colors-cc.top/convert?hsl=hsl(200,50%,50%)')
.then(r => r.json())
console.log(result.hex) // #4099BF
BAD: palette=#FF0000,%230000FF
GOOD: palette=%23FF0000,%230000FF
By default, all SVG placeholders include a subtle branding watermark for viral sharing. Disable it for internal tools:
// With attribution (default - recommended for public-facing content)
https://api.colors-cc.top/placeholder?w=800&h=400
// Without attribution (for internal use)
https://api.colors-cc.top/placeholder?w=800&h=400&attribution=false
// BAD - Don't do this
const svg = await fetch(placeholderUrl).then(r => r.text())
const encoded = btoa(svg)
// GOOD - Use URL directly
<img src="https://api.colors-cc.top/placeholder?w=800&h=400" alt="Direct">
BAD: w=10 (too small, will be clamped to 50)
BAD: w=9999 (too large, will be clamped to 4000)
GOOD: w=800&h=600
BAD: /api/convert?hex=%23FF0000&rgb=rgb(255,0,0)
GOOD: /api/convert?hex=%23FF0000
BAD: palette=%23FF0000 (only 1 color, minimum is 2)
BAD: palette=%23FF0000,%23... (more than 10 colors, will be ignored)
GOOD: palette=%23FF0000,%230000FF,%2300FF00 (2-10 colors)
For complete API documentation, reference:
None. All endpoints are free and unlimited.