46transform: scaleX(1);
47transform-origin: center;
48background-image: linear-gradient(45deg, #ff6b6b, #feca57, #48dbfb, #ff9ff3);
49background-clip: text;
50background-size: 300% 300%;
immaculateTanMooseREADME.md1 match
3This is a lightweight Blob Admin interface to view and debug your Blob data.
45
67## Installation
sanguineAquaReptileREADME.md1 match
3This is a lightweight Blob Admin interface to view and debug your Blob data.
45
67## Installation
passionateScarletPrawnmain.tsx26 matches
2627if (!response.ok) {
28throw new Error("Failed to generate image");
29}
3040return (
41<div className="container">
42<h1>AI Image Generator</h1>
43<form onSubmit={handleSubmit}>
44<textarea
45value={prompt}
46onChange={(e) => setPrompt(e.target.value)}
47placeholder="Enter your image prompt here..."
48required
49/>
58</div>
59<button type="submit" disabled={isLoading}>
60{isLoading ? "Generating..." : "Generate Image"}
61</button>
62</form>
64{result && (
65<div className="result">
66<img src={result.imageUrl} alt="Generated image" />
67<p>Image saved as: {result.savedUrl}</p>
68</div>
69)}
94<meta charset="UTF-8">
95<meta name="viewport" content="width=device-width, initial-scale=1.0">
96<title>AI Image Generator</title>
97<style>${css}</style>
98</head>
174if (resultData.status === "succeeded") {
175console.log("Generation succeeded!");
176let imageUrl: string | undefined;
177178if (Array.isArray(resultData.output)) {
179imageUrl = resultData.output[0];
180} else if (typeof resultData.output === "string") {
181imageUrl = resultData.output;
182}
183184if (imageUrl) {
185const { blob } = await import("https://esm.town/v/std/blob");
186const timestamp = new Date().getTime();
187const imageName = `generated-image-${timestamp}.jpg`;
188189const imageResponse = await fetch(imageUrl);
190if (!imageResponse.ok) throw new Error("Failed to download image");
191192const imageBlob = await imageResponse.blob();
193await blob.set(imageName, imageBlob);
194195return new Response(JSON.stringify({ imageUrl, savedUrl: imageName }), {
196headers: { "Content-Type": "application/json" },
197});
199}
200} else {
201console.log("Using Val Town's free image generator...");
202const imageUrl = `https://maxm-imggenurl.web.val.run/${encodeURIComponent(prompt)}`;
203204const { blob } = await import("https://esm.town/v/std/blob");
205const timestamp = new Date().getTime();
206const imageName = `generated-image-${timestamp}.jpg`;
207208const imageResponse = await fetch(imageUrl);
209if (!imageResponse.ok) throw new Error("Failed to generate image");
210211const imageBlob = await imageResponse.blob();
212await blob.set(imageName, imageBlob);
213214return new Response(JSON.stringify({ imageUrl, savedUrl: imageName }), {
215headers: { "Content-Type": "application/json" },
216});
217}
218219return new Response(JSON.stringify({ error: "Failed to generate image" }), {
220status: 500,
221headers: { "Content-Type": "application/json" },
laudableFuchsiaMastodonmain.tsx32 matches
8const [isLoading, setIsLoading] = useState(false);
9const [error, setError] = useState("");
10const [imageUrl, setImageUrl] = useState("");
1112const handleSubmit = async (e: React.FormEvent) => {
14setIsLoading(true);
15setError("");
16setImageUrl("");
1718try {
2425if (!response.ok) {
26throw new Error("Failed to generate image");
27}
2829const data = await response.json();
30setImageUrl(data.imageUrl);
31} catch (err) {
32setError(err.message);
38return (
39<div className="container">
40<h1>AI Image Generator</h1>
41<form onSubmit={handleSubmit}>
42<textarea
43value={prompt}
44onChange={(e) => setPrompt(e.target.value)}
45placeholder="Enter your image prompt here..."
46required
47/>
56</div>
57<button type="submit" disabled={isLoading}>
58{isLoading ? "Generating..." : "Generate Image"}
59</button>
60</form>
61{error && <p className="error">{error}</p>}
62{imageUrl && (
63<div className="image-container">
64<img src={imageUrl} alt="Generated" />
65</div>
66)}
142if (resultData.status === "succeeded") {
143console.log("Generation succeeded!");
144let imageUrl: string | undefined;
145146if (Array.isArray(resultData.output)) {
147imageUrl = resultData.output[0];
148} else if (typeof resultData.output === "string") {
149imageUrl = resultData.output;
150}
151152if (imageUrl) {
153const { blob } = await import("https://esm.town/v/std/blob");
154const timestamp = new Date().getTime();
155const imageName = `generated-image-${timestamp}.jpg`;
156157const imageResponse = await fetch(imageUrl);
158if (!imageResponse.ok) throw new Error("Failed to download image");
159160const imageBlob = await imageResponse.blob();
161await blob.set(imageName, imageBlob);
162163return new Response(JSON.stringify({ imageUrl, savedUrl: imageName }), {
164headers: { "Content-Type": "application/json" },
165});
167}
168} else {
169console.log("Using Val Town's free image generator...");
170const imageUrl = `https://maxm-imggenurl.web.val.run/${encodeURIComponent(prompt)}`;
171172const { blob } = await import("https://esm.town/v/std/blob");
173const timestamp = new Date().getTime();
174const imageName = `generated-image-${timestamp}.jpg`;
175176const imageResponse = await fetch(imageUrl);
177if (!imageResponse.ok) throw new Error("Failed to generate image");
178179const imageBlob = await imageResponse.blob();
180await blob.set(imageName, imageBlob);
181182return new Response(JSON.stringify({ imageUrl, savedUrl: imageName }), {
183headers: { "Content-Type": "application/json" },
184});
185}
186187return new Response(JSON.stringify({ error: "Failed to generate image" }), {
188status: 500,
189headers: { "Content-Type": "application/json" },
197<meta charset="UTF-8">
198<meta name="viewport" content="width=device-width, initial-scale=1.0">
199<title>AI Image Generator</title>
200<style>${css}</style>
201</head>
280}
281282.image-container {
283margin-top: 20px;
284text-align: center;
285}
286287.image-container img {
288max-width: 100%;
289border-radius: 4px;
shirtGenScriptmain.tsx19 matches
64if (resultData.status === "succeeded") {
65console.log("Generation succeeded!");
66let imageUrl: string | undefined;
6768if (Array.isArray(resultData.output)) {
69imageUrl = resultData.output[0];
70} else if (typeof resultData.output === "string") {
71imageUrl = resultData.output;
72}
7374if (imageUrl) {
75const { blob } = await import("https://esm.town/v/std/blob");
76const timestamp = new Date().getTime();
77const imageName = `generated-image-${timestamp}.jpg`;
7879const imageResponse = await fetch(imageUrl);
80if (!imageResponse.ok) throw new Error("Failed to download image");
8182const imageBlob = await imageResponse.blob();
83await blob.set(imageName, imageBlob);
8485return new Response(JSON.stringify({ imageUrl, savedUrl: imageName }), {
86headers: { "Content-Type": "application/json" },
87});
89}
90} else {
91console.log("Using Val Town's free image generator...");
92const imageUrl = `https://maxm-imggenurl.web.val.run/${encodeURIComponent(prompt)}`;
9394const { blob } = await import("https://esm.town/v/std/blob");
95const timestamp = new Date().getTime();
96const imageName = `generated-image-${timestamp}.jpg`;
9798const imageResponse = await fetch(imageUrl);
99if (!imageResponse.ok) throw new Error("Failed to generate image");
100101const imageBlob = await imageResponse.blob();
102await blob.set(imageName, imageBlob);
103104return new Response(JSON.stringify({ imageUrl, savedUrl: imageName }), {
105headers: { "Content-Type": "application/json" },
106});
107}
108109return new Response(JSON.stringify({ error: "Failed to generate image" }), {
110status: 500,
111headers: { "Content-Type": "application/json" },
xmasRedHamstermain.tsx9 matches
1112try {
13const imageUrl = await getMostPopularPinterestImage(query);
14return new Response(JSON.stringify({ image: imageUrl }), {
15headers: {
16"Content-Type": "application/json",
26}
2728async function getMostPopularPinterestImage(query: string): Promise<string> {
29const searchUrl = `https://api.pinterest.com/v5/search/pins?query=${encodeURIComponent(query)}&page_size=50&sort_order=popularity`;
30const response = await fetch(searchUrl, {
46const mostPopularPin = sortedPins[0];
4748if (mostPopularPin.images) {
49// Get the largest available image
50const images = mostPopularPin.images;
51const largestImage = images[images.length - 1];
52return largestImage.url;
53}
54}
5556throw new Error("No popular image found");
57}
generateframeImageREADME.md1 match
1# Gathers information and returns an image of this val
23### Why
generateframeImagemain.tsx10 matches
142}
143144async function generateImage(html: string): Promise<Response> {
145const apiKey = Deno.env.get("API_FLASH_KEY");
146const encodedHtml = encodeURIComponent(html);
147const url =
148`https://api.apiflash.com/v1/urltoimage?access_key=${apiKey}&url=https://michaelwschultz-generateframeimage.web.val.run&width=800&height=480&format=png&fresh=true`;
149150try {
155return response;
156} catch (error) {
157console.error("Error generating image:", error);
158return new Response("Failed to generate image", { status: 500 });
159}
160}
162export default async function(req: Request) {
163const url = new URL(req.url);
164const isImageRequest = url.searchParams.get("generate") === "image";
165166const latitude = 37.5296;
170const html = renderToString(<WeatherDisplay weather={weather} />);
171172if (isImageRequest) {
173const imageResponse = await generateImage(html);
174return new Response(imageResponse.body, {
175status: imageResponse.status,
176headers: {
177"Content-Type": "image/png",
178"Cache-Control": "no-store, max-age=0",
179},
falDemoAppmain.tsx14 matches
7function App() {
8const [prompt, setPrompt] = useState("");
9const [imageUrl, setImageUrl] = useState("");
10const [loading, setLoading] = useState(false);
1112const generateImage = async (e?: React.FormEvent) => {
13e?.preventDefault();
14setLoading(true);
21input: {
22prompt,
23image_size: "landscape_4_3",
24num_inference_steps: 4,
25num_images: 1,
26enable_safety_checker: true,
27sync_mode: true,
28},
29});
30setImageUrl(result.data.images[0].url);
31} catch (error) {
32console.error("Error generating image:", error);
33} finally {
34setLoading(false);
39<div className="min-h-screen bg-black text-white py-12 px-4 sm:px-6 lg:px-8">
40<div className="max-w-3xl mx-auto">
41<h1 className="text-4xl font-bold text-center mb-8">Fal AI Image Generator</h1>
42<div className="bg-gray-900 rounded-lg p-6 mb-8 shadow-lg">
43<form className="flex flex-col sm:flex-row gap-4" onSubmit={generateImage}>
44<input
45type="text"
46value={prompt}
47onChange={(e) => setPrompt(e.target.value)}
48placeholder="Enter your image prompt"
49className="flex-grow px-4 py-2 bg-gray-800 border border-gray-700 rounded-md focus:ring-2 focus:ring-blue-500 focus:border-transparent"
50/>
51<button
52onClick={generateImage}
53disabled={loading || !prompt}
54className={`px-6 py-2 rounded-md text-white font-medium transition-colors duration-200 ${
80)
81: (
82"Generate Image"
83)}
84</button>
85</form>
86</div>
87{imageUrl && (
88<div className="bg-gray-900 rounded-lg overflow-hidden shadow-lg">
89<img src={imageUrl} alt="Generated image" className="w-full h-auto" />
90</div>
91)}
118<meta charset="UTF-8">
119<meta name="viewport" content="width=device-width, initial-scale=1.0">
120<title>Fal AI Image Generator</title>
121<script src="https://cdn.tailwindcss.com"></script>
122<style>