Wavy Gouache Stripes A minimalist mid-century wall print of wobbly hand-painted gouache stripes with dry brush texture, cream gaps and one small accent block in a corner — you just pick the colour scheme.
Nursery Letter Print
Cobalt Porcelain Brushwork
Soft Focus Bubble Figurine
Dry Brush Gouache Still
Ink Pencil Character Sheet
Crochet Yarn Applique
Puffy 3D Label Sign
Muted Sage Nihonga
Petroglyph Stencil Emblem
Gestural Sumi-e Sketch
Scratchy Ink Wash Critter
Pastoral Oak Watercolor
Mummy Trick or Treat
Grainy Glow Ribbon
Disco Ball Oil Painting
Chibi Pastel Mascot
Black Blob Buddy
Song Court Painting
Ink Wash Gaze Portrait
Loose Watercolor Figure
Resin Collectible Mini
Marker Doodle Character
Heatmap Gradient Portrait
Fine Glitter TileWe create the assets. You create the art.
No style matches yet — try other words.
Nineties Film Studio Portrait A calm, dreamy portrait looking straight at the camera, lit by soft directional light against a textured off-white wall and finished with the grain and faded warmth of 90s analogue film — you just describe the person and their outfit.
Magenta Gold Ink Wash Lively figures sketched in fine fluid ink that dissolve into blooming magenta and golden watercolor washes on bare white paper — you just describe who is in the scene and what they are doing.
Antique Botanical Sprig A single sprig drawn like an old European botanical plate, in fine brown ink with soft hand-tinted color on warm ivory paper with lots of empty space — you just name the plant.
Quirky Face Icon Print Any object or symbol turned into a charmingly odd face, with wonky eyes and coral blush cheeks in naive screen-print style, in mustard, navy and coral on cream paper — you just name the object.
Dewy Editorial Headshot A high-fashion beauty headshot that looks straight into the camera, with dewy glass skin, a few stray strands of hair and soft even light on a bright white backdrop — you just describe the person.
Grumpy Crayon Mascot Any animal or object as a chubby street-art mascot with an unimpressed side-eye, thick wobbly crayon outline, grainy flat colors and a little oval shadow on white — you just name the character.
Glossy Two Tone Emoticon Any creature or object as a glossy cartoon emoticon painted only in sunny yellow and cobalt blue bands, with a big shiny eye and soft airbrushed shading on white — you just name the character.
Cream Game UI Button Cozy hand-drawn game UI buttons: a cream rounded square with a thick dark outline and a soft tan symbol in the middle, on white — you just name the symbol to build a matching icon set.
Letterpress Heritage Seal A round heritage-style stamp logo with symmetrical folk ornaments and a dotted double ring, printed in a single rust red ink and pressed into speckled kraft paper — you just name the brand theme.
Wax Crayon Buddies Cute characters in grainy wax crayon with sleepy smiles and thin noodle arms, centered on warm cream paper — you just say who they are and what they are doing.
Riso Ink Workspace Portrait A grainy black-ink editorial portrait of someone at their messy workbench, surrounded by pinned sketches of their passions on a yellow and cobalt split background — you just say who they are and what they do.
Stock & fund logos
Circle logos for stock tickers, ETFs, and funds — ideal for watchlists, portfolio dashboards, and price tickers. Served from edge servers close to your visitors.
/stock/{symbol}.svg/stock/apple.svg
/stock/nvidia.svg
/stock/tesla.svg
/stock/microsoft.svg
/stock/amazon.svg
/stock/alphabet.svg
/stock/meta-platforms.svg
/stock/netflix.svg
/stock/berkshire-hathaway.svg
/stock/jpmorgan-chase.svg
/stock/visa.svg
/stock/mastercard.svg
/stock/walmart.svg
/stock/coca-cola.svg
/stock/walt-disney.svg
/stock/advanced-micro-devices.svg
/stock/taiwan-semiconductor.svg
/stock/samsung.svg
/stock/toyota.svg
/stock/fpt-corporation.svg
/stock/vietnam-dairy-products.svg
/stock/hoa-phat-group.svg
/stock/joint-stock-commercial-bank-for-foreign-trade-of-vietnam.svg
/stock/vingroup-joint-stock-company.svg
/stock/dragon-capital.svg
/stock/vinacapital-vietnam.svg
/stock/vanguard.svg
/stock/blackrock.svg
Notes
- Company slugs follow TradingView naming, like
appleordragon-capital. - Missing symbols fall back to a custom uploaded icon, then a labeled placeholder — never a broken image.
- Served as SVG (a few as PNG), cached at the edge for one year.
Crypto logos
Circle logos for cryptocurrencies, addressed by ticker — ideal for wallets, exchange dashboards, and price tickers. Served from edge servers close to your visitors.
/crypto/{symbol}.svgNotes
- Crypto uses plain lowercase ticker symbols like
btc,eth,sol— the top ~500 coins by market cap are preloaded. - Missing symbols fall back to a custom uploaded icon, then a labeled placeholder — never a broken image.
- Served as SVG (a few as PNG), cached at the edge for one year.
Brand logos
SVG logos for thousands of tech and consumer brands, addressed by plain brand name — for integration pages, tech-stack lists, payment badges, and dashboards.
/brand-logo/{name}.svgNotes
- Names are lowercase brand slugs like
google,nike,openai— uppercase requests are normalized automatically. - Full-color logos where available, official brand-color icons otherwise.
- Includes 160+ Vietnamese brands — banks, e-wallets, telcos, media, retail — like
vietcombank,momo,viettel,vinfast. - Missing names fall back to a custom uploaded icon, then a labeled placeholder — never a broken image.
- Served as
image/svg+xml, cached at the edge for one year.
Website favicons
The favicon of any website, addressed by hostname — for link previews, bookmark lists, referrer tables, and "connected apps" screens.
Example: /favicon/google_com.svg — hostname with dots replaced by underscores.
/favicon/{host_slug}.svgNotes
- Slug is the hostname with
.replaced by_:google_com,vietcombank_com_vn. Any extension in the URL works; the response is the format on file (PNG, ICO, SVG…). - Resolved from our own store first, then fetched once from favicon.im and cached permanently — the first request for a new host is slower.
- Hosts with no favicon return a labeled placeholder — never a broken image. Upload a better version via the Contribute form.
- Served with the file's real
Content-Type, cached at the edge for one day.
Country flags
SVG flags for every country, addressed by ISO code — rectangular by default, or circular with the -circle suffix to match the stock & crypto logos.
Example: /flags/vn.svg — lowercase ISO 3166-1 alpha-2 code; add -circle for the round version.
/flags/{code}.svg/flags/{code}-circle.svgNotes
- Codes are lowercase ISO 3166-1 alpha-2 like
vn,us,jp— regional flags (gb-eng,es-ct) andeu/unwork too. - Rectangular (4:3) by default;
/flags/{code}-circle.svgserves the circular version. - Unknown codes return a labeled placeholder — never a broken image.
- Served as
image/svg+xml, cached at the edge for one year.
Stock image thumbnails
Preview images for stock-media assets, keyed by source site and asset id. The optional -{size} suffix resizes to that width.
Example: /shutterstock/2148156765-600.jpg — Shutterstock asset 2148156765 at width 600.
/{site}/{id}.jpg/{site}/{id}-{size}.jpg
Shutterstock/shutterstock/1232588239.jpg
Freepik/freepik/3064875.jpg
Adobe Stock/adobestock/1585015388.jpg
Envato Elements/envato/SSNP7B2.jpg
iStock/istockphoto/2196019693.jpg
123RF/123rf/323617074.jpg
/iconscout/13487097.jpg
Designi/designi/20cbadb2c811e565.jpg
Supported sites
shutterstockvshutterfreepikvfreepik
adobestockistockphotodepositphotosdreamstime
123rfalamyrawpixelenvato
vecteezyflaticoniconscoutpngtree
lovepikmotionarraystoryblockscreativefabrica
artgridartlist_footageepidemicsounddesigni
designbrbaixardesigncraftworkmockupcloud
mrmockupyellowimagesfootagecrateui8
pixedenuplabspixelbuddha
Notes
- Audio sources return a waveform placeholder image.
- Unknown or unavailable assets return a labeled placeholder — never a broken image.
- Successful renders are cached at the edge for one year, keyed by full URL.
Text to image
Renders an SVG image from arbitrary text — handy for placeholders, Open Graph fallbacks, and quick banners.
Try it
Usage
/bytext?text=<your text>&w=600&h=400&bg=cccccc&fg=333333&size=48Parameters
| Parameter | Default | Description |
|---|---|---|
text | (required) | Text content. URL-encoded. Use %0A for line breaks. |
w | 600 | Width in pixels (1–4000). |
h | 400 | Height in pixels (1–4000). |
bg | cccccc | Background color — hex 3/6/8 chars, with or without #. |
fg | 333333 | Text color — hex. |
size | auto | Font size in px. Leave blank to auto-fit to the canvas. |
Examples
/bytext?text=Hello%20World
?text=Custom%20size&w=400&h=200&bg=222&fg=fff&size=56
?text=Line%201%0ALine%202%0ALine%203&bg=2a6df4&fg=fff
Notes
- Returns
image/svg+xml— works with<img>,background-image, etc. - Cached at the edge for one year, keyed by full URL.
- Font is
system-ui— rendered with the viewer's system font.
MCP server
gimgs speaks the Model Context Protocol, so Claude, Cursor or any MCP client can use it as a tool. One endpoint hosts several servers — the credentials you send pick which one you get:
| Server | For | Credentials | What the agent can do |
|---|---|---|---|
Publicgimgs-cc0-images | Anyone | None | Search the CC0 image library and get hotlinkable URLs. Read-only. |
Designgimgs-design | Signed-in users | API key gk_… | Edit the Photosoft project you have open — live, together with you — plus everything the public server does. |
Public server: CC0 images
Read-only and free, no key needed. Every result carries ready-to-hotlink CDN URLs, so an agent can search images and drop them straight into whatever it is building.
/mcpTools
search_cc0_images— keyword search over the CC0 library, 24 results per page, withsort(curated / recent / popular) and an optionalcategoryfilter.get_cc0_image— one image by id, with every size variant (widths 100–1024) and its detail-page URL.
Connect
Claude Code:
claude mcp add --transport http gimgs https://gimgs.net/mcp
Or any client that speaks Streamable HTTP, via JSON config:
{
"mcpServers": {
"gimgs": { "type": "http", "url": "https://gimgs.net/mcp" }
}
}
- Every result ships ready-to-hotlink JPG URLs:
image_url(width 1024),thumb_url(350) and asizesmap. - Images are CC0 — personal or commercial use, no attribution required.
Design server: edit Photosoft together with an agent
Open a project in Photosoft, open Agents in the right dock and press Enable agents. From then on an agent connected with your API key sees that project and edits it with you: every change it makes lands as one History step, labelled with the agent's name, that you undo like your own.
/mcp/mcp/gk_YOUR_KEYThe first form takes the key in a header (Authorization: Bearer gk_…); the second puts it in the URL, for clients that cannot send custom headers. Treat that URL like a password.
Get a key
Create one under Profile → API. Any key opens the design server — there are no scopes yet, so a key you hand to an agent can edit every project you enable Agents on. Revoke it there to cut the agent off.
Tools
design_sessions— the projects you have open with Agents enabled: id, name, canvas size, rev, and which agents are listening.design_get— the document as structure: every layer with id, type, box, visibility, text and colours, plus the selection and the current rev. No pixels.design_preview— a JPEG or PNG render of the canvas or of one layer, so the agent can look at its own work.design_apply— a batch of ops (add_text,add_image,add_shape,add_path,add_gradient,add_svg,add_texture,brush_path,path_boolean,offset_path,stroke_to_path,transform,rasterize,flip,measure_text,find_fonts,update_layer,delete_layer,reorder,select,mask,filter,resize_canvas,style,group,ungroup) applied as one undo step; takeslabel,agent_nameandbase_rev.design_events— long-poll of what happened since a sequence number: your edits, undo / redo, selection, Agents-chat messages, other agents' changes, pause / resume.design_say— a line into the Agents chat of your editor.design_upload_url— a presigned upload URL for an image on the agent's own machine; the agent PUTs the file, then places it withadd_image.design_schema— the exact fields and limits of every op.- Plus the public tools, so the agent can search CC0 images and place them with
add_image.
Connect
Claude Code (key in a header):
claude mcp add --transport http gimgs-design https://gimgs.net/mcp --header "Authorization: Bearer gk_YOUR_KEY"
claude.ai on the web or phone, and other clients without custom headers: add a custom connector with the key in the URL.
https://gimgs.net/mcp/gk_YOUR_KEY
JSON config:
{
"mcpServers": {
"gimgs-design": {
"type": "http",
"url": "https://gimgs.net/mcp",
"headers": { "Authorization": "Bearer gk_YOUR_KEY" }
}
}
}
Then just ask — “make the headline bigger”, “add the Stripe logo top left” — the agent finds the open project itself.
Working together
- One
design_applyis one History step named “[agent] label”; Ctrl+Z undoes the whole batch. - Layers you locked, or are dragging or typing in, are refused (
locked/busy) — the agent retries later. - With
base_rev, layers you changed in the meantime come back asstaleinstead of being overwritten. - Pause stops writes while the agent can still read; Set checkpoint / Revert undo everything since the mark.
- The Agents chat reaches an agent only while it is polling
design_events— the panel says “listening” when one is. Otherwise tell the agent, in its own chat, to listen. - Close the tab and the session is kept for 60 minutes; reopening the project reconnects it.
Protocol notes
- Streamable HTTP, stateless JSON-RPC 2.0 — each POST is an independent request; no session id, no SSE stream.
- Wrong or revoked credentials return 401 and never fall back to the public server.
- Tool failures come back as a tool result with
isErrorand{ error, message }. Design codes:no_session,browser_offline,paused,locked,busy,stale,tab_not_active,timeout.
Contribute an icon
Found a symbol that only shows a placeholder? Submit the missing icon here — contributions are reviewed before going live, usually within a day.
Guidelines
- Only submit images that are publicly available and appropriate to represent the symbol — official logos, identification use only.
- Square aspect ratio works best; SVG keeps it crisp at every size.
- Submissions are moderated — approved icons replace the placeholder at the matching URL.



























































