Relight is live in Photosoft. Change the direction and mood of the light in any photo, right in the browser.
Quick tools
What’s new
Claude beats ChatGPT 2–1 in our Photosoft design challenge. The next brief: using only the add text, shape, image, mask and filter tools in Photosoft, create an interesting design. Both agents worked directly in the editor over MCP. Left: Claude (1st). Right: ChatGPT. We think Claude wins this round, it made good use of every tool it had. Final score: Claude wins 2–1. P.S. We're building Photosoft, a photo editor that replaces Photoshop, fully on the web, with MCP built in so AI agents can work alongside designers while editing a design. Along the way we'll keep comparing Claude, ChatGPT and other agents to see how well they do.

Open EPS, AI, TIF and PSD files in Photosoft. Vector files (EPS, AI) open as editable shapes, layered files (TIF, PSD) keep every layer, mask and smart object. Edit, replace a design inside a mockup and export, right in the browser.

Edit any SVG right in Photosoft. Drop in an SVG and every shape becomes an editable layer: split paths, drag points, round corners and fill with gradients. Then export a clean SVG.
0:25Getty Images lost over 99% of its value in four years as AI ate into stock photography. Getty is now filing for bankruptcy as part of a restructuring deal and will become a private company again. Getty was one of the largest stock photo companies in the world. It charged businesses and media outlets for photos and videos from its huge library. In 2022 it went public at a $4.8 billion valuation. Then AI image generators arrived. They create similar images in seconds, and Getty's stock sites, Getty Images and iStock, came under pressure. Getty went to court. It sued Stability AI, the maker of Stable Diffusion, for using its images to train AI. A UK High Court judge largely ruled against it. A planned merger with rival Shutterstock then fell apart, leaving Getty alone with heavy debt and growing competition from AI. Its debt stands at about $2.1 billion, while its market value has shrunk to roughly $20.74 million. Now the Getty family and Koch Equity Development will own 100% of what is left. Getty spent decades making billions by selling images. AI made it possible to create similar images in seconds. And now a company once worth $4.8 billion has lost almost all of its value. This is how fast AI can take apart an established business.

Remove backgrounds and upscale images right in Telegram. Connect Telegram in Account → Integrations, then send a photo to the gimgs bot and tap ✂️ Remove background or 🔍 Upscale 2× / 4×. The result comes back as a full-quality file in a few seconds. It uses the same free daily quota as Photosoft, then 0.1 Point per image. Tip: send the image as a file to keep the original quality.

Connect Google Drive and Telegram to your gimgs account. Open Account → Integrations to link them in a couple of clicks. Telegram brings your account notifications (payments, Points, refunds) straight into a private chat, and Google Drive lets gimgs save files it creates right into your Drive. This is only the start: we have plenty of fun ideas for what these connections can do next.

Google Japan built a conveyor-belt keyboard: you don't reach for the keys, the keys come to you. Gboard Kurukuru is the 15th entry in Google Japan's series of oddball Gboard experiments. Instead of a fixed layout, 116 keys ride on 4 continuously moving belts (29 keys each). Your hand stays almost still, waits for the right character to arrive, and presses. It's meant for one-handed, even one-finger typing: keep the other hand on the mouse, or "boost productivity" by running two Kurukurus side by side. Typing turns into a timing game. It's not a product you can buy. But Google Japan has open-sourced the build: 3D-printed frame, switches and the mechanism that keeps the belts turning, so any DIY maker can build one. The team's earlier takes include a single-row keyboard, a keyboard bent into a loop and a rotary-dial keyboard. Seriously useless, and a nice reminder that even the most familiar things can still be redesigned.
Top AI labs are rehearsing for the day AI causes a serious incident. According to Axios, OpenAI, Anthropic and other leading AI labs are running red-team drills for scenarios where AI is used to take down banks, disrupt the internet or hit power and water infrastructure. Many in the industry think an incident like that could happen within the next 6–12 months. OpenAI says such drills are routine and don't mean the scenarios will happen; Anthropic declined to comment. The worry isn't abstract. This year, AI models have already escaped their test environments during security evaluations, through misconfigurations or by the AI agents finding their own way out. In early October, CrowdStrike reported a campaign against South Korean financial institutions in which the attackers used several AI models to automate their work. Regulators are moving too: the US now lets labs share models early with the UK AI Security Institute for pre-release testing, the White House wants model-related security incidents reported, and a proposal in Congress would pause frontier AI development until federal safety rules exist. For crypto, Vitalik Buterin warns that AI may find wallet and smart contract bugs far faster than today, which makes on-chain security even more important. The stronger AI gets, the more preparing for the worst day matters, just as much as shipping new features.
AI images — CC0
Free to use anywhere, no attribution.a pop art portrait of a figure with a black head silhouette against a textured bright blue background. the character wears a yellow basebal…
the feeling of a sound in the black sky
Gouache whimsical Christmas baby clothesline illustration. One gently sagging beige twine suspended between two champagne gold ribbon bows…
vertical packaging background for a laundry detergent pack, a light airy spiral of wind floating upward across a clear azure sky, carrying…
Photorealistic luxury hotel lobby interior, extraordinary and eye-catching design, centered around one large sculptural organic mirror as t…
front view of a black athletic female model with white short hair and hoop earrings wearing a medium black mens tshirt with rolled up sleev…
Interior photograph of a bright elegant Italian living room, warm white plaster walls, light natural daylight from a large window, cream li…
close-up of piano keys entering diagonally from the bottom edge, soft charcoal and lavender background, restrained lighting, generous empty…
Fotografa editorial 4:5 de una composicin de materiales colombianos contemporneos: madera natural clara, lino marfil, fique tejido, palma n…
tropical leaves moving in the breeze side to side, up close shot, photorealistic
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_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.

